What does HRESULT 0x80042521 (VDS_E_INVALID_PLEX_COUNT) mean?

 
Previous Next
VDS_E_PACK_ONLINE VDS_E_INVALID_MEMBER_COUNT

VDS_E_INVALID_PLEX_COUNT

VDS separates a logical volume from its plexes. Every volume has at least one plex; only a mirrored volume can have multiple plexes, and each plex contains a copy of the volume data. Simple, spanned, striped, and parity volumes use one plex even when that plex contains multiple members or extents. A caller that derives plex count from disk count can therefore build an invalid topology.

Why this state matters

The count should be validated against the requested volume type and the actual plex objects, not against the number of selected disks. A three-disk RAID-5 layout still has one parity plex with multiple members, while a mirror has multiple plexes. Enumerate existing plexes before add, break, remove, repair, or migration workflows that reconstruct topology.

Diagnostic focus

  • Record the requested VDS_VOLUME_TYPE and the plex count encoded by the operation.
  • Use IVdsVolume::QueryPlexes when operating on an existing volume rather than inferring plexes from disk extents.
  • Distinguish plex count from member count: they describe different levels of the VDS storage model.
  • For mirror changes, preserve the plex IDs and status so the last usable copy is not accidentally targeted.

Technical references

Volume Object · Volume Plex Object · MS-VDS IVdsVolume::QueryPlexes · VDS_VOLUME_TYPE · VDS_VOLUME_PLEX_PROP


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