Функция 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_DRIVER_PATH_INFORMATION
IRP_MJ_QUERY_VOLUME_INFORMATION