FLT_VOLUME_PROPERTIES structure (fltkernel.h)

The FLT_VOLUME_PROPERTIES structure is passed as a parameter to FltGetVolumeProperties.

Syntax

typedef struct _FLT_VOLUME_PROPERTIES {
  DEVICE_TYPE    DeviceType;
  ULONG          DeviceCharacteristics;
  ULONG          DeviceObjectFlags;
  ULONG          AlignmentRequirement;
  USHORT         SectorSize;
  USHORT         Flags;
  UNICODE_STRING FileSystemDriverName;
  UNICODE_STRING FileSystemDeviceName;
  UNICODE_STRING RealDeviceName;
} FLT_VOLUME_PROPERTIES, *PFLT_VOLUME_PROPERTIES;

Members

DeviceType

Receives the device type of the volume. Must be a valid storage device type, such as one of the following values defined in ntifs.h:

FILE_DEVICE_CD_ROM

FILE_DEVICE_DISK

FILE_DEVICE_DVD

FILE_DEVICE_MASS_STORAGE

FILE_DEVICE_NETWORK

FILE_DEVICE_VIRTUAL_DISK

For more information, see Specifying Device Types.

DeviceCharacteristics

Receives the device characteristics of the volume. For more information, see the reference entry for IoCreateDevice.

DeviceObjectFlags

Receives the device object flags for the volume. For more information about these flags, see the reference entries for IoRegisterFileSystem and DEVICE_OBJECT.

AlignmentRequirement

Receives the buffer alignment required by the underlying device. The value must be one of the FILE_xxxx_ALIGNMENT values defined in ntifs.h. For more information, see DEVICE_OBJECT and Initializing a Device Object.

SectorSize

Receives the volume sector size, in bytes.

Flags

Provides additional description of the volume. This member can be zero or one of the following flags. In versions prior to Windows 10, version 1607, this member was named Reserved0 and reserved for system use.

Value Meaning
VOL_PROP_FL_DAX_VOLUME
This flag indicates that the volume is a direct access (DAX) volume.

FileSystemDriverName

UNICODE_STRING structure that receives the service name of the file system that is mounted on this volume. The buffer for this Unicode string is contiguous with this structure and does not need to be initialized before calling FltGetVolumeProperties.

FileSystemDeviceName

UNICODE_STRING structure that receives the name of the file system device object associated with this volume. The buffer for this Unicode string is contiguous with this structure and does not need to be initialized before calling FltGetVolumeProperties.

RealDeviceName

UNICODE_STRING structure that receives the name of the storage device object associated with this volume. This structure is empty for network file systems. The buffer for this Unicode string is contiguous with this structure and does not need to be initialized before calling FltGetVolumeProperties.

Remarks

Storage for the FLT_VOLUME_PROPERTIES structure is typically allocated from paged pool.

To get the volume name for a given volume, call FltGetVolumeName.

To get the volume globally unique identifier (GUID) name for a given volume, call FltGetVolumeGuidName.

Requirements

Requirement Value
Header fltkernel.h (include Fltkernel.h)

See also

DEVICE_OBJECT

FltGetVolumeName

FltGetVolumeProperties

IoCreateDevice

IoRegisterFileSystem

UNICODE_STRING