| Previous | Next |
| ERROR_VOLMGR_MEMBER_INDEX_INVALID | ERROR_VOLMGR_MEMBER_NOT_DETACHED |
ERROR_VOLMGR_MEMBER_MISSING
Identify the owner before touching the layout: volmgr member missing
ERROR_VOLMGR_MEMBER_MISSING (0xC0380026) is emitted by the volmgr path when the layout references a plex member whose backing disk extent is absent from the current pack. The deciding object is dynamic-volume plex member descriptor and its backing extents, so the first investigation belongs there rather than in a generic “disk failure” bucket.
Minimum diagnostic set
| Storage diagnostic field | Value |
|---|---|
| Rejected invariant | the layout references a plex member whose backing disk extent is absent from the current pack |
| Identity and generation | pack ID, volume ID, plex index, member index, disk IDs, extent offsets, health state and regeneration percentage |
| Narrow experiment | capture the disk/extent inventory, re-present the missing test disk without changing IDs, and repeat the lookup or repair request |
| Closest comparison | ERROR_VOLMGR_MEMBER_NOT_DETACHED |
| Owning object | dynamic-volume plex member descriptor and its backing extents |
A management layer handling this result should report later recovery errors separately, because they answer a different question from the failed storage operation.
Reproduce without destructive cleanup
- Create a nonproduction case that preserves the same geometry and ownership model.
- Collect pack ID, volume ID, plex index, member index, disk IDs, extent offsets, health state and regeneration percentage before invoking the first mutating API.
- Change one condition only: capture the disk/extent inventory, re-present the missing test disk without changing IDs, and repeat the lookup or repair request.
- Re-enumerate after the transition and confirm it is not reproduced by a stale handle from the old generation.
A useful diagnostic fork is ERROR_VOLMGR_MEMBER_NOT_DETACHED versus it. This code concerns the layout references a plex member whose backing disk extent is absent from the current pack; the alternate code should remain observable after the fix, proving the application did not suppress the entire subsystem.
Mechanism-specific note
“Missing” is an identity result: metadata names an object whose backing extents are not present in the current pack view. Compare disk unique IDs and extent offsets rather than substituting a same-sized disk. If the original disk returns, re-enumerate before repair so the recovered object is matched to its existing metadata instead of added as a new member.
Restore the contract
Restore access to the identified disk or extent and confirm its identity and health; do not substitute a different disk merely because its size matches. The repair is incomplete until a fresh enumeration and new handle observe the corrected state.
- the first retry uses newly enumerated identifiers rather than cached handles.
- The durable metadata or provider state agrees with the success returned after it.
- A second run after close/reopen does not recreate the rejected condition.
- the nearby
ERROR_VOLMGR_MEMBER_NOT_DETACHEDpath remains separately testable and separately logged.
Technical references
- Microsoft: COM error codes for VOLMGR, VHD and SDIAG — defines the volmgr objects used to interpret it.
- Microsoft: Virtual Disk Service object model — primary API or object-model reference.
- Microsoft: Pack object — use this source to verify volmgr state and parameters.
- Microsoft: Virtual Disk Service common return codes — documents the supported management path relevant to this HRESULT.
Looking for a different code? Search another status or error code.