| Previous | Next |
| ERROR_MONITOR_UNKNOWN_DESCRIPTOR_FORMAT | ERROR_GRAPHICS_NO_PREFERRED_MODE |
ERROR_GRAPHICS_MODE_NOT_PINNED
VidPN source or target has no pinned mode
ERROR_GRAPHICS_MODE_NOT_PINNED is HRESULT 2499335 (0x00262307) from winerror.h. AllStat describes it as “No mode is pinned on the specified VidPN source/target.” In the Windows display topology or Desktop Window Manager operation, the value reports a nonfailure state that must not be collapsed into plain S_OK.
For ERROR_GRAPHICS_MODE_NOT_PINNED, a cleared severity bit does not make the return equivalent to ordinary completion; the postcondition remains specific.
What must be true before accepting it
Verify that the API permits an unpinned mode at this phase and the caller does not dereference a nonexistent pinned mode. Without the ERROR_GRAPHICS_MODE_NOT_PINNED boundary check, the HRESULT can hide stale output, pending ownership, or omitted work.
For ERROR_GRAPHICS_MODE_NOT_PINNED, also confirm that returned outputs belong to the current operation generation and were not inherited from an earlier attempt.
Where the status is encountered
ERROR_GRAPHICS_MODE_NOT_PINNEDcan appear during VidPN mode-set, topology, and path negotiation; capture the exact API, object, and phase because the same numeric success severity does not define the state by itself.ERROR_GRAPHICS_MODE_NOT_PINNEDcan appear during display miniport and graphics-kernel dataset enumeration; capture the exact API, object, and phase because the same numeric success severity does not define the state by itself.ERROR_GRAPHICS_MODE_NOT_PINNEDcan appear during DWM composition and GDI redirection-surface handling; capture the exact API, object, and phase because the same numeric success severity does not define the state by itself.
Keep ERROR_GRAPHICS_MODE_NOT_PINNED attached to the operation that returned it. Interpreting ERROR_GRAPHICS_MODE_NOT_PINNED outside that API contract can turn a normal continuation or partial result into an incorrect retry or false completion.
Diagnostic sequence
- Capture raw
0x00262307andERROR_GRAPHICS_MODE_NOT_PINNEDbefore exceptions, signed formatting, or a generic success wrapper removes the symbolic value. - Identify the interface, method, callback, service, driver, or broker that returned
ERROR_GRAPHICS_MODE_NOT_PINNED, including component version, process, thread, and correlation ID. - Prove the decisive condition for
ERROR_GRAPHICS_MODE_NOT_PINNED: the API permits an unpinned mode at this phase and the caller does not dereference a nonexistent pinned mode. - For
ERROR_GRAPHICS_MODE_NOT_PINNED, inspect every output, count, object handle, callback, queue entry, media item, report, transaction, topology element, or signaling response the call produced. - Compare state immediately before and after
ERROR_GRAPHICS_MODE_NOT_PINNEDand verify that ownership, lifetime, persistence, and user-visible effects match the status. - Reproduce
ERROR_GRAPHICS_MODE_NOT_PINNEDwith the smallest input, then change only the suspected cause and confirm that the return value or postcondition changes as predicted.
Evidence and telemetry
- Preserve adapter LUID for
ERROR_GRAPHICS_MODE_NOT_PINNED. - Preserve VidPN source and target IDs for
ERROR_GRAPHICS_MODE_NOT_PINNED. - Preserve mode-set generation for
ERROR_GRAPHICS_MODE_NOT_PINNED. - Preserve candidate modes for
ERROR_GRAPHICS_MODE_NOT_PINNED. - Preserve pinning operation result for
ERROR_GRAPHICS_MODE_NOT_PINNED.
For ERROR_GRAPHICS_MODE_NOT_PINNED, also record UTC time, process and thread IDs, component version, operation generation, and a correlation ID. Keep sensitive ERROR_GRAPHICS_MODE_NOT_PINNED content out of logs; use lengths, hashes, GUIDs, and policy-safe metadata where possible.
Correct handling and recovery
Enumerate the mode set or establish a valid pinned mode before operations that require one. Preserve the source, target, and topology generation.
A new attempt following ERROR_GRAPHICS_MODE_NOT_PINNED should be triggered by a meaningful transition, not merely by elapsed time.
Practical scenario
A display miniport query runs before topology commitment and finds no pinned source mode. It waits for mode selection instead of reading null mode data.
A regression test should reproduce ERROR_GRAPHICS_MODE_NOT_PINNED, assert all relevant outputs and state, then change only the decisive condition and verify ordinary completion or the expected neighboring result.
Difference from nearby results
NO_PREFERRED_MODE means modes exist without preference; MODE_NOT_PINNED means no current pinned choice exists.
For ERROR_GRAPHICS_MODE_NOT_PINNED, the neighboring result changes whether output is final, more work remains, or fallback is required.
Developer and administrator guidance
When ERROR_GRAPHICS_MODE_NOT_PINNED crosses COM, RPC, managed, scripting, driver, or service boundaries, preserve the unsigned 32-bit value. Unit tests for ERROR_GRAPHICS_MODE_NOT_PINNED should assert the code-specific postcondition, not only success severity.
Administrators handling ERROR_GRAPHICS_MODE_NOT_PINNED should change only the producing component or policy identified by the captured evidence. Document who owns continuation, cancellation, cleanup, fallback, and user messaging for ERROR_GRAPHICS_MODE_NOT_PINNED.
References
- Microsoft: VidPN model and enumeration — official Microsoft material relevant to
ERROR_GRAPHICS_MODE_NOT_PINNED. - Microsoft: Desktop Window Manager overview — official Microsoft material relevant to
ERROR_GRAPHICS_MODE_NOT_PINNED. - Microsoft: HRESULT values — official Microsoft material relevant to
ERROR_GRAPHICS_MODE_NOT_PINNED.
Looking for a different code? Search another status or error code.