Compartir a través de


D1194: Flush Outstanding DC

No es válido llamar a Flush o EndDraw entre un par GetDC/ReleaseDC.

 

Causas posibles

Mientras se usa un rendertarget interoperado de GDI, una aplicación puede controlar la propiedad del controlador de dominio del destino mediante IGdiInteropRenderTarget::GetDC o IGdiInteropRenderTarget::ReleaseDC. Sin embargo, no es válido llamar a ID2D1RenderTarget::Flush o ID2D1RenderTarget::EndDraw mientras la aplicación tiene el control del controlador de dominio. Flush y EndDraw pueden hacer que la representación se produzca en el recurso de destino y Direct2D no debe intentar modificar el recurso al mismo tiempo que la aplicación.

Posibles correcciones

Para solucionar este mensaje, asegúrese de que la aplicación no llama a ID2D1RenderTarget::Flush o ID2D1RenderTarget::EndDraw mientras tiene la propiedad de un controlador de dominio de IGdiInteropRenderTarget. Si es posible, organice la aplicación para separar su comportamiento de representación de Direct2D de su comportamiento GDI para que la distinción de la propiedad del controlador de dominio sea más clara.