| Previous | Next |
| VDS_E_CANNOT_SHRINK | VDS_E_PACK_ONLINE |
VDS_E_MULTIPLE_PACKS
Each VDS disk belongs to at most one pack, and IVdsDisk::GetPack exposes that relationship. Operations that validate a collection as one source pack rely on all selected disk IDs describing the same disk group. This HRESULT means the supplied set crosses that boundary. It is not evidence that the disks merely have different models, buses, or capacities; VDS explicitly allows a pack to contain heterogeneous storage characteristics.
Why this state matters
This commonly matters in migration and topology-changing code that builds a disk array from UI selections or cached enumeration results. If one object was refreshed, replaced, or selected from another provider view, the array can contain individually valid disk IDs that do not form one pack-level operation. Resolve pack membership for every disk immediately before the call.
Diagnostic focus
- Call
GetPackfor each selected disk and record the returned pack object ID. - Check whether disks came from separate enumeration sessions or provider instances before the failing call.
- Do not infer same-pack membership from similar dynamic-disk labels, device paths, or physical enclosure location.
- Rebuild the request from one verified pack enumeration instead of removing whichever disk happens to fail first.
Technical references
IVdsDisk::GetPack · Pack Object · Disk Object · IVdsPack::MigrateDisks · MS-VDS storage object relationships
Looking for a different code? Search another status or error code.