閱讀英文

共用方式為


D1181:EndDraw 不正確的狀態

已呼叫 EndDraw,但轉譯目標不是處於有效狀態。 這可能是因為呼叫 EndDraw 而沒有相符的 BeginDraw。

 

可能的原因

應用程式對 EndDraw 進行多個呼叫,而不在相同的目標上呼叫 BeginDraw。 使用 Direct2D 時,應用程式應該比對 EndDraw 的每個呼叫與 BeginDraw 之前的呼叫。 或者,如果目標處於錯誤狀態且無法轉譯,則可能發生此訊息。

可能修正

確定每個 BeginDraw 呼叫都與後續的 EndDraw 相符。 使用 Flush 或 EndDraw 將命令提交至目標時,請先確認傳回的結果是S_OK,然後再嘗試再次使用目標。