Compartilhar via


D1194: Flush Outstanding DC

É inválido chamar Flush ou EndDraw entre um par GetDC/ReleaseDC.

 

Possíveis causas

Ao usar um rendertarget interoperado de GDI, um aplicativo pode controlar a propriedade do DC do destino usando IGdiInteropRenderTarget::GetDC ou IGdiInteropRenderTarget::ReleaseDC. No entanto, não é válido chamar ID2D1RenderTarget::Flush ou ID2D1RenderTarget::EndDraw enquanto o aplicativo tem o controle do DC. Flush e EndDraw podem fazer com que a renderização ocorra no recurso de destino, e Direct2D não deve tentar modificar o recurso ao mesmo tempo que o aplicativo.

Possíveis correções

Para abordar essa mensagem, verifique se o aplicativo não chama ID2D1RenderTarget::Flush ou ID2D1RenderTarget::EndDraw enquanto ele tem a propriedade de um DC de IGdiInteropRenderTarget. Se possível, organize o aplicativo para separar seu comportamento de renderização Direct2D de seu comportamento de GDI para tornar a distinção da propriedade dc mais clara.