Freigeben über


Ausführen der Vervollständigungsverarbeitung für einen E/A-Vorgang

Die Rückrufroutine eines Minifiltertreibers nach der Operation wird aufgerufen, wenn ein E/A-Vorgang vom zugrunde liegenden Dateisystem, von einem Legacyfilter oder von einem anderen Minifiltertreiber abgeschlossen wurde, der sich in einer geringeren Höhe im Minifiltertreiber instance Stapels befindet.

Wenn ein Minifiltertreiber instance abgerissen wird, "entwässert" der Filter-Manager außerdem alle E/A-Vorgänge, für die der instance einen Preoperationsrückruf erhalten hat und auf einen Postoperationsrückruf wartet. In dieser Situation ruft der Filter-Manager die Rückrufroutine des Minifiltertreibers nach der Operation auf, auch wenn der E/A-Vorgang nicht abgeschlossen wurde, und legt das FLTFL_POST_OPERATION_DRAINING-Flag im Flags-Eingabeparameter fest.

Wenn das flag FLTFL_POST_OPERATION_DRAINING festgelegt ist, darf der Minifiltertreiber keine normale Vervollständigungsverarbeitung durchführen. Stattdessen sollte nur die erforderliche Bereinigung durchgeführt werden, z. B. das Freigeben von Arbeitsspeicher, den der Minifiltertreiber dem CompletionContext-Parameter in seiner Rückrufroutine vor der Operation zugewiesen hat, und FLT_POSTOP_FINISHED_PROCESSING zurückgeben.

Dieser Abschnitt enthält das folgende Thema:

Sicherstellen, dass die Vervollständigungsverarbeitung am sicheren IRQL ausgeführt wird