3.2.4.4.3.30 IVolumeClient3::GrowVolume (Opnum 33)

The GrowVolume method increases the length of a specified dynamic volume by appending extents from the specified disks to it.

 HRESULT GrowVolume(
   [in] LdmObjectId volumeId,
   [in] VOLUME_SPEC volumeSpec,
   [in] unsigned long diskCount,
   [in, size_is(diskCount)] DISK_SPEC* diskList,
   [in] boolean force,
   [out] TASK_INFO* tinfo
 );

volumeId: Specifies the OID of the volume whose size is being changed.

volumeSpec: A VOLUME_SPEC structure that defines the parameters of the changed volume, including its new expected length.

diskCount: Number of elements passed in diskList.

diskList: Array of DISK_SPEC structures that specifies the list of disk extents to be appended to the volume.

force: Boolean value that determines whether the volume is extended or not, in case it cannot be locked.

Value

Meaning

FALSE

0

Volume is not extended unless it is locked.

TRUE

1

Volume is extended whether it is locked or unlocked.

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 VolumeClient3::GrowVolumeI message, it MUST process that message, as specified in IVolumeClient::GrowVolume (section 3.2.4.4.1.30).