Функция 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 |