Поделиться через


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

Подпрограмма FltQueryVolumeInformation извлекает сведения о томе, к которому присоединен данный экземпляр.

Синтаксис

NTSTATUS FLTAPI FltQueryVolumeInformation(
  [in]  PFLT_INSTANCE        Instance,
  [out] PIO_STATUS_BLOCK     Iosb,
  [out] PVOID                FsInformation,
  [in]  ULONG                Length,
  [in]  FS_INFORMATION_CLASS FsInformationClass
);

Параметры

[in] Instance

Указатель непрозрачного экземпляра для экземпляра драйвера минифильтра, подключенного к тому.

[out] Iosb

Указатель на структуру, выделенную вызывающим объектом IO_STATUS_BLOCK, которая получает состояние окончательного завершения и сведения об операции запроса. Для успешных вызовов, возвращающих данные, в элементе Information структуры возвращается число байтов, записанных в буфер FsInformation.

[out] FsInformation

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

[in] Length

Размер буфера, на который указывает FsInformation, в байтах . Вызывающий объект должен задать этот параметр в соответствии с заданным FsInformationClass. Например, если fsInformationClass имеет значение FileFsControlInformation, длина должна быть не менее sizeof(FILE_FS_CONTROL_INFORMATION).

[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 перед вызовом FltQueryVolumeInformation.
FileFsFullSizeInformation
Возвращает FILE_FS_FULL_SIZE_INFORMATION структуру, содержащую сведения об общем объеме свободного места на томе.
FileFsObjectIdInformation
Возвращает структуру FILE_FS_OBJECTID_INFORMATION , содержащую сведения об идентификаторе объекта для конкретной файловой системы для тома. Имейте в виду, что это не то же самое, что уникальное имя тома (на основе GUID), присвоенное операционной системой.
Примечание Это значение недопустимо для томов snapshot.
 
FileFsSizeInformation
Возвращает структуру FILE_FS_SIZE_INFORMATION , содержащую сведения о томе, доступном пользователю, связанному с вызывающим потоком.
FileFsVolumeInformation
Возвращает FILE_FS_VOLUME_INFORMATION , содержащую сведения о томе, например метку тома, серийный номер и время создания.
FileFsSectorSizeInformation
Возвращает FILE_FS_SECTOR_SIZE_INFORMATION структуру, содержащую сведения о физических и логических размерах сектора тома.

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

Подпрограмма FltQueryVolumeInformation возвращает STATUS_SUCCESS или соответствующее значение NTSTATUS , например одно из следующих значений:

Код возврата Описание
STATUS_INSUFFICIENT_RESOURCES

FltQueryVolumeInformation столкнулся с ошибкой выделения пула. Это код ошибки.

STATUS_INVALID_INFO_CLASS
Для FsInformationClass указано недопустимое значение. Это код ошибки.
STATUS_INVALID_PARAMETER
Экземпляр подключен к сетевому тому. FltQueryVolumeInformation нельзя использовать для запроса сведений о томе сети. Это код ошибки.

Комментарии

Поля в структуре FILE_XXX_INFORMATION, которые не поддерживаются базовой файловой системой, равны нулю.

Чтобы изменить сведения о томе, вызовите FltSetVolumeInformation.

Чтобы получить сведения о свойствах тома для заданного тома, вызовите метод FltGetVolumeProperties.

Чтобы получить имя тома для заданного тома, вызовите FltGetVolumeName.

Чтобы получить имя GUID тома для заданного тома, вызовите FltGetVolumeGuidName.

Требования

Требование Значение
Минимальная версия клиента Доступно и поддерживается в накопительном пакете обновления 1 для Microsoft Windows 2000 с пакетом обновления 1 (SP4), Windows XP с пакетом обновления 2 (SP2), Windows Server 2003 с пакетом обновления 1 (SP1) и более поздних версиях операционных систем Windows. Недоступно или не поддерживается в Windows 2000 с пакетом обновления 4 (SP4) и более ранних версиях операционных систем Windows.
Целевая платформа Универсальное
Верхняя часть 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

FltGetVolumeGuidName

FltGetVolumeName

FltGetVolumeProperties

FltSetVolumeInformation