Site icon EfmSoft

What does HRESULT 0x88980801 (DCOMPOSITION_ERROR_SURFACE_BEING_RENDERED) mean?

 
Previous Next
DCOMPOSITION_ERROR_WINDOW_ALREADY_COMPOSED DCOMPOSITION_ERROR_SURFACE_NOT_BEING_RENDERED

DCOMPOSITION_ERROR_SURFACE_BEING_RENDERED

What Windows rejected: surface being rendered

DCOMPOSITION_ERROR_SURFACE_BEING_RENDERED, value 0x88980801, is produced by dcomp when a new rendering operation was requested while BeginDraw state was already active for the surface. The investigation should stay attached to DirectComposition surface update lifetime and to the exact generation in which it was obtained.

Build a useful diagnostic record

Capture itemWhy it matters
Current graph stateDirectComposition device, target, visual tree and surface update transaction
Supporting traceBeginDraw/EndDraw or target-creation sequence, Commit result, HWND ownership and CheckDeviceState output
Object identityDirectComposition surface update lifetime
Rejected conditiona new rendering operation was requested while BeginDraw state was already active for the surface
What to capturesurface identity, BeginDraw/EndDraw pairs, update rectangle, drawing thread and exception paths

Separate state from capability

  1. Call BeginDraw twice without the matching EndDraw and compare with a balanced update.

The comparison with DCOMPOSITION_ERROR_SURFACE_NOT_BEING_RENDERED is especially useful: DCOMPOSITION_ERROR_SURFACE_NOT_BEING_RENDERED is the opposite imbalance.

Verify the repaired path

Serialize surface updates and guarantee EndDraw through structured cleanup before beginning another frame.

  • debug-layer, ETW or driver diagnostics no longer report the rejected DirectComposition surface update lifetime contract during the same scenario.

Technical references


Looking for a different code? Search another status or error code.

Exit mobile version