FltRegisterFilter-Funktion (fltkernel.h)
FltRegisterFilter registriert einen Minifiltertreiber.
Syntax
NTSTATUS FLTAPI FltRegisterFilter(
[in] PDRIVER_OBJECT Driver,
[in] const FLT_REGISTRATION *Registration,
[out] PFLT_FILTER *RetFilter
);
Parameter
[in] Driver
Ein Zeiger auf das Treiberobjekt für den Minifiltertreiber. Dies sollte derselbe Treiberobjektzeiger sein, der als Eingabe an die DriverEntry-Routine des Minifiltertreibers übergeben wurde.
[in] Registration
Ein Zeiger auf eine vom Anrufer zugewiesene Minifiltertreiberregistrierungsstruktur (FLT_REGISTRATION).
[out] RetFilter
Ein Zeiger auf eine vom Aufrufer zugewiesene Variable, die einen undurchsichtigen Filterzeiger für den Aufrufer empfängt.
Rückgabewert
FltRegisterFilter gibt STATUS_SUCCESS oder einen entsprechenden NTSTATUS-Wert zurück, z. B. einen der folgenden:
Rückgabecode | Beschreibung |
---|---|
|
FltRegisterFilter ist ein Poolzuordnungsfehler aufgetreten. Dies ist ein Fehlercode. |
|
Einer der folgenden:
|
|
Der Filter-Manager wurde nicht initialisiert, als der Filter versuchte, sich zu registrieren. Stellen Sie sicher, dass der Filter-Manager als Treiber geladen ist. Dies ist ein Fehlercode. |
|
Der Filterdienstschlüssel wird in der Registrierung nicht gefunden.
Oder Der Filter instance ist nicht registriert. |
Hinweise
Jeder Minifiltertreiber muss FltRegisterFilter aus seiner DriverEntry-Routine aufrufen, um sich der globalen Liste der registrierten Minifiltertreiber hinzuzufügen und dem Filter-Manager eine Liste mit Rückruffunktionen und anderen Informationen zum Minifiltertreiber bereitzustellen.
FltRegisterFilter gibt einen undurchsichtigen Filterzeiger für den Minifiltertreiber in *RetFilter zurück. Dieser Zeigerwert identifiziert den Minifiltertreiber eindeutig und bleibt konstant, solange der Minifiltertreiber geladen wird. Der Minifiltertreiber sollte diesen Zeiger speichern, da er ein erforderlicher Parameter für FltStartFiltering und FltUnregisterFilter ist.
Nach dem Aufruf von FltRegisterFilter ruft ein Minifiltertreiber in der Regel FltStartFiltering auf, um mit der Filterung von E/A-Vorgängen zu beginnen.
Ein Minifiltertreiber kann nur FltRegisterFilter aufrufen, um sich selbst zu registrieren, nicht einen anderen Minifiltertreiber.
Um die Registrierung aufzuheben, ruft ein Minifiltertreiber FltUnregisterFilter..
Anforderungen
Anforderung | Wert |
---|---|
Zielplattform | Universell |
Header | fltkernel.h (include Fltkernel.h) |
Bibliothek | FltMgr.lib |
DLL | Fltmgr.sys |
IRQL | <= APC_LEVEL |