Freigeben über


Initiieren der Filterung

Nach dem Aufrufen von FltRegisterFilter ruft eine DriverEntry-Routine des Minifilters in der Regel FltStartFiltering auf, um mit dem Filtern von E/A-Vorgängen zu beginnen.

Jeder Minifiltertreiber muss FltStartFiltering aus seiner 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 vollständig aktiven Minifiltertreiber und stellt ihn mit E/A-Anforderungen und Benachrichtigungen von Volumes dar, an die angefügt werden soll. Der Minifiltertreiber muss darauf vorbereitet sein, diese E/A-Anforderungen und Benachrichtigungen zu empfangen, auch 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 selbst aufzuheben.