| 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
- Microsoft Learn: documentación oficial de Direct2D relacionada con este resultado
- Microsoft Learn: documentación oficial de Direct2D relacionada con este resultado
- Microsoft Learn: documentación oficial de Direct2D relacionada con este resultado
- Microsoft Learn: documentación oficial de Direct2D relacionada con este resultado
¿Buscas un código diferente? Buscar otro código de estado o error.
