2016-05-10 58 views
0

根据MSDN,GetObject在失败时返回0。它没有说如何获得关于失败的更多信息。如何找出GetObject失败的原因?

我试过GetLastError,但看起来它并不反映之前的失败并返回0(即ERROR_SUCCESS)。

GetObject失败时,如何得到失败原因?

+1

根据文档,我不认为它给出了详细的原因。它只在失败时返回0。 –

回答

2

根据文档GetObject不会设置最后的错误代码。这是没有必要的,因为相关,你可以很容易地推断出,该参数是错误的:

如果到GetObject呼叫失败传递NULLlpvObject,你知道的手柄是错误的(或者是对象句柄不再是那个存在或者是不受支持的类型)。

如果上一次调用成功,并且具有相同GDI对象句柄的后续调用失败,则您知道正在传递不适当的缓冲区(或者太小,或者没有在4字节边界上正确对齐)。