Delen via


D1194: Flush Outstanding DC

Het is ongeldig om Flush of EndDraw aan te roepen tussen een GetDC-/ReleaseDC-paar.

 

Mogelijke oorzaken

Tijdens het gebruik van een met GDI samenwerkende rendertarget kan een toepassing het eigendom van de dc van het doel beheren met behulp van IGdiInteropRenderTarget::GetDC of IGdiInteropRenderTarget::ReleaseDC. Het is echter niet geldig om ID2D1RenderTarget::Flush of ID2D1RenderTarget::EndDraw aan te roepen terwijl de toepassing controle over de DC heeft. Leegmaken en EndDraw kan ertoe leiden dat de rendering op de doelresource plaatsvindt. Direct2D mag niet proberen de resource op hetzelfde moment als de toepassing te wijzigen.

Mogelijke oplossingen

Als u dit bericht wilt oplossen, moet u ervoor zorgen dat de toepassing id2D1RenderTarget::Flush of ID2D1RenderTarget::EndDraw niet aanroept terwijl deze eigenaar is van een DC van IGdiInteropRenderTarget. Organiseer de toepassing indien mogelijk om het Direct2D-renderinggedrag te scheiden van het GDI-gedrag om het onderscheid tussen DC-eigendom duidelijker te maken.