3.2.4.20 CprepDiskDiskPartitionIsNtfs (Opnum 29)

The CprepDiskDiskPartitionIsNtfs method determines whether the file system on a given partition on a given disk is NTFS.

 HRESULT CprepDiskDiskPartitionIsNtfs(
   [in] CPREP_DISKID DiskId,
   [in] unsigned long ulPartition
 );

DiskId: The identifier of the ClusPrepDisk representing the disk.

ulPartition: The partition number of the partition associated with the volume to query for file system information.

Return Values: A signed 32-bit value that indicates return status. If the method returns a negative value, it has failed. Zero or positive values indicate success, with the lower 16 bits in positive nonzero values containing warnings or flags defined in the method implementation. For more information about Win32 error codes and HRESULT values, see [MS-ERREF] sections 2.2 and 2.1.

Return value/code

Description

0x00000000

S_OK

The call was successful.

0x80070022

ERROR_WRONG_DISK

The partition on the disk has a file system other than NTFS.

0x8007139F

ERROR_INVALID_STATE

The ClusPrepDisk.OnlineState value is not equal to Online.

0x80070002

ERROR_FILE_NOT_FOUND

The disk was not found or ulPartition cannot be mapped to a volume.

0x80070548

ERROR_INVALID_SERVER_STATE

The server's Prepare State is not Online.

For any other condition, this method MUST return a value that is not one of the values listed in the preceding table. The client MUST behave in one consistent, identical manner for all values that are not listed in the preceding table.

Exceptions Thrown: No exceptions are thrown beyond those thrown by the underlying RPC protocol [MS-RPCE].

The opnum field value for this method is 29.

When processing this call, the server MUST do the following:

  • Obtain the ClusPrepDisk identified by the DiskId parameter as specified in section 3.2.4.

  • Verify that the ClusPrepDisk.OnlineState is Online as specified in section 3.2.4.

  • Map ulPartition to the corresponding volume as specified in section 3.2.4.

  • Return ERROR_WRONG_DISK if CprepDiskGetFSName would return any file system name other than "NTFS".

  • Return S_OK if CprepDiskGetFSName would return "NTFS".