| Previous | Next |
| ERROR_GRAPHICS_NO_PREFERRED_MODE | ERROR_GRAPHICS_NO_MORE_ELEMENTS_IN_DATASET |
ERROR_GRAPHICS_DATASET_IS_EMPTY
Graphics dataset contains no elements
ERROR_GRAPHICS_DATASET_IS_EMPTY is HRESULT 2499403 (0x0026234B) from winerror.h. AllStat describes it as “Specified data set (e.g; mode set, frequency range set, descriptor set, topology, etc.) is empty.” 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.
The application should branch on ERROR_GRAPHICS_DATASET_IS_EMPTY before a generic success path consumes the details.
Where the status is encountered
ERROR_GRAPHICS_DATASET_IS_EMPTYcan 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_DATASET_IS_EMPTYcan 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_DATASET_IS_EMPTYcan 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_DATASET_IS_EMPTY attached to the operation that returned it. Interpreting ERROR_GRAPHICS_DATASET_IS_EMPTY outside that API contract can turn a normal continuation or partial result into an incorrect retry or false completion.
Evidence and telemetry
- Preserve dataset type and owner for
ERROR_GRAPHICS_DATASET_IS_EMPTY. - Preserve adapter and VidPN generation for
ERROR_GRAPHICS_DATASET_IS_EMPTY. - Preserve element count for
ERROR_GRAPHICS_DATASET_IS_EMPTY. - Preserve device arrival or removal events for
ERROR_GRAPHICS_DATASET_IS_EMPTY. - Preserve repopulation result for
ERROR_GRAPHICS_DATASET_IS_EMPTY.
For ERROR_GRAPHICS_DATASET_IS_EMPTY, also record UTC time, process and thread IDs, component version, operation generation, and a correlation ID. Keep sensitive ERROR_GRAPHICS_DATASET_IS_EMPTY content out of logs; use lengths, hashes, GUIDs, and policy-safe metadata where possible.
What must be true before accepting it
Verify that the empty set is valid for the queried phase or triggers a controlled reconstruction rather than unchecked enumeration. The ERROR_GRAPHICS_DATASET_IS_EMPTY boundary determines whether the caller continues, waits, falls back, or ends the operation.
For ERROR_GRAPHICS_DATASET_IS_EMPTY, also confirm that returned outputs belong to the current operation generation and were not inherited from an earlier attempt.
Correct handling and recovery
Stop enumeration, identify why the set is empty, and repopulate or select another topology only when the driver contract expects elements.
A new attempt following ERROR_GRAPHICS_DATASET_IS_EMPTY should be triggered by a meaningful transition, not merely by elapsed time.
Diagnostic sequence
- Capture raw
0x0026234BandERROR_GRAPHICS_DATASET_IS_EMPTYbefore 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_DATASET_IS_EMPTY, including component version, process, thread, and correlation ID. - Prove the decisive condition for
ERROR_GRAPHICS_DATASET_IS_EMPTY: the empty set is valid for the queried phase or triggers a controlled reconstruction rather than unchecked enumeration. - For
ERROR_GRAPHICS_DATASET_IS_EMPTY, 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_DATASET_IS_EMPTYand verify that ownership, lifetime, persistence, and user-visible effects match the status. - Reproduce
ERROR_GRAPHICS_DATASET_IS_EMPTYwith the smallest input, then change only the suspected cause and confirm that the return value or postcondition changes as predicted.
Difference from nearby results
NO_MORE_ELEMENTS follows consumption of a nonempty set; DATASET_IS_EMPTY says it began with none.
The distinction around ERROR_GRAPHICS_DATASET_IS_EMPTY should be visible in control flow, telemetry classification, and user messaging.
Developer and administrator guidance
Dashboards should classify ERROR_GRAPHICS_DATASET_IS_EMPTY by its actual state—pending, partial, terminal, idempotent, redirected, degraded, or policy-controlled—rather than grouping it with ordinary success.
A broad system reset after ERROR_GRAPHICS_DATASET_IS_EMPTY is not justified unless the code-specific evidence identifies a system-wide cause. Document who owns continuation, cancellation, cleanup, fallback, and user messaging for ERROR_GRAPHICS_DATASET_IS_EMPTY.
Practical scenario
A target mode set is empty after a monitor disconnect. The service rebuilds topology instead of treating an iterator failure as corruption.
A regression test should reproduce ERROR_GRAPHICS_DATASET_IS_EMPTY, assert all relevant outputs and state, then change only the decisive condition and verify ordinary completion or the expected neighboring result.
References
- Microsoft: VidPN model and enumeration — official Microsoft material relevant to
ERROR_GRAPHICS_DATASET_IS_EMPTY. - Microsoft: Desktop Window Manager overview — official Microsoft material relevant to
ERROR_GRAPHICS_DATASET_IS_EMPTY. - Microsoft: HRESULT values — official Microsoft material relevant to
ERROR_GRAPHICS_DATASET_IS_EMPTY.
Looking for a different code? Search another status or error code.