Функция FltRegisterFilter (fltkernel.h)
FltRegisterFilter регистрирует драйвер минифильтра.
Синтаксис
NTSTATUS FLTAPI FltRegisterFilter(
[in] PDRIVER_OBJECT Driver,
[in] const FLT_REGISTRATION *Registration,
[out] PFLT_FILTER *RetFilter
);
Параметры
[in] Driver
Указатель на объект драйвера для драйвера минифильтра. Это должен быть тот же указатель на объект драйвера, который был передан в качестве входных данных в подпрограмму DriverEntry драйвера минифильтра.
[in] Registration
Указатель на структуру регистрации драйвера минифильтра, выделенной вызывающим объектом (FLT_REGISTRATION).
[out] RetFilter
Указатель на переменную, выделенную вызывающим объектом, которая получает непрозрачный указатель фильтра для вызывающего объекта.
Возвращаемое значение
FltRegisterFilter возвращает STATUS_SUCCESS или соответствующее значение NTSTATUS, например одно из следующих значений:
Код возврата | Описание |
---|---|
|
FltRegisterFilter столкнулся с ошибкой выделения пула. Это код ошибки. |
|
Это может быть:
|
|
Диспетчер фильтров не инициализирован при попытке регистрации фильтра. Убедитесь, что диспетчер фильтров загружен в качестве драйвера. Это код ошибки. |
|
Ключ службы фильтра не найден в реестре.
-или- Экземпляр фильтра не зарегистрирован. |
Комментарии
Каждый драйвер минифильтра должен вызывать FltRegisterFilter из своей подпрограммы DriverEntry , чтобы добавить себя в глобальный список зарегистрированных драйверов минифильтров и предоставить диспетчеру фильтров список функций обратного вызова и другие сведения о драйвере минифильтра.
FltRegisterFilter возвращает непрозрачный указатель фильтра для драйвера минифильтра в *RetFilter. Это значение указателя однозначно идентифицирует драйвер минифильтра и остается постоянным до тех пор, пока драйвер минифильтра загружен. Драйвер минифильтра должен сохранить этот указатель, так как это обязательный параметр для FltStartFiltering и FltUnregisterFilterer.
После вызова FltRegisterFilter драйвер минифильтра обычно вызывает FltStartFiltering , чтобы начать фильтрацию операций ввода-вывода.
Драйвер минифильтра может вызывать только FltRegisterFilter , чтобы зарегистрировать себя, а не другой драйвер минифильтра.
Чтобы отменить регистрацию, драйвер минифильтра вызывает FltUnregisterFilter..
Требования
Требование | Значение |
---|---|
Целевая платформа | Универсальное |
Верхняя часть | fltkernel.h (включая Fltkernel.h) |
Библиотека | FltMgr.lib |
DLL | Fltmgr.sys |
IRQL | <= APC_LEVEL |
См. также раздел
Обратная связь
https://aka.ms/ContentUserFeedback.
Ожидается в ближайшее время: в течение 2024 года мы постепенно откажемся от GitHub Issues как механизма обратной связи для контента и заменим его новой системой обратной связи. Дополнительные сведения см. в разделеОтправить и просмотреть отзыв по