3.2.4.4.3.35 IVolumeClient3::AddMirror (Opnum 38)

The AddMirror method adds a mirror to the specified dynamic volume.

 HRESULT AddMirror(
   [in] LdmObjectId volumeId,
   [in] hyper volumeLastKnownState,
   [in] DISK_SPEC diskSpec,
   [in, out] int* diskNumber,
   [out] int* partitionNumber,
   [out] TASK_INFO* tinfo
 );

volumeId: Specifies the OID of the volume to which the mirror is being added.

volumeLastKnownState: Volume's last known modification sequence number.

diskSpec: A DISK_SPEC structure that defines the disk to add as a mirror.

diskNumber: This parameter MUST be set to 0 by the client and MUST be ignored by the server.

partitionNumber: If the volumeId parameter is the boot volume, this parameter returns a pointer to the partition number of the newly added mirror. If the volume is not the boot volume, the server MUST return partition number zero.

tinfo: Pointer to a TASK_INFO structure that the client can use to track the request's progress.

Return Values: The method MUST return 0 or a nonerror HRESULT on success, or an implementation-specific nonzero error code on failure (as specified in [MS-ERREF]; see also section 2.2.1 for HRESULT values predefined by the Disk Management Remote Protocol).

When the server receives an IVolumeClient3::AddMirror message, it MUST process that message, as specified in IVolumeClient::AddMirror (section 3.2.4.4.1.32).