IVdsSubSystem::ReplaceDrive method (vds.h)

[Beginning with Windows 8 and Windows Server 2012, the Virtual Disk Service COM interface is superseded by the Windows Storage Management API.]

Replaces or migrates one drive with another in the subsystem.

Syntax

HRESULT ReplaceDrive(
  [in] VDS_OBJECT_ID DriveToBeReplaced,
  [in] VDS_OBJECT_ID ReplacementDrive
);

Parameters

[in] DriveToBeReplaced

The GUID of the drive to be replaced.

[in] ReplacementDrive

The GUID of the replacement drive.

Return value

This method can return standard HRESULT values, such as E_INVALIDARG or E_OUTOFMEMORY, and VDS-specific return values. It can also return converted system error codes using the HRESULT_FROM_WIN32 macro. Errors can originate from VDS itself or from the underlying VDS provider that is being used. Possible return values include the following.

Return code/value Description
VDS_E_PROVIDER_CACHE_CORRUPT
0x8004241FL
This return value signals a software or communication problem inside a provider that caches information about the array. Use the IVdsHwProvider::Reenumerate method followed by the IVdsHwProvider::Refresh method to restore the cache.
VDS_E_OBJECT_DELETED
0x8004240BL
The subsystem object is no longer present.
VDS_E_OBJECT_STATUS_FAILED
0x80042431L
The subsystem is in a failed state and is unable to perform the requested operation.
VDS_E_ANOTHER_CALL_IN_PROGRESS
0x80042404L
Another operation is in progress; this operation cannot proceed until the previous operation or operations are complete.
VDS_E_OBJECT_NOT_FOUND
0x80042405L
Can be returned from any method that takes a VDS_OBJECT_ID constant. This return value indicates that the identifier does not refer to an existing object.
VDS_E_NOT_SUPPORTED
0x80042400L
This operation or combination of parameters is not supported by this provider.

Requirements

Requirement Value
Minimum supported client Windows Vista [desktop apps only]
Minimum supported server Windows Server 2003 [desktop apps only]
Target Platform Windows
Header vds.h
Library Uuid.lib

See also

IVdsHwProvider::Reenumerate

IVdsHwProvider::Refresh

IVdsSubSystem