D1194:Flush Outstanding DC
在 GetDC/ReleaseDC 配對之間呼叫 Flush 或 EndDraw 是不正確。
可能的原因
使用 GDI 交互操作的 rendertarget 時,應用程式可以使用 IGdiInteropRenderTarget::GetDC 或 IGdiInteropRenderTarget::ReleaseDC 來控制目標 DC 的擁有權。 不過,當應用程式控制 DC 時,呼叫 ID2D1RenderTarget::Flush 或 ID2D1RenderTarget::EndDraw 並無效。 Flush 和 EndDraw 可能會導致轉譯發生在目標資源上,而 Direct2D 不應該嘗試與應用程式同時修改資源。
可能的修正
若要解決此訊息,請確定應用程式在 IGdiInteropRenderTarget 的 DC 擁有權時,不會呼叫 ID2D1RenderTarget::Flush 或 ID2D1RenderTarget::EndDraw。 可能的話,組織應用程式將其 Direct2D 轉譯行為與其 GDI 行為分開,以更清楚區分 DC 擁有權。