Freigeben über


Übergeben von E/A-Vorgängen im Minifilter-Treiberinstanzstapel

Wenn die Voroperationsrückrufroutine oder -routine eines Minifiltertreibers einen E/A-Vorgang an den Filter-Manager zurückgibt, sendet der Filter-Manager den Vorgang an Minifiltertreiber unterhalb des aktuellen Minifiltertreibers im Minifiltertreiber instance Stapel und an Legacyfilter und das Dateisystem zur weiteren Verarbeitung.

Die Rückrufroutine eines Minifiltertreibers vor der Operation gibt einen E/A-Vorgang zur weiteren Verarbeitung an den Filter-Manager zurück, indem einer der folgenden status-Werte zurückgegeben wird:

  • FLT_PREOP_SUCCESS_NO_CALLBACK (alle Vorgangstypen)

  • FLT_PREOP_SUCCESS_WITH_CALLBACK (alle Vorgangstypen)

  • FLT_PREOP_SYNCHRONIZE (nur IRP-basierte E/A-Vorgänge)

Hinweis Obwohl FLT_PREOP_SYNCHRONIZE nur für IRP-basierte E/A-Vorgänge zurückgegeben werden sollten, können Sie diesen status Wert für andere Vorgangstypen zurückgeben. Wenn er für einen E/A-Vorgang zurückgegeben wird, bei dem es sich nicht um einen IRP-basierten E/A-Vorgang handelt, behandelt der Filter-Manager diesen Rückgabewert so, als wäre er FLT_PREOP_SUCCESS_WITH_CALLBACK.

Alternativ gibt die Arbeitsroutine für einen Vorgang, der in einer Preoperation-Rückrufroutine geschrieben wurde, einen E/A-Vorgang an den Filter-Manager zurück, indem sie einen der vorherigen status Werte im CallbackStatus-Parameter übergibt, wenn FltCompletePendedPreOperation aufgerufen wird, um die Verarbeitung für den E/A-Vorgang fortzusetzen.

Dieser Abschnitt umfasst Folgendes:

Zurückgeben von FLT_PREOP_SUCCESS_WITH_CALLBACK

Zurückgeben von FLT_PREOP_SUCCESS_NO_CALLBACK

Zurückgeben von FLT_PREOP_SYNCHRONIZE