D1181:EndDraw 错误状态

调用了 EndDraw,但 rendertarget 未处于有效状态。 这可能是由于调用 EndDraw 而没有匹配的 BeginDraw 导致的。

 

可能的原因

应用程序多次调用 EndDraw,但没有在同一目标上调用 BeginDraw。 使用 Direct2D 时,应用程序应将每次调用 EndDraw 与之前对 BeginDraw 的调用匹配。 或者,如果目标处于错误状态且不可呈现,则可能会出现此消息。

可能的修复方法

确保对 BeginDraw 的每次调用都与后续的 EndDraw 匹配。 使用 Flush 或 EndDraw 将命令提交到目标时,请在尝试再次使用目标之前验证返回的结果是否S_OK。