D1194: Flush Outstanding DC

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

 

Mögliche Ursachen

Bei Verwendung eines GDI-interoperierten Rendertargets kann eine Anwendung den Besitz des 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 Kontrolle über den DC hat. Flush und EndDraw können das Rendern auf der Zielressource verursachen, und Direct2D sollte nicht versuchen, die Ressource gleichzeitig mit der Anwendung zu ändern.

Mögliche Korrekturen

Um diese Nachricht zu beheben, stellen Sie sicher, dass die Anwendung ID2D1RenderTarget::Flush oder ID2D1RenderTarget::EndDraw nicht aufruft, während sie den Besitz eines IGdiInteropRenderTarget-DC besitzt. Organisieren Sie nach Möglichkeit die Anwendung so, dass sie ihr Direct2D-Renderingverhalten von ihrem GDI-Verhalten trennt, um die Unterscheidung des DC-Besitzes klarer zu machen.