Функция 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, например следующее:
Возвращаемый код | Описание |
---|---|
|
Файл находится на томе, который в настоящее время не подключен. Это код ошибки. |
Замечания
Драйвер минифильтра вызывает 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 (см. раздел "Примечания") |