2016-05-10 24 views
0

MSDNによれば、GetObjectは失敗した場合に0を返します。障害に関する追加情報を得る方法は述べていません。GetObjectが失敗した理由を調べるには?

私はGetLastErrorを試しましたが、以前の失敗を反映しておらず、0(つまりERROR_SUCCESS)を返します。

GetObjectが失敗した場合の失敗の理由を教えてください。

+1

ドキュメントによると、詳細な理由はないと思います。失敗した場合は0を返します。 –

答えて

2

文書によれば、GetObjectは最後のエラーコードを設定しません。あなたは簡単に間違っているパラメータ、推測することができるので、これは、いずれかの必要はありません。

GetObjectへの呼び出しがlpvObjectためNULLを渡して失敗した場合、あなたはハンドルが間違っている知っている(どちらかもはやオブジェクトへのハンドル存在しないか、サポートされていないタイプのものです)。

前の呼び出しが成功し、同じGDIオブジェクトハンドルを持つ次の呼び出しが失敗した場合は、不適当なバッファを渡していることがわかります(小さすぎるか、または4バイト境界で正しく整列していません)。

関連する問題