The documentation of CreateDIBSection州:
如果函数成功,则返回值是新函数的句柄 创建了DIB,* ppvBits指向位图位值。
如果函数失败,则返回值为NULL,* ppvBits为NULL。
然而,在此之后,它说:
此函数可以返回以下值[...] ERROR_INVALID_PARAMETER
那么,最后一句是什么意思?我很难想象它真的返回那个值(可能它实际上调用了SetLastError
)。这是完全记录的吗?
答案 0 :(得分:6)
这只是当前版本文档中的一个错误!
CreateDIBSection
始终返回HBITMAP
。如果函数失败,则它将返回0(NULL
),您可以调用GetLastError
。 GetLastError
将返回ERROR_INVALID_PARAMETER
。
这是所有GDI函数工作的标准方式,更不用说函数不可能同时返回NULL
和错误代码。我还能够为此功能挖掘旧版本的MSDN文档(大约2008年),并确认当前版本的在线文档确实是错误的: