What does HRESULT 0x80042938 (VDS_E_VD_IS_BEING_DETACHED) mean?

 
Previous Next
VDS_E_VD_IS_BEING_ATTACHED VDS_E_NO_POOL

VDS_E_VD_IS_BEING_DETACHED

This HRESULT corresponds to VDS_VST_DETACH_PENDING. VDS has begun detach, but the operating-system disk object associated with the virtual disk has not yet been removed. Another state-changing operation is rejected because the topology transition is incomplete.

Why this state matters

The published state sequence is precise: after the disk object is removed, the virtual disk returns to OPEN; releasing the opened interface then returns it to ADDED. A caller that immediately tries to attach, expand, or reopen during DETACH_PENDING can race the removal. The correct boundary is completion of the detach lifecycle, not merely return from the code that initiated it.

Diagnostic focus

  • Correlate the HRESULT with the active detach request and wait until its device-removal transition has completed.
  • Observe the VDS state and disk-device disappearance rather than issuing another detach as a progress test.
  • Ensure applications and volume users are not delaying or conflicting with removal of the surfaced disk.
  • Once detached, reopen the virtual disk as required by the next operation and refresh its properties before reuse.

Technical references

IVdsOpenVDisk::Detach · VDS_VDISK_STATE · MS-VDS virtual disk state transitions · VDS_VDISK_PROPERTIES · detach vdisk command


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