Функция 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. Если параметр Instance имеет значение, отличное от 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 , то создание будет нацелено на указанный экземпляр, вызывая все фильтры ниже текущего фильтра перед отправкой ввода-вывода вниз. Если параметр Instance имеет значение NULL, ввод-вывод всегда будет отправляться в верхнюю часть стека фильтров.

Требования

Требование Значение
Минимальная версия клиента Windows 10 версии 1706
Верхняя часть fltkernel.h
Библиотека FltMgr.lib
DLL Fltmgr.sys

См. также раздел

FILE_INFORMATION_CLASS