Функция FltQueryVolumeInformationFile (fltkernel.h)

FltQueryVolumeInformationFile извлекает сведения о томе для заданного файла, каталога, устройства хранения или тома.

Синтаксис

NTSTATUS FLTAPI FltQueryVolumeInformationFile(
  [in]            PFLT_INSTANCE        Instance,
  [in]            PFILE_OBJECT         FileObject,
  [out]           PVOID                FsInformation,
  [in]            ULONG                Length,
  [in]            FS_INFORMATION_CLASS FsInformationClass,
  [out, optional] PULONG               LengthReturned
);

Параметры

[in] Instance

Указатель непрозрачного экземпляра для вызывающего объекта. Этот параметр является обязательным и не может иметь значение NULL.

[in] FileObject

Указатель на объект файла для открытого файла, каталога, устройства хранения или тома. Этот параметр является обязательным и не может иметь значение NULL.

[out] FsInformation

Указатель на буфер, выделенный вызывающим объектом, который получает сведения о файле. Параметр FsInformationClass указывает тип сведений. Этот параметр является обязательным и не может иметь значение NULL.

[in] Length

Размер буфера FsInformation в байтах .

[in] FsInformationClass

Тип возвращаемых сведений о томе. Это может быть:

Значение Значение
FileFsAttributeInformation
Возвращает структуру FILE_FS_ATTRIBUTE_INFORMATION , содержащую сведения об атрибутах файловой системы, ответственной за том.
FileFsControlInformation
Возвращает структуру FILE_FS_CONTROL_INFORMATION , содержащую сведения об управлении файловой системой тома.
FileFsDeviceInformation
Возвращает структуру FILE_FS_DEVICE_INFORMATION , содержащую сведения об устройстве для тома.
FileFsDriverPathInformation
Возвращает структуру FILE_FS_DRIVER_PATH_INFORMATION , содержащую сведения о том, находится ли указанный драйвер в пути ввода-вывода для тома. Вызывающий объект должен сохранить имя драйвера в структуре FILE_FS_DRIVER_PATH_INFORMATION перед вызовом FltQueryVolumeInformationFile.
FileFsFullSizeInformation
Возвращает структуру FILE_FS_FULL_SIZE_INFORMATION , содержащую сведения об общем объеме свободного места на томе.
FileFsObjectIdInformation
Возвращает структуру FILE_FS_OBJECTID_INFORMATION , содержащую сведения об идентификаторе объекта для конкретной файловой системы для тома. Обратите внимание, что это не то же самое, что уникальное имя тома (на основе GUID), назначенное операционной системой.
FileFsSizeInformation
Возвращает структуру FILE_FS_SIZE_INFORMATION , содержащую сведения о томе, доступном пользователю, связанному с вызывающим потоком.
FileFsVolumeInformation
Возвращает FILE_FS_VOLUME_INFORMATION , содержащую сведения о томе, например метку тома, серийный номер и время создания.
FileFsSectorSizeInformation
Возвращает FILE_FS_SECTOR_SIZE_INFORMATION структуру, содержащую сведения о физических и логических размерах сектора тома.

[out, optional] LengthReturned

Указатель на переменную, выделенную вызывающим объектом, которая получает размер (в байтах) сведений, возвращаемых в буфер FsInformation . Этот параметр является необязательным и может иметь значение NULL.

Возвращаемое значение

FltQueryVolumeInformationFile возвращает STATUS_SUCCESS или соответствующее значение NTSTATUS , например следующее:

Код возврата Описание
STATUS_VOLUME_DISMOUNTED
В настоящее время том не подключен. Это код ошибки.

Комментарии

FltQueryVolumeInformationFile извлекает сведения о томе для заданного файла, каталога, устройства хранения или тома.

Если FileObject представляет открытое устройство напрямую, в качестве значения FsInformationClass можно указать только FileFsDeviceInformation.

FltQueryVolumeInformationFile возвращает ноль в любом элементе структуры FILE_FS_XXX_INFORMATION, которая не поддерживается определенной файловой системой.

Требования

Требование Значение
Целевая платформа Универсальное
Верхняя часть fltkernel.h (включая Fltkernel.h)
Библиотека FltMgr.lib
DLL Fltmgr.sys
IRQL PASSIVE_LEVEL

См. также раздел

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

FltSetInformationFile