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

Подпрограмма FltGetFilterFromName возвращает непрозрачный указатель фильтра для зарегистрированного драйвера минифильтра, имя которого соответствует значению в параметре FilterName .

Синтаксис

NTSTATUS FLTAPI FltGetFilterFromName(
  [in]  PCUNICODE_STRING FilterName,
  [out] PFLT_FILTER      *RetFilter
);

Параметры

[in] FilterName

Указатель на структуру UNICODE_STRING , содержащую имя драйвера минифильтра. (Сравнение имен не учитывает регистр.)

[out] RetFilter

Указатель на переменную, выделенную вызывающим объектом, которая получает непрозрачный указатель фильтра для драйвера минифильтра, имя которого соответствует имени в параметре FilterName . Этот параметр является обязательным и не может иметь значение NULL.

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

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

Код возврата Описание
STATUS_FLT_DELETING_OBJECT
Был найден соответствующий драйвер минифильтра, но он сносится. Это код ошибки.
STATUS_FLT_FILTER_NOT_FOUND
Соответствующий драйвер минифильтра не найден. Это код ошибки.

Комментарии

FltGetFilterFromName добавляет ссылку на непрозрачный указатель фильтра, возвращаемый в параметре RetFilter . Если этот указатель больше не нужен, вызывающий объект должен освободить его, вызвав FltObjectDereference. Таким образом, каждый успешный вызов FltGetFilterFromName должен соответствовать последующему вызову FltObjectDereference.

Чтобы зарегистрировать драйвер минифильтра в диспетчере фильтров, вызовите FltRegisterFilter.

Требования

Требование Значение
Целевая платформа Универсальное
Верхняя часть fltkernel.h (включая Fltkernel.h)
Библиотека FltMgr.lib
DLL Fltmgr.sys
IRQL <= APC_LEVEL

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

FltObjectDereference

FltRegisterFilter

UNICODE_STRING