Expand Minimize

FltQueryVolumeInformation routine

The FltQueryVolumeInformation routine retrieves information about the volume that the given instance is attached to.

Syntax


NTSTATUS FltQueryVolumeInformation(
  _In_  PFLT_INSTANCE        Instance,
  _Out_ PIO_STATUS_BLOCK     Iosb,
  _Out_ PVOID                FsInformation,
  _In_  ULONG                Length,
  _In_  FS_INFORMATION_CLASS FsInformationClass
);

Parameters

Instance [in]

An opaque instance pointer for a minifilter driver instance that is attached to the volume.

Iosb [out]

A pointer to caller-allocated IO_STATUS_BLOCK structure that receives the final completion status and information about the query operation. For successful calls that return data, the number of bytes written to the FsInformation buffer is returned in the structure's Information member.

FsInformation [out]

A pointer to a caller-allocated buffer that receives the desired information about the volume. The structure of the information returned in the buffer is defined by the FsInformationClass parameter.

Length [in]

The size in bytes of the buffer that FsInformation points to. The caller should set this parameter according to the given FsInformationClass. For example, if the value of FsInformationClass is FileFsControlInformation, Length must be at least sizeof(FILE_FS_CONTROL_INFORMATION).

FsInformationClass [in]

The type of information requested. One of the following value.

ValueMeaning
FileFsAttributeInformation

Return a FILE_FS_ATTRIBUTE_INFORMATION structure containing attribute information about the file system responsible for the volume.

FileFsControlInformation

Return a FILE_FS_CONTROL_INFORMATION structure containing file system control information about the volume.

FileFsDeviceInformation

Return a FILE_FS_DEVICE_INFORMATION structure containing device information for the volume.

FileFsDriverPathInformation

Return a FILE_FS_DRIVER_PATH_INFORMATION structure containing information about whether a specified driver is in the I/O path for the volume. The caller must store the name of the driver into the FILE_FS_DRIVER_PATH_INFORMATION structure before calling FltQueryVolumeInformation.

FileFsFullSizeInformation

Return a FILE_FS_FULL_SIZE_INFORMATION structure containing information about the total amount of space available on the volume.

FileFsObjectIdInformation

Return a FILE_FS_OBJECTID_INFORMATION structure containing file system-specific object ID information for the volume. Be aware that this is not the same as the (GUID-based) unique volume name assigned by the operating system.

Note  This value is not valid for snapshot volumes.
FileFsSizeInformation

Return a FILE_FS_SIZE_INFORMATION structure containing information about the amount of space on the volume that is available to the user associated with the calling thread.

FileFsVolumeInformation

Return a FILE_FS_VOLUME_INFORMATION containing information about the volume such as the volume label, serial number, and creation time.

FileFsSectorSizeInformation

Return a FILE_FS_SECTOR_SIZE_INFORMATION structure that contains information about the physical and logical sector sizes of a volume.

 

Return value

The FltQueryVolumeInformation routine returns STATUS_SUCCESS or an appropriate NTSTATUS value such as one of the following:

Return codeDescription
STATUS_INSUFFICIENT_RESOURCES

FltQueryVolumeInformation encountered a pool allocation failure. This is an error code.

STATUS_INVALID_INFO_CLASS

An invalid value was specified for FsInformationClass. This is an error code.

STATUS_INVALID_PARAMETER

The Instance is attached to a network volume. FltQueryVolumeInformation cannot be used to query network volume information. This is an error code.

 

Remarks

Fields in the FILE_XXX_INFORMATION structure that are not supported by the underlying file system are set to zero.

To change information about a volume, call FltSetVolumeInformation.

To get volume property information for the given volume, call FltGetVolumeProperties.

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

To get the volume GUID name for a given volume, call FltGetVolumeGuidName.

Requirements

Target platform

Universal

Version

Available and supported in Microsoft Windows 2000 Update Rollup 1 for SP4, Windows XP with Service Pack 2 (SP2), Windows Server 2003 SP1 and later Windows operating systems. Not available or supported in Windows 2000 SP4 and earlier Windows operating systems.

Header

Fltkernel.h (include FltKernel.h)

Library

FltMgr.lib

IRQL

PASSIVE_LEVEL

See also

FILE_FS_ATTRIBUTE_INFORMATION
FILE_FS_CONTROL_INFORMATION
FILE_FS_DEVICE_INFORMATION
FILE_FS_DRIVER_PATH_INFORMATION
FILE_FS_FULL_SIZE_INFORMATION
FILE_FS_OBJECTID_INFORMATION
FILE_FS_SECTOR_SIZE_INFORMATION
FILE_FS_SIZE_INFORMATION
FILE_FS_VOLUME_INFORMATION
FltGetVolumeGuidName
FltGetVolumeName
FltGetVolumeProperties
FltSetVolumeInformation

 

 

Send comments about this topic to Microsoft

Show:
© 2015 Microsoft