3.2.4.4.3.42 IVolumeClient3::DiskMergeQuery (Opnum 45)
The DiskMergeQuery method gathers disk and volume information needed to merge a foreign dynamic disk group into the primary disk group of the server.
-
HRESULT DiskMergeQuery( [in] int cchDgid, [in, size_is(cchDgid)] byte* dgid, [in] int numDisks, [in, size_is(numDisks)] LdmObjectId* diskList, [out] hyper* merge_config_tid, [out] int* numRids, [out, size_is(,*numRids)] hyper** merge_dm_rids, [out] int* numObjects, [out, size_is(,*numObjects)] MERGE_OBJECT_INFO** mergeObjectInfo, [in, out] unsigned long* flags, [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 OIDs of type LdmObjectId that specify the disks of the dgid group to be merged.
merge_config_tid: Pointer to the modification sequence number of the disk group to be merged.
numRids: Pointer to the number of elements returned in merge_dm_rids.
merge_dm_rids: Pointer to an array of disk records that represent the disks that will be merged. Memory for the array is allocated by the server and freed by the client.
numObjects: Number of elements returned in mergeObjectInfo.
mergeObjectInfo: Pointer to an array of MERGE_OBJECT_INFO structures that contain information about the volumes that will be merged.
flags: Disk merge query flags. The value of this field is a logical 'OR' of zero or more of the following applicable flags.
-
Value
Meaning
DSKMERGE_IN_NO_UNRELATED
0x00000001
Do not retrieve merge information for volumes of the foreign disk group that do not have extents on diskList. This is an input-only flag.
DSKMERGE_OUT_NO_PRIMARY_DG
0x00000001
The machine does not have a primary disk group. This is an output-only flag.
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::DiskMergeQuery message, it MUST process that message, as specified in IVolumeClient::DiskMergeQuery (section 3.2.4.4.1.39).