CreateDIBSection:返回值与错误

时间:2016-11-28 15:04:03

标签: windows winapi

The documentation of CreateDIBSection州:

  

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

     

如果函数失败,则返回值为NULL,* ppvBits为NULL。

然而,在此之后,它说:

  

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

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

1 个答案:

答案 0 :(得分:6)

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

CreateDIBSection始终返回HBITMAP。如果函数失败,则它将返回0(NULL),您可以调用GetLastErrorGetLastError将返回ERROR_INVALID_PARAMETER

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