| Previous | Next |
| VDS_E_CORRUPT_VOLUME_INFO | VDS_E_DRIVER_INTERNAL_ERROR |
VDS_E_INVALID_ENUMERATOR
VDS_E_INVALID_ENUMERATOR VDS uses IEnumVdsObject to enumerate providers, packs, disks, volumes, plexes, and many hardware objects. This HRESULT says the enumerator itself is corrupted; it is different from an empty enumeration, where a valid enumerator simply yields no objects.
What the VDS state means
Enumeration is part of the cached VDS object model. A bad enumerator may reflect provider corruption, object churn, or an internal implementation failure. The correct response is to abandon that enumerator and rebuild the query path. Continuing to call Next on the same object cannot establish that later results are trustworthy.
Diagnostic focus
- Record which query produced the enumerator, such as provider packs or pack volumes, and the provider that owns the enumeration.
- Release the invalid enumerator and reacquire it from the parent VDS object. Do not reuse partially enumerated results as a complete inventory.
- If the failure repeats, compare behavior before and after
IVdsService::Refreshand inspect provider/cache errors rather than looping over enumeration. - Keep “zero objects returned” separate from “enumerator corrupt” in logs and application state; they imply very different storage conditions.
Technical references
VDS common return codes · MS-VDS error codes · IVdsSwProvider::QueryPacks · IVdsSwProvider · IVdsService::Refresh
Looking for a different code? Search another status or error code.
