Registrieren des Minifiltertreibers

Jeder Minifiltertreiber muss FltRegisterFilter aus seiner DriverEntry-Routine aufrufen, um sich selbst der globalen Liste der registrierten Minifiltertreiber hinzuzufügen und dem Filter-Manager eine Liste mit Rückrufroutinen und anderen Informationen über den Treiber bereitzustellen.

Im MiniSpy-Beispiel wird der Minifiltertreiber wie im folgenden Codebeispiel gezeigt registriert:

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

FltRegisterFilter verfügt über zwei Eingabeparameter. Der erste Treiber, Driver, ist der Treiberobjektzeiger, den der Minifiltertreiber als DriverObject-Eingabeparameter für seine DriverEntry-Routine empfangen hat. Die zweite , Registrierung, ist ein Zeiger auf eine FLT_REGISTRATION Struktur, die Einstiegspunkte zu den Rückrufroutinen des Minifiltertreibers enthält.

Darüber hinaus verfügt FltRegisterFilter über den Ausgabeparameter RetFilter, der einen undurchsichtigen Filterzeiger für den Minifiltertreiber empfängt. Dieser Filterzeiger ist ein erforderlicher Eingabeparameter für viele Flt Xxx-Unterstützungsroutinen, einschließlich FltStartFiltering und FltUnregisterFilter.