D1194: 플러시 미해결 DC

GetDC/ReleaseDC 쌍 간에 Flush 또는 EndDraw를 호출하는 것은 잘못된 것입니다.

 

가능한 원인

GDI 상호 운용 렌더 대상을 사용하는 동안 애플리케이션은 IGdiInteropRenderTarget::GetDC 또는 IGdiInteropRenderTarget::ReleaseDC를 사용하여 대상의 DC 소유권을 제어할 수 있습니다. 그러나 애플리케이션이 DC를 제어하는 동안 ID2D1RenderTarget::Flush 또는 ID2D1RenderTarget::EndDraw를 호출하는 것은 유효하지 않습니다. Flush 및 EndDraw는 대상 리소스에서 렌더링을 발생시킬 수 있으며 Direct2D는 애플리케이션과 동시에 리소스를 수정하려고 시도해서는 안 됩니다.

가능한 수정 사항

이 메시지를 해결하려면 애플리케이션이 IGdiInteropRenderTarget의 DC 소유권이 있는 동안 ID2D1RenderTarget::Flush 또는 ID2D1RenderTarget::EndDraw를 호출하지 않는지 확인합니다. 가능하면 애플리케이션을 구성하여 Direct2D 렌더링 동작을 GDI 동작과 분리하여 DC 소유권을 더 명확하게 구분합니다.