Hinweis
Für den Zugriff auf diese Seite ist eine Autorisierung erforderlich. Sie können versuchen, sich anzumelden oder das Verzeichnis zu wechseln.
Für den Zugriff auf diese Seite ist eine Autorisierung erforderlich. Sie können versuchen, das Verzeichnis zu wechseln.
In seiner DriverEntry-Routine kann ein Minifiltertreiber bis zu einer Rückrufroutine vor der Operation und bis zu einer Rückrufroutine nach der Operation für jeden Typ von E/A-Vorgängen registrieren, den er filtern muss.
Im Gegensatz zu einem älteren Dateisystemfiltertreiber kann ein Minifiltertreiber auswählen, welche Typen von E/A-Vorgängen gefiltert werden sollen. Ein Minifiltertreiber kann eine Voroperationsrückrufroutine für einen bestimmten E/A-Vorgangstyp registrieren, ohne einen Postoperationsrückruf zu registrieren und umgekehrt. Der Minifiltertreiber empfängt nur die E/A-Vorgänge, für die er eine Preoperation- oder Postoperation-Rückrufroutine registriert hat.
Eine Voraboperationsrückrufroutine ähnelt einer Dispatchroutine im älteren Filtertreibermodell. Wenn der Filter-Manager einen E/A-Vorgang verarbeitet, ruft er die Preoperation-Rückrufroutine jedes Minifiltertreibers im Minifiltertreiber instance Stapel auf, der einen für diesen E/A-Vorgang registriert hat. Der oberste Minifiltertreiber im Stapel , d. h. derjenige, dessen instance die höchste Höhe aufweist, empfängt zuerst den Vorgang. Wenn der Minifiltertreiber die Verarbeitung des Vorgangs beendet, gibt er den Vorgang an den Filter-Manager zurück, der den Vorgang dann an den nächsthöheren Minifiltertreiber übergibt usw. Wenn alle Minifiltertreiber im Minifiltertreiber instance Stapels den E/A-Vorgang verarbeitet haben – es sei denn, ein Minifiltertreiber hat den E/A-Vorgang abgeschlossen – sendet der Filter-Manager den Vorgang an Legacyfilter und das Dateisystem.
Eine Rückrufroutine nach der Operation ähnelt einer Vervollständigungsroutine im Legacy-Filtertreibermodell. Die Abschlussverarbeitung für einen E/A-Vorgang beginnt, wenn der E/A-Manager den Vorgang an das Dateisystem und ältere Filter übergibt, die über registrierte Vervollständigungsroutinen für den Vorgang verfügen. Nachdem diese Vervollständigungsroutinen abgeschlossen sind, führt der Filter-Manager die Vervollständigungsverarbeitung für den Vorgang aus. Der Filter-Manager ruft dann die Rückrufroutine nach der Operation jedes Minifiltertreibers im Minifiltertreiber instance Stapel auf, der einen für diesen E/A-Vorgang registriert hat. Der untere Minifiltertreiber im Stapel , d. h. der Treiber, dessen instance die niedrigste Höhe aufweist, empfängt zuerst den Vorgang. Wenn der Minifiltertreiber die Verarbeitung des Vorgangs abgeschlossen hat, wird er an den Filter-Manager zurückgegeben, der den Vorgang dann an den nächstniedrigsten Minifiltertreiber übergibt usw.
Dieser Abschnitt umfasst Folgendes:
Registrieren von Preoperations- und Postoperation-Rückrufroutinen
Filtern von E/A-Vorgängen in einem Minifiltertreiber
Schreiben von Preoperation-Rückrufroutinen
Schreiben von Postoperation-Rückrufroutinen
Ändern der Parameter für einen E/A-Vorgang