| Previous | Next |
| ERROR_VOLMGR_MEMBER_IN_SYNC | ERROR_VOLMGR_MEMBER_INDEX_INVALID |
ERROR_VOLMGR_MEMBER_INDEX_DUPLICATE
What this result says about the disk model: volmgr member index duplicate
The practical meaning of ERROR_VOLMGR_MEMBER_INDEX_DUPLICATE (0xC0380024) is tied to dynamic-volume plex member descriptor and its backing extents: the submitted layout names the same member position more than once, making the plex definition ambiguous. The result does not, by itself, prove file-system corruption or physical-media failure.
Capture the exact object instance
| Storage diagnostic field | Value |
|---|---|
| Closest comparison | ERROR_VOLMGR_MEMBER_INDEX_INVALID |
| Owning object | dynamic-volume plex member descriptor and its backing extents |
| Rejected invariant | the submitted layout names the same member position more than once, making the plex definition ambiguous |
| Identity and generation | pack ID, volume ID, plex index, member index, disk IDs, extent offsets, health state and regeneration percentage |
| Narrow experiment | submit a copied layout with one deliberately repeated ordinal, then change only that ordinal to a unique value |
Do not overwrite this result with a close, detach or rollback error. Preserve the causal order so the original storage contract remains visible.
Prove the condition in a test volume
- serialize the failing request and the enumeration from which its identifiers came.
- Preserve pack ID, volume ID, plex index, member index, disk IDs, extent offsets, health state and regeneration percentage while every handle is still valid.
- Repeat the operation using this controlled change: submit a copied layout with one deliberately repeated ordinal, then change only that ordinal to a unique value.
- Close and reacquire the relevant objects, then run once more to test lifecycle correctness after it.
ERROR_VOLMGR_MEMBER_INDEX_INVALID describes a nearby but different storage condition; this result indicates that the submitted layout names the same member position more than once, making the plex definition ambiguous.
Mechanism-specific note
This code is about uniqueness inside one serialized array, not about the physical health of the indexed object. Dump the full ordinal sequence in submission order and identify which two descriptors claim the same slot. Renumbering after filtering or sorting is a common source of this defect because references retained from the prefiltered layout no longer match the emitted array.
Safe recovery path
Rebuild the layout from enumerated objects and checked arithmetic rather than patching one serialized field; validate counts, indices, sizes, alignment and overflow before submission. Apply the change through the supported storage API, then close and reacquire affected objects before retrying.
- The controlled A/B case changes only the invariant that triggers this result.
- No unrelated disk, cluster owner, tier policy or virtual-disk backing file is altered to hide it.
- Health, synchronization or job state reaches a terminal value consistent with the repaired operation.
- Telemetry includes both symbolic names when it or
ERROR_VOLMGR_MEMBER_INDEX_INVALIDoccurs again.
Technical references
- Microsoft: COM error codes for VOLMGR, VHD and SDIAG — use this source to verify volmgr state and parameters.
- Microsoft: Virtual Disk Service object model — documents the supported management path relevant to this HRESULT.
- Microsoft: Pack object — defines the volmgr objects used to interpret it.
- Microsoft: Virtual Disk Service common return codes — primary API or object-model reference.
Looking for a different code? Search another status or error code.
