Schreiben einer DriverEntry-Routine für einen Minifiltertreiber

Jeder Dateisystem-Minifiltertreiber muss über eine DriverEntry-Routine verfügen. Die DriverEntry-Routine wird aufgerufen, wenn der Minifiltertreiber geladen wird.

Die DriverEntry-Routine führt eine globale Initialisierung durch, registriert den Minifiltertreiber und initiiert die Filterung. Diese Routine wird in einem Systemthreadkontext bei IRQL PASSIVE_LEVEL ausgeführt.

Die DriverEntry-Routine ist wie folgt definiert:

NTSTATUS 
(*PDRIVER_INITIALIZE) ( 
    IN PDRIVER_OBJECT DriverObject, 
    IN PUNICODE_STRING RegistryPath 
    ); 

DriverEntry verfügt über zwei Eingabeparameter. Das erste DriverObject ist das Treiberobjekt, das beim Laden des Minifiltertreibers erstellt wurde. Der zweite RegistryPath ist ein Zeiger auf eine gezählte Unicode-Zeichenfolge, die einen Pfad zum Registrierungsschlüssel des Minifiltertreibers enthält.

Die DriverEntry-Routine eines Minifiltertreibers muss die folgenden Schritte ausführen:

  1. Führen Sie alle erforderlichen globalen Initialisierungen für den Minifiltertreiber aus.

  2. Registrieren Sie den Minifiltertreiber, indem Sie FltRegisterFilter aufrufen.

  3. Initiieren Sie die Filterung, indem Sie FltStartFiltering aufrufen.

  4. Gibt einen entsprechenden NTSTATUS-Wert zurück.

Dieser Abschnitt umfasst Folgendes:

Registrieren des Minifilter-Treibers

Initiieren der Filterung

Zurückgeben des Status von einer Minifilter DriverEntry-Routine