What does HRESULT 0x887A0023 (DXGI_ERROR_REMOTE_CLIENT_DISCONNECTED) mean?

 
Previous Next
DXGI_ERROR_NOT_CURRENTLY_AVAILABLE DXGI_ERROR_REMOTE_OUTOFMEMORY

DXGI_ERROR_REMOTE_CLIENT_DISCONNECTED

Locate the failing graphics boundary: remote client disconnected

Windows reports DXGI_ERROR_REMOTE_CLIENT_DISCONNECTED (0x887A0023) at the dxgi error checkpoint. Here, the remote adapter backing the Direct3D device disappeared because the interactive or network session disconnected. That narrows the first investigation to remote graphics device lifetime instead of the entire GPU stack.

Do not erase all shader caches or recreate every graphics object before preserving the first failing call. Cache, policy, remote-session and device-lifetime failures have different recovery rules.

Evidence that makes the result actionable

Capture itemWhy it matters
Supporting traceDXGI debug messages, adapter LUID, driver version, device-removal reason where applicable and the exact API parameters
Object identityremote graphics device lifetime
Rejected conditionthe remote adapter backing the Direct3D device disappeared because the interactive or network session disconnected
What to capturesession connect/disconnect events, adapter enumeration, factory currency, device-removed reason and remote transport state
Current graph stateDXGI factory, adapter, device, resource or cache session

A controlled comparison

  1. Capture the failing state. Record session connect/disconnect events, adapter enumeration, factory currency, device-removed reason and remote transport state.
  2. Disconnect and reconnect a test remote session while preserving CPU-side application state.

The comparison with DXGI_ERROR_REMOTE_OUTOFMEMORY is especially useful: DXGI_ERROR_REMOTE_OUTOFMEMORY keeps the session context but removes the device because the remote host exhausted memory.

Correction and proof

Release the remote device, wait until IDXGIFactory1::IsCurrent indicates fresh topology, then enumerate and recreate resources.

  • debug-layer, ETW or driver diagnostics no longer report the rejected remote graphics device lifetime contract during the same scenario.

Implementation notes

Log DXGI debug messages, adapter LUID, driver version, device-removal reason where applicable and the exact API parameters.

Technical references


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