Что означает код HRESULT 0x88990017 (D2DERR_RENDER_TARGET_HAS_LAYER_OR_CLIPRECT)?

 
Предыдущий Следующий
D2DERR_PUSH_POP_UNBALANCED D2DERR_INCOMPATIBLE_BRUSH_TYPES

D2DERR_RENDER_TARGET_HAS_LAYER_OR_CLIPRECT

Что означает D2DERR_RENDER_TARGET_HAS_LAYER_OR_CLIPRECT

D2DERR_RENDER_TARGET_HAS_LAYER_OR_CLIPRECT (0x88990017) возвращается при попытке копировать из render target, на котором всё ещё применён layer или clip rectangle.

Что проверить

  • Зафиксируйте активные PushLayer/PushAxisAlignedClip непосредственно перед CopyFromRenderTarget или аналогичной copy operation.
  • Снимите их в правильном LIFO-порядке до копирования; пересоздание target обычно не требуется, если проблема только в drawing state.
  • Если состояние неожиданно сохраняется между ветвями, проверьте ранние выходы и error paths, где pop не выполняется.

Как подтвердить исправление

Copy operation должна выполняться на том же target после полного закрытия layer/clip stack.

Технические ссылки


Нужно найти другой код? Найти другой код состояния или ошибки.