¿Qué significa el código HRESULT 0x88990024 (D2DERR_INVALID_TARGET)?

 
Anterior Siguiente
D2DERR_ORIGINAL_TARGET_NOT_BOUND D2DERR_BITMAP_BOUND_AS_TARGET

D2DERR_INVALID_TARGET

Qué significa D2DERR_INVALID_TARGET

D2DERR_INVALID_TARGET (-2003238876, 0x88990024) — La imagen no puede establecerse como destino porque es un efecto o un mapa de bits sin la opción D2D1_BITMAP_OPTIONS_TARGET.

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 objeto seleccionado como render target que no es válido para la operación. Captura target actual, bitmap/surface backing, device context y flags. Vuelve a enlazar un target compatible y repite antes de dibujar; no continúes usando un target invalidado por resize/device loss.

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.

No confundir con un resultado cercano

D2DERR_RECREATE_TARGET se aísla por render target perdido y que debe recrearse. Aquí debe demostrarse objeto seleccionado como render target que no es válido para la operación; son fronteras distintas aunque ambas aparezcan en el mismo render loop.

Referencias técnicas


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