1
我使用CreateDIBSection()
從緩衝區創建HBITMAP,但有時 - 沒有經常發生 - 我從它得到一個NULL指針。我不明白是什麼可能導致函數返回一個空指針,因爲 - 正如我之前所說 - 這是不規則的。有時會在顯示10幀後發生,有時會在2幀後發生。 有人能解釋我哪些是意外失敗的可能原因?Windows GDI上下文 - CreateDIBSection
我使用CreateDIBSection()
從緩衝區創建HBITMAP,但有時 - 沒有經常發生 - 我從它得到一個NULL指針。我不明白是什麼可能導致函數返回一個空指針,因爲 - 正如我之前所說 - 這是不規則的。有時會在顯示10幀後發生,有時會在2幀後發生。 有人能解釋我哪些是意外失敗的可能原因?Windows GDI上下文 - CreateDIBSection
如果此函數隨機失敗,我會傾向於認爲緩衝區格式不正確或混亂。回到創建緩衝區的代碼中,看看是否有任何函數在那裏失效。在代碼繼續之前,我會懷疑函數返回狀態沒有被正確檢查。
GetLastError()在失敗時返回什麼? –
@Alan GetLastError沒有爲'CreateDIBSection'設置。至少不是根據文檔。 –
@David文檔有點不清楚 - 它表示函數返回NULL表示失敗,並且它可以「返回」ERROR_INVALID_PARAMETER。 –