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


Функция 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 структуру, которая получает окончательное состояние завершения и сведения об операции запроса. Для успешных вызовов, возвращающих данные, количество байтов, записанных в буфер FsInformation, возвращается в элементе сведений структуры.

[out] FsInformation

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

[in] Length

Размер в байтах буфера, на который FsInformation. Вызывающий объект должен задать этот параметр в соответствии с заданным FsInformationClass. Например, если значение FsInformationClass — FileFsControlInformation, Длина должна быть не менее размера(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, назначенное операционной системой.
Примечание Это значение недопустимо для томов моментальных снимков.
 
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 (SP4), Windows XP с пакетом обновления 2 (SP2), Windows Server 2003 с пакетом обновления 1 (SP1) и более поздних операционных систем Windows. Недоступно или поддерживается в операционных системах Windows 2000 с пакетом обновления 4 (SP4) и более ранних версий Windows.
целевая платформа Всеобщий
заголовка fltkernel.h (include 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