2.5.9 FileFsVolumeInformation

This information class is used to query information on a volume on which a file system is mounted.

A FILE_FS_VOLUME_INFORMATION data element, defined as follows, is returned by the server.


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

VolumeCreationTime

...

VolumeSerialNumber

VolumeLabelLength

SupportsObjects

Reserved

VolumeLabel (variable)

...

VolumeCreationTime (8 bytes): The time when the volume was created; see section 2.1.1. The value of this field MUST be greater than or equal to 0.

VolumeSerialNumber (4 bytes): A 32-bit unsigned integer that contains the serial number of the volume. The serial number is an opaque value generated by the file system at format time, and is not necessarily related to any hardware serial number for the device on which the file system is located. No specific format or content of this field is required for protocol interoperation. This value is not required to be unique.

VolumeLabelLength (4 bytes): A 32-bit unsigned integer that contains the length, in bytes, including the trailing null, if present, of the name of the volume.<159>

SupportsObjects (1 byte): A Boolean (section 2.1.8) value. Set to TRUE if the file system supports object-oriented file system objects; set to FALSE otherwise.<160>

Reserved (1 byte): An 8-bit field. This field is reserved. This field MUST be set to zero and MUST be ignored.

VolumeLabel (variable):  A variable-length Unicode field containing the name of the volume. The content of this field can be a null-terminated string or can be a string padded with the space character to be VolumeLabelLength bytes long.

This operation returns a status code as specified in section 2.2. Upon success, the status code returned by the function that processes this file system information class is STATUS_SUCCESS. The most common error codes are listed in the following table.

If the volume label is greater than 32 characters, return the first 32 characters of the label and STATUS_SUCCESS.

Error code

Meaning

STATUS_INFO_LENGTH_MISMATCH

0xC0000004

The specified information record length does not match the length that is required for the specified information class.

STATUS_BUFFER_OVERFLOW

0x80000005

The output buffer was filled before all of the volume information could be returned; only a portion of the VolumeLabel field is returned.