¿Qué significa el código HRESULT 0x88980802 (DCOMPOSITION_ERROR_SURFACE_NOT_BEING_RENDERED)?

 
Anterior Siguiente
DCOMPOSITION_ERROR_SURFACE_BEING_RENDERED WINCODEC_ERR_WRONGSTATE

DCOMPOSITION_ERROR_SURFACE_NOT_BEING_RENDERED

Qué significa DCOMPOSITION_ERROR_SURFACE_NOT_BEING_RENDERED

DCOMPOSITION_ERROR_SURFACE_NOT_BEING_RENDERED (-2003302398, 0x88980802) — La superficie de DirectComposition no se está renderizando actualmente.

DirectComposition mantiene surfaces y visuals con una fase explícita de BeginDraw/EndDraw y un ownership de ventana/composición. La misma surface no puede estar simultáneamente en estados de render incompatibles.

Qué demuestra este HRESULT

La condición específica es EndDraw u operación equivalente sobre una surface sin BeginDraw activo. Traza BeginDraw/EndDraw por surface y rutas de excepción. No llame EndDraw tras un BeginDraw fallido ni desde otro owner; mantenga un scope de render explícito.

Instrumenta el scope de render de la surface

Asigna a cada surface/target un estado Idle/Rendering y registra BeginDraw/EndDraw con thread y update rect. Rechaza transiciones ilegales en la capa de aplicación; esto evita que el HRESULT aparezca tarde durante Commit.

Referencias técnicas


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