Регистрация драйвера минифильтра

Каждый драйвер минифильтра должен вызвать FltRegisterFilter из своей подпрограммы DriverEntry , чтобы добавить себя в глобальный список зарегистрированных драйверов минифильтратора и предоставить диспетчеру фильтров список подпрограмм обратного вызова и другие сведения о драйвере.

В примере MiniSpy драйвер минифильтра зарегистрирован, как показано в следующем примере кода:

NTSTATUS status;
status = FltRegisterFilter(
           DriverObject,                  //Driver
           &FilterRegistration,           //Registration
           &MiniSpyData.FilterHandle);    //RetFilter

FltRegisterFilter имеет два входных параметра. Во-первых, Driver, — это указатель объекта драйвера, который драйвер минифильтра получил в качестве входного параметра DriverObject в подпрограмму DriverEntry . Во-вторых, Registration — это указатель на структуру FLT_REGISTRATION, содержащую точки входа в подпрограммы обратного вызова драйвера минифильтра.

Кроме того, FltRegisterFilter имеет выходной параметр RetFilter, который получает указатель непрозрачного фильтра для драйвера минифильтра. Этот указатель фильтра является обязательным входным параметром для многих подпрограмм поддержки FltXxx, включая FltStartFiltering и FltUnregisterFilter.