Bagikan melalui


D1194: Membersihkan DC yang Luar Biasa

Ini tidak valid untuk memanggil Flush atau EndDraw di antara pasangan GetDC/ReleaseDC.

 

Kemungkinan Penyebabnya

Saat menggunakan rendertarget interoperabilitas GDI, aplikasi dapat mengontrol kepemilikan DC target menggunakan IGdiInteropRenderTarget::GetDC atau IGdiInteropRenderTarget::ReleaseDC. Namun, tidak valid untuk memanggil ID2D1RenderTarget::Flush atau ID2D1RenderTarget::EndDraw sementara aplikasi memiliki kontrol DC. Flush dan EndDraw dapat menyebabkan penyajian terjadi pada sumber daya target, dan Direct2D tidak boleh mencoba memodifikasi sumber daya secara bersamaan dengan aplikasi.

Kemungkinan Perbaikan

Untuk mengatasi pesan ini, pastikan bahwa aplikasi tidak memanggil ID2D1RenderTarget::Flush atau ID2D1RenderTarget::EndDraw saat memiliki kepemilikan DC IGdiInteropRenderTarget. Jika memungkinkan, atur aplikasi untuk memisahkan perilaku penyajian Direct2D dari perilaku GDI-nya untuk membuat perbedaan kepemilikan DC lebih jelas.