Registro del controlador minifiltro
Cada controlador de minifiltro debe llamar a FltRegisterFilter desde su rutina DriverEntry para agregarse a la lista global de controladores de minifiltro registrados y para proporcionar al administrador de filtros una lista de rutinas de devolución de llamada y otra información sobre el controlador.
En el ejemplo de MiniSpy, el controlador de minifiltro se registra como se muestra en el ejemplo de código siguiente:
NTSTATUS status;
status = FltRegisterFilter(
DriverObject, //Driver
&FilterRegistration, //Registration
&MiniSpyData.FilterHandle); //RetFilter
FltRegisterFilter tiene dos parámetros de entrada. El primero, Driver, es el puntero del objeto de controlador que el controlador de minifiltro recibió como parámetro de entrada DriverObject a su rutina DriverEntry . El segundo, Registration, es un puntero a una estructura de FLT_REGISTRATION que contiene puntos de entrada a las rutinas de devolución de llamada del controlador de minifiltro.
Además, FltRegisterFilter tiene un parámetro de salida, RetFilter, que recibe un puntero de filtro opaco para el controlador de minifiltro. Este puntero de filtro es un parámetro de entrada necesario para muchas rutinas de compatibilidad fltXxx , como FltStartFiltering y FltUnregisterFilter.