FltCompletePendedPreOperation-Funktion (fltkernel.h)
FltCompletePendedPreOperation setzt die Verarbeitung für einen E/A-Vorgang fort, der in der PFLT_PRE_OPERATION_CALLBACK-Routine (Preoperation Callback) eines Minifiltertreibers geschrieben wurde.
Syntax
VOID FLTAPI FltCompletePendedPreOperation(
PFLT_CALLBACK_DATA CallbackData,
[in] FLT_PREOP_CALLBACK_STATUS CallbackStatus,
[in, optional] PVOID Context
);
Parameter
CallbackData
Zeiger auf die Rückrufdatenstruktur (FLT_CALLBACK_DATA) für den E/A-Vorgang. Dieser Parameter ist erforderlich und darf nicht NULL sein.
[in] CallbackStatus
Der status Wert, den der Minifiltertreiber für diesen E/A-Vorgang zurückgibt. Kann nicht FLT_PREOP_PENDING, FLT_PREOP_SYNCHRONIZE oder FLT_PREOP_DISALLOW_FASTIO werden. Muss einer der folgenden FLT_PREOP_CALLBACK_STATUS Werte sein. Weitere Informationen zur Auswirkung dieser Werte finden Sie im Abschnitt Hinweise des Referenzeintrags für PFLT_PRE_OPERATION_CALLBACK.
Wert | Bedeutung |
---|---|
FLT_PREOP_COMPLETE | Der Minifiltertreiber schließt den E/A-Vorgang ab. Der Filter-Manager sendet den E/A-Vorgang nicht an Minifiltertreiber unterhalb des Aufrufers oder an das Dateisystem. Der Filter-Manager ruft nur die Postoperation-Rückrufroutinen (PFLT_POST_OPERATION_CALLBACK) der Minifiltertreiber über dem Aufrufer auf. |
FLT_PREOP_SUCCESS_NO_CALLBACK | Der Minifiltertreiber gibt die Steuerung des E/A-Vorgangs an den Filter-Manager zurück. Der Filter-Manager ruft den entsprechenden Postoperationsrückruf (sofern vorhanden) während der E/A-Vervollständigung nicht auf. |
FLT_PREOP_SUCCESS_WITH_CALLBACK | Der Minifiltertreiber gibt die Steuerung des E/A-Vorgangs an den Filter-Manager zurück. Der Filter-Manager ruft den entsprechenden Postoperationsrückruf während der E/A-Vervollständigung auf. |
[in, optional] Context
Wenn FLT_PREOP_SUCCESS_WITH_CALLBACK für CallbackStatus angegeben ist, ist dieser Parameter ein optionaler Kontextzeiger, der an die entsprechende Rückrufroutine nach der Operation übergeben werden soll. Wenn FLT_PREOP_COMPLETE oder FLT_PREOP_SUCCESS_NO_CALLBACK für CallbackStatus angegeben ist, muss dieser Parameter NULL sein.
Rückgabewert
Keine
Bemerkungen
Wenn die PFLT_PRE_OPERATION_CALLBACK-Routine eines Minifiltertreibers einen E/A-Vorgang an eine Arbeitswarteschlange sendet und FLT_PREOP_PENDING zurückgibt, beendet der Filter-Manager die Verarbeitung des Vorgangs. Wenn der Vorgang schließlich gelöscht und verarbeitet wird, muss der Minifiltertreiber FltCompletePendedPreOperation aufrufen, um den Vorgang an den Filter-Manager zurückzugeben, der dann die Verarbeitung wie vom Vom Minifiltertreiber angegebenen CallbackStatus fortgesetzt wird.
Wenn der Parameter CallbackStatus FLT_PREOP_COMPLETE ist, kann FltCompletePendedPreOperation unter IRQL <= DISPATCH_LEVEL aufgerufen werden. Andernfalls müssen Aufrufer von FltCompletePendedPreOperation unter IRQL <= APC_LEVEL ausgeführt werden.
Anforderungen
Anforderung | Wert |
---|---|
Zielplattform | Universell |
Header | fltkernel.h (include Fltkernel.h) |
Bibliothek | FltMgr.lib |
IRQL | Weitere Informationen finden Sie im Abschnitt mit den Hinweisen. |