¿Qué significa el código HRESULT 0x88990013 (D2DERR_LAYER_ALREADY_IN_USE)?

 
Anterior Siguiente
D2DERR_WRONG_FACTORY D2DERR_POP_CALL_DID_NOT_MATCH_PUSH

D2DERR_LAYER_ALREADY_IN_USE

Qué significa D2DERR_LAYER_ALREADY_IN_USE

D2DERR_LAYER_ALREADY_IN_USE (-2003238893, 0x88990013) — Un recurso de capa no puede usarse más de una vez al mismo tiempo.

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 layer ya activo o asociado a otra operación incompatible. Registra layer object, target y pila de PushLayer vigente. Cada push debe tener ownership claro y su pop correspondiente antes de reutilizar el layer en otro contexto.

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.