如果函数成功,返回值是新创建的DIB的句柄,*ppvBits指向位图的位值。
如果函数失败,返回值为NULL,*ppvBits也为NULL。
然而,在此之后它直接指出:
该函数可能返回以下值[...] ERROR_INVALID_PARAMETER
那么,这个最后一句话是什么意思?我几乎无法想象它确实会返回那个值(可能它实际上调用了SetLastError
)。这是否有详细的文档记录?
如果函数成功,返回值是新创建的DIB的句柄,*ppvBits指向位图的位值。
如果函数失败,返回值为NULL,*ppvBits也为NULL。
然而,在此之后它直接指出:
该函数可能返回以下值[...] ERROR_INVALID_PARAMETER
那么,这个最后一句话是什么意思?我几乎无法想象它确实会返回那个值(可能它实际上调用了SetLastError
)。这是否有详细的文档记录?
这只是当前版本文档中的错误!
CreateDIBSection
函数总是返回 HBITMAP
。如果函数失败,将会返回 0 (NULL
),您可以调用 GetLastError
。 GetLastError
将返回 ERROR_INVALID_PARAMETER
。
这是所有 GDI 函数的标准方式,更何况函数不可能同时返回 NULL
和 错误代码。我还能找到此函数的旧版 MSDN 文档(大约为2008年),它证实了当前在线文档确实存在错误: