¿Qué significa el código HRESULT 0x88990021 (D2DERR_BITMAP_CANNOT_DRAW)?

 
Anterior Siguiente
D2DERR_CYCLIC_GRAPH D2DERR_OUTSTANDING_BITMAP_REFERENCES

D2DERR_BITMAP_CANNOT_DRAW

Qué significa D2DERR_BITMAP_CANNOT_DRAW

D2DERR_BITMAP_CANNOT_DRAW (-2003238879, 0x88990021) — No se puede dibujar con un mapa de bits que tenga la opción D2D1_BITMAP_OPTIONS_CANNOT_DRAW.

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 bitmap creado con opciones que no permiten dibujarlo en esa ruta. Captura bitmap options, pixel format, alpha mode, device y operación DrawBitmap/DrawImage. Recrea el recurso con flags compatibles o usa la ruta prevista para CPU/readback; cambiar solo el brush no afecta la capability del bitmap.

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.