¿Qué significa el código HRESULT 0x88990022 (D2DERR_OUTSTANDING_BITMAP_REFERENCES)?

 
Anterior Siguiente
D2DERR_BITMAP_CANNOT_DRAW D2DERR_ORIGINAL_TARGET_NOT_BOUND

D2DERR_OUTSTANDING_BITMAP_REFERENCES

Qué significa D2DERR_OUTSTANDING_BITMAP_REFERENCES

D2DERR_OUTSTANDING_BITMAP_REFERENCES (-2003238878, 0x88990022) — La operación no puede completarse mientras existan referencias activas al mapa de bits de destino.

Render targets y bitmaps tienen roles y lifetimes concretos. Un bitmap que sirve como target, una superficie GDI o un target perdido no puede usarse indistintamente como fuente; la operación exacta y el binding actual son parte del diagnóstico.

Qué demuestra este HRESULT

La condición específica es referencias a bitmaps impiden completar una operación de resource domain. Enumera objetos que mantienen referencias al bitmap/device context y su lifetime. Libera wrappers/caches en orden y comprueba que no sobreviven callbacks; forzar la destrucción del device puede convertirlo en una fuga recurrente.

Conserva binding y generación del target

Registra SetTarget, BeginDraw/EndDraw y cualquier recreate/resize junto con un generation ID. Los recursos dependientes deben pertenecer al target/device actual; una referencia COM que sigue viva después de device loss no garantiza que siga siendo utilizable.

Referencias técnicas


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