Site icon EfmSoft

¿Qué significa el código HRESULT 0x88990017 (D2DERR_RENDER_TARGET_HAS_LAYER_OR_CLIPRECT)?

 
Anterior Siguiente
D2DERR_PUSH_POP_UNBALANCED D2DERR_INCOMPATIBLE_BRUSH_TYPES

D2DERR_RENDER_TARGET_HAS_LAYER_OR_CLIPRECT

Qué significa D2DERR_RENDER_TARGET_HAS_LAYER_OR_CLIPRECT

D2DERR_RENDER_TARGET_HAS_LAYER_OR_CLIPRECT (-2003238889, 0x88990017) — No se pueden copiar datos del destino de renderizado mientras tenga aplicada una capa o un rectángulo de recorte.

Direct2D mantiene pilas lógicas de layers y clips. Push y Pop deben estar equilibrados dentro de la misma secuencia de dibujo y sobre el mismo render target; el error suele aparecer más tarde que la llamada que rompió el balance.

Qué demuestra este HRESULT

La condición específica es operación incompatible mientras el target mantiene layer o clip activo. Registra profundidad de layer/clip y la API que requiere stack vacío. Cierra los scopes en orden antes de esa operación; no destruyas el render target para limpiar una pila mal administrada.

Instrumenta la profundidad de la pila

Incrementa un contador en cada Push y decrementa en el Pop correspondiente, incluyendo excepciones y early returns. Guarda target y tipo de entrada en cada nivel; el primer cambio que rompe la profundidad esperada suele estar antes de la API que finalmente devuelve el HRESULT.

Referencias técnicas


¿Buscas un código diferente? Buscar otro código de estado o error.

Exit mobile version