D1187:在未完成 Dc 上调用 SetTarget

GetDC/ReleaseDC 对之间调用了 SetTarget

 

可能的原因

应用程序获取 ID2D1GdiInteropRenderTarget 并调用其 GetDC 方法,然后在调用 ReleaseDC 之前调用 FlushEndDraw

可能的修复方法

确保应用程序在调用 FlushEndDraw 之前调用 ReleaseDC,并且每次调用 ReleaseDC 都与之前对 GetDC 的调用匹配。 如果应用程序当前正在使用 GDI 设备上下文,则 Direct2D 不会尝试对 GDI 目标资源进行操作。