CreateDIBSection:返回值与错误

phi*_*mue 3 windows winapi

CreateDIBSection的文档说明:

如果函数成功,则返回值是新创建的DIB的句柄,*ppvBits指向位图位值.

如果函数失败,则返回值为NULL,并且*ppvBits为NULL.

然而,在此之后,它表明:

此函数可以返回以下值[...] ERROR_INVALID_PARAMETER

那么,最后一句话是什么意思?我很难想象它真的会返回那个值(可能它实际上是调用SetLastError).这是完全记录的吗?

RbM*_*bMm 7

这只是当前版本文档中的错误!

CreateDIBSection总是返回HBITMAP.如果函数失败,那么它将返回0(NULL),你可以调用GetLastError.GetLastError会回来的ERROR_INVALID_PARAMETER.

这是所有GDI函数工作的标准方法,更不用说函数返回NULL 错误代码都不可能.我还能够为这个函数挖掘旧版本的MSDN文档(大约在2008年),它确认当前版本的在线文档确实是错误的:

  • 我有旧的线路MSDN 2008 - 这个功能文章的截图 - http://i.imgur.com/JV3VYcB.png (3认同)