| Previous | Next |
| VDS_E_FLAG_ALREADY_SET | VDS_E_VOLUME_NOT_FOUND_IN_PACK |
VDS_E_DISTINCT_VOLUME
Some VDS volume operations combine or relate two volume objects. The input volume must represent a distinct object from the target of the operation. Supplying the target volume's own ID creates a self-reference rather than a valid topology change. The VDS object model uses GUID identifiers for volumes, so equality must be checked at the object-ID level.
Why this state matters
This is not the same as two volumes having the same size, label, or file system. Conversely, two interface pointers can still refer to the same VDS volume object. Capture both volume IDs before the call and compare them explicitly. After a mirror break or reenumeration, reacquire properties because a caller may accidentally retain the original volume ID where a newly created volume was expected.
Diagnostic focus
- Log source and target
VDS_OBJECT_IDvalues before the topology-changing operation. - Compare GUID identity rather than COM pointer values, drive letters, or volume labels.
- If a preceding async operation was expected to create a new volume, inspect its returned object and ID before continuing.
- Do not treat self-reference as an idempotent success; the requested relationship between distinct volumes was never established.
Technical references
Volume Object · IVdsVolume · MS-VDS storage object relationships · Volume Plex Object · MS-VDS error codes
Looking for a different code? Search another status or error code.