Freigeben über


D1194: Flush Outstanding DC

Es ist ungültig, flush oder EndDraw zwischen einem GetDC/ReleaseDC-Paar aufzurufen.

 

Mögliche Ursachen

Bei Verwendung eines interoperierten GDI-Rendertargets kann eine Anwendung den Besitz der Ziel-DC mithilfe von IGdiInteropRenderTarget::GetDC oder IGdiInteropRenderTarget::ReleaseDC steuern. Es ist jedoch nicht gültig, ID2D1RenderTarget::Flush oder ID2D1RenderTarget::EndDraw aufzurufen, während die Anwendung die Steuerung des DC hat. Flush und EndDraw können dazu führen, dass das Rendering in der Zielressource erfolgt, und Direct2D sollte nicht versuchen, die Ressource gleichzeitig mit der Anwendung zu ändern.

Mögliche Korrekturen

Um diese Nachricht zu adressieren, stellen Sie sicher, dass die Anwendung id2D1RenderTarget::Flush oder ID2D1RenderTarget::EndDraw nicht aufruft, während sie den Besitz der DC eines IGdiInteropRenderTarget hat. Ordnen Sie die Anwendung nach Möglichkeit so an, dass das Direct2D-Renderingverhalten vom GDI-Verhalten getrennt wird, um die Unterscheidung des DC-Besitzes klarer zu machen.