Функция ZwQueryVolumeInformationFile (ntddk.h)

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

Синтаксис

NTSYSAPI NTSTATUS ZwQueryVolumeInformationFile(
  [in]  HANDLE               FileHandle,
  [out] PIO_STATUS_BLOCK     IoStatusBlock,
  [out] PVOID                FsInformation,
  [in]  ULONG                Length,
  [in]  FS_INFORMATION_CLASS FsInformationClass
);

Параметры

[in] FileHandle

Дескриптор объекта файла, возвращенного ZwCreateFile или ZwOpenFile для открытого файла, каталога, устройства хранения или тома, для которого запрашиваются сведения о томе.

[out] IoStatusBlock

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

[out] FsInformation

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

[in] Length

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

[in] FsInformationClass

Тип возвращаемых сведений о томе. Задайте для этого элемента одно из следующих значений перечисления FS_INFORMATION_CLASS.

Значение Значение
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 перед вызовом ZwQueryVolumeInformationFile.
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 структуру, содержащую сведения о физических и логических размерах сектора тома.

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

ZwQueryVolumeInformationFile возвращает STATUS_SUCCESS или соответствующее состояние ошибки.

Комментарии

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

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

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

Сведения о других процедурах запроса сведений о файлах см. в разделе Объекты файлов.

Минифильтры должны использовать FltQueryVolumeInformationFile вместо ZwQueryVolumeInformationFile.

Вызывающие файлы ZwQueryVolumeInformationFile должны выполняться в среде IRQL = PASSIVE_LEVEL и с включенными специальными api ядра.

Если вызов функции ZwQueryVolumeInformationFile выполняется в пользовательском режиме, следует использовать имя "NtQueryVolumeInformationFile" вместо "ZwQueryVolumeInformationFile".

Для вызовов из драйверов режима ядра версии NtXxx и ZwXxx подпрограммы Собственные системные службы Windows могут вести себя по-разному, так как они обрабатывают и интерпретируют входные параметры. Дополнительные сведения о связи между версиями подпрограмм NtXxx и ZwXxx см. в разделе Использование версий NT и Zw подпрограмм собственных системных служб.

Требования

Требование Значение
Целевая платформа Универсальное
Верхняя часть ntddk.h (включая Ntifs.h, Ntddk.h)
Библиотека NtosKrnl.lib
DLL NtosKrnl.exe
IRQL PASSIVE_LEVEL (см. раздел "Примечания")
Правила соответствия DDI HwStorPortProhibitedDIs(storport), PowerIrpDDis(wdm)

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

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_SIZE_INFORMATION

FILE_FS_VOLUME_INFORMATION

FltQueryVolumeInformationFile

IRP_MJ_QUERY_VOLUME_INFORMATION

IRP_MJ_SET_VOLUME_INFORMATION

Использование версий nt и Zw собственных системных служб

ZwCreateFile

ZwOpenFile

ZwQueryDirectoryFile

ZwQueryInformationFile

ZwSetInformationFile

ZwSetVolumeInformationFile