Функция 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, которая получает окончательное состояние завершения и сведения об операции запроса. Для успешных вызовов, возвращающих данные, количество байтов, записанных в буфер 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 представляет собой открытое прямое устройство, можно указать только FileFsDeviceInformation в качестве значения FsInformationClass.
ZwQueryVolumeInformationFile возвращает ноль в любом элементе структуры FILE_XXX_INFORMATION, которая не поддерживается файловой системой.
Сведения о других подпрограммах запроса сведений о файлах см. в
Минифильтры должны использовать FltQueryVolumeInformationFile вместо ZwQueryVolumeInformationFile.
Вызывающие ZwQueryVolumeInformationFile должны выполняться в IRQL = PASSIVE_LEVEL и со специальными API ядра с поддержкой.
Если вызов функции ZwQueryVolumeInformationFile происходит в пользовательском режиме, следует использовать имя "NtQueryVolumeInformationFile" вместо "ZwQueryVolumeInformationFile".
Для вызовов драйверов в режиме ядра NtXxx и ZwXxx версии подпрограммы Windows Native System Services могут вести себя по-разному в том, как они обрабатывают и интерпретируют входные параметры. Дополнительные сведения о связи между NtXxx и ZwXxx версиями подпрограммы см. в разделе Using Nt and Zw Versions of the Native System Services Routines.
Требования
Требование | Ценность |
---|---|
целевая платформа | Всеобщий |
заголовка | ntddk.h (include Ntifs.h, Ntddk.h) |
библиотеки |
NtosKrnl.lib |
DLL | NtosKrnl.exe |
IRQL | PASSIVE_LEVEL (см. раздел "Примечания") |
правил соответствия DDI |
См. также
FILE_FS_DRIVER_PATH_INFORMATION
IRP_MJ_QUERY_VOLUME_INFORMATION
использование версий собственных системных служб и Zw