| Previous | Next |
| ERROR_GRAPHICS_MONITOR_NOT_CONNECTED | ERROR_GRAPHICS_INVALID_PRIMARYSURFACE_SIZE |
ERROR_GRAPHICS_SOURCE_NOT_IN_TOPOLOGY
Interpret the result in its owning layer: graphics source not in topology
The useful interpretation of ERROR_GRAPHICS_SOURCE_NOT_IN_TOPOLOGY (0xC0262339) starts at the vidpn boundary: the requested source ID is not used by any path in the supplied topology. In practical terms, inspect VidPN source membership before changing application-wide graphics settings.
Prove source membership from paths
Do not infer membership from the adapter source count. Enumerate the present paths of the supplied topology and match VidPnSourceId on those paths; a source can exist on the adapter while being absent from this candidate topology. Preserve the path list before mutation, then add or remove one source-target path in the test. The passing case must show the requested source in a path owned by the same topology handle.
Capture before recreating objects
| Capture item | Why it matters |
|---|---|
| Object identity | VidPN source membership |
| Rejected condition | the requested source ID is not used by any path in the supplied topology |
| What to capture | source ID, enumerated paths, topology generation and the caller assumption that selected the source |
| Current graph state | VidPN, topology, source and target mode sets, and the present path connecting them |
| Supporting trace | source and target IDs, topology generation, path descriptors, pinned modes, mode-set handles and monitor timing data |
Reproduce one variable at a time
- Capture the failing state. Record source ID, enumerated paths, topology generation and the caller assumption that selected the source.
- Enumerate paths before and after adding the source to a disposable topology.
The comparison with ERROR_GRAPHICS_TARGET_NOT_IN_TOPOLOGY is especially useful: ERROR_GRAPHICS_TARGET_NOT_IN_TOPOLOGY applies the same check to a target.
Recovery contract
Derive source membership from the topology instead of adapter-wide enumeration alone.
- debug-layer, ETW or driver diagnostics no longer report the rejected VidPN source membership contract during the same scenario.
Implementation notes
Log source and target IDs, topology generation, path descriptors, pinned modes, mode-set handles and monitor timing data.
A production fallback should be explicit: pause rendering, re-enumerate, rebuild one cache entry, recreate a device, or decline a protected path only when this layer calls for that action. Reinstalling every display component, deleting all caches or forcing a resolution change is not an evidence-based fix.
Technical references
- Microsoft: Introduction to Video Present Networks — background for the VidPN source membership.
- Microsoft: VidPN objects and interfaces
- Microsoft: Enumerating cofunctional VidPN modes
- Microsoft: Determining VidPN support
Looking for a different code? Search another status or error code.
