Регистрация драйвера минифильтра
Каждый драйвер минифильтра должен вызывать FltRegisterFilter из своей процедуры DriverEntry , чтобы добавить себя в глобальный список зарегистрированных драйверов минифильтра и предоставить диспетчеру фильтров список процедур обратного вызова и другие сведения о драйвере.
В примере MiniSpy драйвер мини-фильтра регистрируется, как показано в следующем примере кода:
NTSTATUS status;
status = FltRegisterFilter(
DriverObject, //Driver
&FilterRegistration, //Registration
&MiniSpyData.FilterHandle); //RetFilter
FltRegisterFilter имеет два входных параметра. Первый, Driver, — это указатель на объект драйвера, который драйвер минифильтра получил в качестве входного параметра DriverObject для своей подпрограммы DriverEntry . Вторая, Регистрация, — это указатель на структуру FLT_REGISTRATION , содержащую точки входа в процедуры обратного вызова драйвера минифильтра.
Кроме того, у FltRegisterFilter есть выходной параметр RetFilter, который получает указатель непрозрачного фильтра для драйвера минифильтра. Этот указатель фильтра является обязательным входным параметром для многих подпрограмм поддержки FltXxx, включая FltStartFiltering и FltUnregisterFilter.