3.2.4.4.3.27 IVolumeClient3::CreateVolumeAssignAndFormat (Opnum 30)

The CreateVolumeAssignAndFormat method creates a dynamic volume on the specified list of disks, assigns a drive letter to it, and formats it with a file system.

 HRESULT CreateVolumeAssignAndFormat(
   [in] VOLUME_SPEC volumeSpec,
   [in] unsigned long diskCount,
   [in, size_is(diskCount)] DISK_SPEC* diskList,
   [in] wchar_t letter,
   [in] hyper letterLastKnownState,
   [in] FILE_SYSTEM_INFO fsSpec,
   [in] boolean quickFormat,
   [out] TASK_INFO* tinfo
 );

volumeSpec: A VOLUME_SPEC structure that defines the volume to create.

diskCount: Number of elements passed in diskList.

diskList: Array of DISK_SPEC structures that specifies the disks to be used by the volume.

letter: Drive letter to assign to the new volume. If no drive letter is needed for the volume, the value of this field MUST be a 2-byte null character or the Unicode SPACE character.

letterLastKnownState: Drive letter's last known modification sequence number.

fsSpec: A FILE_SYSTEM_INFO structure that defines the file system to create.

quickFormat: Value that indicates whether the server will fully format or quickly format the file system.

Value

Meaning

FALSE

0

File system will be fully formatted. Full format requires verifying the accessibility of all sectors on the volume.

TRUE

1

File system will be quickly formatted.

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::CreateVolumeAssignAndFormat message, it MUST process that message, as specified in IVolumeClient::CreateVolumeAssignAndFormat (section 3.2.4.4.1.27).