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


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

Подпрограмма fltQueryInformationByName возвращает запрошенные сведения об именованном файле.

Синтаксис

NTSTATUS FLTAPI FltQueryInformationByName(
  [in]           PFLT_FILTER               Filter,
  [in, optional] PFLT_INSTANCE             Instance,
  [in]           POBJECT_ATTRIBUTES        ObjectAttributes,
  [out]          PIO_STATUS_BLOCK          IoStatusBlock,
  [out]          PVOID                     FileInformation,
  [in]           ULONG                     Length,
  [in]           FILE_INFORMATION_CLASS    FileInformationClass,
  [in, optional] PIO_DRIVER_CREATE_CONTEXT DriverContext
);

Параметры

[in] Filter

Указывает фильтр, инициирующий эту операцию.

[in, optional] Instance

Указывает экземпляр, на который предназначено создание.

Важный

экземпляр не обязательно является экземпляром, инициирующим. Он должен соответствовать экземпляру, к которому предназначено создание, если этот параметр не являетсяNULL. Если экземпляр не являетсяNULL, то обратный вызов текущего фильтра не вызывается. Обратные вызовы начинаются с фильтра под текущим фильтром.

[in] ObjectAttributes

Указатель на структуру [OBJECT_ATTRIBUTES] с атрибутами, используемыми для объекта файла (например, его имя, SECURITY_DESCRIPTOR и т. д.).

[out] IoStatusBlock

Указатель на структуру IO_STATUS_BLOCK, содержащую блок состояния ввода-вывода вызывающего объекта.

[out] FileInformation

Указатель на структуру, которая получает запрошенные сведения, возвращаемые о файле. Тип структуры определяется FileInformationClass.

[in] Length

Длина в байтах буфера FileInformation.

[in] FileInformationClass

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

Ценность Тип структуры, на которую fileInformation указывает
FileStatInformation FILE_STAT_INFORMATION
FileStatLxInformation **FILE_STAT_LX_INFORMATION
FileCaseSensitiveInformation FILE_CASE_SENSITIVE_INFORMATION. Вызывающий объект должен открыть файл с флагом FILE_READ_ATTRIBUTES, указанным в параметре DesiredAccess. Это значение доступно начиная с Windows 10 версии 1803.
FileCaseSensitiveInformationForceAccessCheck FILE_CASE_SENSITIVE_INFORMATION. Это специальная версия операции FileCaseSensitiveInformation, которая используется для принудительного выполнения операций ввода-вывода в диспетчере операций ввода-вывода для проверки доступа драйвера режима ядра, аналогично проверкам, применяемым к вызывающему объекту в пользовательском режиме. Эта операция распознается только диспетчером операций ввода-вывода, и файловая система никогда не должна получать ее. Это значение доступно начиная с Windows 10 версии 1803.

[in, optional] DriverContext

Указатель на пространство контекста драйвера.

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

Возвращает STATUS_SUCCESS, если операция выполнена успешно. В противном случае возвращает соответствующий код ошибки NTSTATUS.

Замечания

Эта функция возвращает запрошенные сведения о файле без открытия фактического файла. Возвращаемая информация определяется FileInformationClass, которая указана, и она помещается в буфер FileInformation вызывающего объекта.

Если экземпляр не являетсяnull то создание будет предназначено для указанного экземпляра, вызывая все фильтры под текущим фильтром перед отправкой ввода-вывода вниз. Если экземпляреNULL, то ввод-вывод всегда отправляется в верхнюю часть стека фильтров.

Требования

Требование Ценность
минимальные поддерживаемые клиентские Windows 10 версии 1706
заголовка fltkernel.h
библиотеки FltMgr.lib
DLL Fltmgr.sys

См. также

FILE_INFORMATION_CLASS