2.2.3.11 CLUS_PARTITION_INFO_EX

The CLUS_PARTITION_INFO_EX data structure is the format in which a property value of syntax CLUSPROP_SYNTAX_PARTITION_INFO_EX (section 2.2.2.3), is written as a property value, as specified in section 2.2.3.10.1. CLUS_PARTITION_INFO_EX contains data about a disk partition that is configured with a basic volume.

CLUS_PARTITION_INFO_EX is a custom-marshaled data structure that has fields as follows.


0


1


2


3


4


5


6


7


8


9

1
0


1


2


3


4


5


6


7


8


9

2
0


1


2


3


4


5


6


7


8


9

3
0


1

dwFlags

szDeviceName (520 bytes)

...

...

szVolumeLabel (520 bytes)

...

...

dwSerialNumber

rgdwMaximumComponentLength

dwFileSystemFlags

szFileSystem (64 bytes)

...

...

TotalSizeInBytes

...

FreeSizeInBytes

...

DeviceNumber

PartitionNumber

VolumeGuid (16 bytes)

...

...

dwFlags (4 bytes): An unsigned 32-bit integer. Indicates characteristics about the partition. Can be a combination of the following values.

Value

Meaning

CLUSPROP_PIFLAG_STICKY

0x00000001

The volume is configured with a drive letter.

Can be combined with any other flag.

CLUSPROP_PIFLAG_REMOVABLE

0x00000002

The partition is formatted with a file system that is removable by the cluster software.

CLUSPROP_PIFLAG_USABLE

0x00000004

The partition is formatted with a file system that is usable by the cluster software. This flag SHOULD be set if and only if the partition is formatted with the NTFS file system.

Can be combined with any other flag, but MUST be set if CLUSPROP_PIFLAG_DEFAULT_QUORUM is set.

CLUSPROP_PIFLAG_DEFAULT_QUORUM

0x00000008

Indicates that the smallest NTFS partition MUST be at least 50,000,000 bytes in size.

Can be combined with any other flag, but CLUSPROP_PIFLAG_USABLE MUST also be set if this flag is set.

CLUSPROP_PIFLAG_USABLE_FOR_CSV

0x00000010

This flag is set if and only if the partition is formatted with NTFS/ReFS. Can be combined with any other flag.

CLUSPROP_PIFLAG_ENCRYPTION_ENABLED

0x00000020

Encryption is enabled and this flag is used when ENCRYPTION_ENABLED flag is set in EncryptionFlags field.

CLUSPROP_PIFLAG_RAW

0x00000040

The partition is a raw volume and is not formatted with a file system.

CLUSPROP_PIFLAG_UNKNOWN

0x80000000

Partition is of unknown file system type.

szDeviceName (520 bytes): A fixed-length buffer 520 bytes long that contains a null-terminated Unicode string based on the following rules:

  • If the volume has a drive letter and the state of the designated storage resource is ClusterResourceOnline, the server MUST return the drive letter of the volume followed by a Unicode ':'.

  • If the volume is not configured with a drive letter and the resource is online, the server MUST return a string of the form "\\?\Volume{GGG}" where GGG is the identifier of the volume.

  • If the resource is offline, the server MUST return a string of the form "\\?\GLOBALROOT\Device\HarddiskNNN\PartitionYYY", where NNN is the disk number and YYY is the partition number ([MS-DMRP]).

    Note: If the resource is offline, the remaining fields in this structure are left unfilled and MUST NOT be considered valid data.

szVolumeLabel (520 bytes): A fixed-length buffer 520 bytes long that contains the file system label. This field is a null-terminated Unicode string.

dwSerialNumber (4 bytes): An unsigned 32-bit integer. This is the serial number that is assigned by the operating system when the partition was formatted.

rgdwMaximumComponentLength (4 bytes): An unsigned 32-bit integer. A value specifying the maximum length, in characters, of a file name component that is supported by the specified file system. A file name component is the portion of a file name between "\" characters.

dwFileSystemFlags (4 bytes): An unsigned 32-bit integer that identifies the file system flags.

szFileSystem (64 bytes): A fixed-length buffer 64 bytes long that contains a null-terminated Unicode string representing the name of the file system, as specified in [MS-DMRP].

TotalSizeInBytes (8 bytes): An unsigned 64-bit integer specifying the total size, in bytes, of the volume.

FreeSizeInBytes (8 bytes): An unsigned 64-bit integer specifying the size, in bytes, of the unallocated space on the volume.

DeviceNumber (4 bytes): An unsigned 32-bit integer indicating the disk number.

PartitionNumber (4 bytes): An unsigned 32-bit integer indicating the partition number, as specified in [MS-DMRP].

VolumeGuid (16 bytes): A 128-bit value that contains the volume identifier.