Initiieren der Filterung

Nach dem Aufrufen von FltRegisterFilter ruft die DriverEntry-Routine eines Minifiltertreibers in der Regel FltStartFiltering auf, um mit der Filterung von E/A-Vorgängen zu beginnen.

Jeder Minifiltertreiber muss FltStartFiltering über seine DriverEntry-Routine aufrufen, um den Filter-Manager zu benachrichtigen, dass der Minifiltertreiber bereit ist, mit dem Anfügen an Volumes und Filtern von E/A-Anforderungen zu beginnen. Nachdem der Minifiltertreiber FltStartFiltering aufgerufen hat, behandelt der Filter-Manager den Minifiltertreiber als voll aktiven Minifiltertreiber und stellt ihn mit E/A-Anforderungen und Benachrichtigungen über Volumes zum Anfügen an. Der Minifiltertreiber muss darauf vorbereitet sein, diese E/A-Anforderungen und Benachrichtigungen zu empfangen, noch bevor FltStartFiltering zurückgegeben wird.

Im MiniSpy-Beispieltreiber wird FltStartFiltering aufgerufen, wie im folgenden Codebeispiel gezeigt:

status = FltStartFiltering( MiniSpyData.FilterHandle );
if( !NT_SUCCESS( status )) {
  FltUnregisterFilter( MiniSpyData.FilterHandle );
}

Wenn der Aufruf von FltStartFiltering nicht STATUS_SUCCESS zurückgibt, muss der Minifiltertreiber FltUnregisterFilter aufrufen, um die Registrierung aufzuheben.