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


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

FltQueryInformationFile извлекает сведения для данного файла.

Синтаксис

NTSTATUS FLTAPI FltQueryInformationFile(
  [in]            PFLT_INSTANCE          Instance,
  [in]            PFILE_OBJECT           FileObject,
  [out]           PVOID                  FileInformation,
  [in]            ULONG                  Length,
  [in]            FILE_INFORMATION_CLASS FileInformationClass,
  [out, optional] PULONG                 LengthReturned
);

Параметры

[in] Instance

Указатель непрозрачного экземпляра для вызывающего объекта. Этот параметр является обязательным и не может быть null.

[in] FileObject

Указатель объекта файла. Этот параметр является обязательным и не может быть null.

[out] FileInformation

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

[in] Length

Размер в байтах буфера FileInformation.

[in] FileInformationClass

Значение FILE_INFORMATION_CLASS, указывающее тип сведений о файле, возвращаемых в буфере FileInformation.

[out, optional] LengthReturned

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

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

FltQueryInformationFile возвращает STATUS_SUCCESS или соответствующее значение NTSTATUS, например следующее:

Возвращаемый код Описание
STATUS_VOLUME_DISMOUNTED
Файл находится на томе, который в настоящее время не подключен. Это код ошибки.

Замечания

Драйвер минифильтра вызывает FltQueryInformationFile для получения сведений о файле, определяемом FileObject. В настоящее время файл должен быть открыт.

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

Вызывающие FltQueryInformationFile должны выполняться в IRQL = PASSIVE_LEVEL и с включеннымиAPI.

ПРИМЕЧАНИЕ. не вызывайте эту подпрограмму со значением IRP верхнего уровня, так как это может привести к взаимоблокировке системы.

Требования

Требование Ценность
целевая платформа Всеобщий
заголовка fltkernel.h (include Fltkernel.h)
библиотеки FltMgr.lib
DLL Fltmgr.sys
IRQL PASSIVE_LEVEL (см. раздел "Примечания")

См. также

FILE_INFORMATION_CLASS

FltQueryVolumeInformationFile

FltSetInformationFile

ZwQueryInformationFile