2011-10-28 10 views
1

私はCreateDIBSection()を使用してバッファからHBITMAPを作成していますが、時には通常の発生がなく、NULLポインタを取得します。関数がNULLポインタを返す原因を理解できません。なぜなら、前に述べたように、それは規則的ではないからです。場合によっては10フレームを表示した後に、時には2フレーム後に表示することもあります。 誰かが私に説明して、予期せぬ失敗の可能性のある理由を教えてもらえますか?Windows GDI Context - CreateDIBSection

+2

「GetLastError()」は、失敗したときに何を返しますか? –

+0

@Alan GetLastErrorは、 'CreateDIBSection'には設定されていません。少なくともドキュメントによるとは限りません。 –

+0

@Davidドキュメンテーションはいくぶん不明です - 関数は失敗のためにNULLを返し、ERROR_INVALID_PARAMETERを "返す"ことができます。 –

答えて

0

この関数が無作為に失敗すると、バッファが正しくフォーマットされていないか、まちがっていると思う傾向があります。バッファを作成するコードに戻り、関数のいずれかが失敗したかどうかを確認します。コードが続行される前に関数の戻り状態が正しくチェックされていないと思われます。

関連する問題