如果函数成功,则返回值是新创建的DIB的句柄,*ppvBits指向位图位值。 如果函数失败,则返回值为空,*ppvBits为空。
然而,在此之后,它直接指出:
此函数可以返回以下值..。ERROR_INVALID_PARAMETER
所以,最后一句是什么意思?我很难想象它真的会返回这个值(可能它实际上调用了SetLastError)。这是有详细记录的地方吗?
发布于 2016-11-28 15:10:58
这只是当前版本的文档中的一个错误!
CreateDIBSection总是返回一个HBITMAP。如果函数失败,它将返回0 (NULL),您可以调用GetLastError。GetLastError将返回ERROR_INVALID_PARAMETER。
这是所有GDI函数工作的标准方式,更不用说函数不可能同时返回NULL和错误代码这一事实。我还为这个函数挖掘了MSDN文档的旧版本(大约在2008年左右),它证实了当前版本的在线文档确实是错误的:

https://stackoverflow.com/questions/40847415
复制相似问题