What does HRESULT 0xC0380056 (ERROR_VOLMGR_VOLUME_MIRRORED) mean?

 
Could be also:
ConstantTypeOS
STATUS_VOLMGR_VOLUME_MIRROREDNTSTATUSWindows
Previous Next
ERROR_VOLMGR_NUMBER_OF_DISKS_IN_MEMBER_INVALID ERROR_VOLMGR_PLEX_NOT_SIMPLE_SPANNED

ERROR_VOLMGR_VOLUME_MIRRORED

Why this is narrower than a generic disk error: volmgr volume mirrored

Windows returns ERROR_VOLMGR_VOLUME_MIRRORED, value 0xC0380056, at the volmgr boundary. It means that the operation is defined only for nonmirrored volumes, but the volume currently has multiple active plexes. Preserve the exact handle and generation of logical volume geometry and the disk extents that realize it before any rescan changes the evidence.

Diagnosis of this result should begin with the object model and generation current at the failure. A later successful enumeration may describe a replacement object and cannot retroactively validate the rejected request.

Storage facts that change the diagnosis

Storage diagnostic fieldValue
Identity and generationvolume ID, requested length, sector sizes, extent table, plex/member counts, disk health and the exact VM_VOLUME_LAYOUT buffer
Narrow experimentrun the request against matched simple and mirrored test volumes that have the same length and sector geometry
Closest comparisonERROR_VOLMGR_VOLUME_NOT_MIRRORED
Owning objectlogical volume geometry and the disk extents that realize it
Rejected invariantthe operation is defined only for nonmirrored volumes, but the volume currently has multiple active plexes

Keep this HRESULT as the primary result if rollback or cleanup reports another code; those later values describe recovery, not the first rejected invariant.

A/B test

  1. Associate this result with one caller, one transaction and one target UniqueId.
  2. Save the pre-call and post-call inventories, including volume ID, requested length, sector sizes, extent table, plex/member counts, disk health and the exact VM_VOLUME_LAYOUT buffer.
  3. Use this A/B case without touching unrelated storage: run the request against matched simple and mirrored test volumes that have the same length and sector geometry.
  4. Validate both the HRESULT and the on-disk or provider state after the relevant reopen, remount or attach cycle.

ERROR_VOLMGR_VOLUME_NOT_MIRRORED describes a nearby but different storage condition; this result indicates that the operation is defined only for nonmirrored volumes, but the volume currently has multiple active plexes.

Mechanism-specific note

The operation assumes a single data path, while this volume has mirrored plexes whose state must remain coordinated. Identify whether the caller should target one plex or the logical volume. Breaking the mirror merely to satisfy the API is unsafe unless the workflow explicitly preserves a known-good copy and documents the loss of redundancy.

Corrective action and regression check

Select an operation compatible with the actual plex type and keep at least one active data copy throughout detach, repair or regeneration. Keep the correction scoped to the owning object and avoid rewriting adjacent metadata merely to make the call return success.

  • The original request now reaches success or a documented later status with the intended layout and access mode.
  • A new enumeration reports internally consistent IDs, counts, geometry and ownership for the corrected object.
  • The passing state survives the relevant lifecycle transition, such as reopen, remount, owner change or detach/attach.
  • The application still distinguishes it from ERROR_VOLMGR_VOLUME_NOT_MIRRORED and has no unbounded retry loop.

Technical references


Looking for a different code? Search another status or error code.