¿Qué significa el código HRESULT 0x88980801 (DCOMPOSITION_ERROR_SURFACE_BEING_RENDERED)?

 
Anterior Siguiente
DCOMPOSITION_ERROR_WINDOW_ALREADY_COMPOSED DCOMPOSITION_ERROR_SURFACE_NOT_BEING_RENDERED

DCOMPOSITION_ERROR_SURFACE_BEING_RENDERED

Qué significa DCOMPOSITION_ERROR_SURFACE_BEING_RENDERED

DCOMPOSITION_ERROR_SURFACE_BEING_RENDERED (-2003302399, 0x88980801) — La superficie de DirectComposition 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 surface DirectComposition ya está dentro de un BeginDraw activo. Registra surface, update rect, thread y owner del BeginDraw. Empareja EndDraw antes de iniciar otra renderización y bloquea reentrancia; BeginDraw anidado sobre la misma surface viola lifecycle.

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.