Udostępnij przez


D1194: Opróżnij zaległy kontroler domeny

Wywołanie funkcji Flush lub EndDraw między parą GetDC/ReleaseDC jest nieprawidłowe.

 

Możliwe przyczyny

Podczas korzystania z międzyoperacjonowanego elementu rendertarget GDI aplikacja może kontrolować własność kontrolera domeny obiektu docelowego przy użyciu elementu IGdiInteropRenderTarget::GetDC lub IGdiInteropRenderTarget::ReleaseDC. Jednak wywołanie identyfikatora ID2D1RenderTarget::Flush lub ID2D1RenderTarget::EndDraw, podczas gdy aplikacja ma kontrolę nad kontrolerem domeny. Opróżnianie i endDraw może spowodować wystąpienie renderowania w zasobie docelowym, a direct2D nie powinno próbować modyfikować zasobu w tym samym czasie co aplikacja.

Możliwe poprawki

Aby rozwiązać ten komunikat, upewnij się, że aplikacja nie wywołuje identyfikatora ID2D1RenderTarget::Flush lub ID2D1RenderTarget::EndDraw, gdy ma własność kontrolera domeny IGdiInteropRenderTarget. Jeśli to możliwe, organizuj aplikację, aby oddzielić zachowanie renderowania Direct2D od zachowania interfejsu GDI w celu wyczyszczenia rozróżnienia własności kontrolera domeny.