3.2.4.4.3.43 IVolumeClient3::DiskMerge (Opnum 46)
The DiskMerge method merges a foreign disk group into the primary disk group of the server. The foreign disks and their volumes are brought online.
-
HRESULT DiskMerge( [in] int cchDgid, [in, size_is(cchDgid)] byte* dgid, [in] int numDisks, [in, size_is(numDisks)] LdmObjectId* diskList, [in] hyper merge_config_tid, [in] int numRids, [in, size_is(numRids)] hyper* merge_dm_rids, [out] TASK_INFO* tinfo );
cchDgid: Size of dgid in characters, including the terminating null character.
dgid: Null-terminated ASCII string that contains the UUID of the disk group to be merged.
numDisks: Number of disks passed in diskList.
diskList: Array of object identifiers of type LdmObjectId that specify the disks to be merged from the dgid group.
merge_config_tid: Last known modification sequence number of the disk group to be merged.
numRids: Number of elements passed in merge_dm_rids.
merge_dm_rids: Array of disk records for the disks in diskList.
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::DiskMerge message, it MUST process that message, as specified in IVolumeClient::DiskMerge (section 3.2.4.4.1.40).