FltCompletePendedPreOperation-Funktion (fltkernel.h)
FltCompletePendedPreOperation die Verarbeitung für einen E/A-Vorgang fortsetzen, der in der Preoperation-Rückrufroutine (PFLT_PRE_OPERATION_CALLBACK) eines Minifiltertreibers eingestiftet 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 Statuswert, den der Minifiltertreiber für diesen E/A-Vorgang zurückgibt. Kann nicht FLT_PREOP_PENDING, FLT_PREOP_SYNCHRONIZE oder FLT_PREOP_DISALLOW_FASTIO sein. 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 unter dem Aufrufer oder an das Dateisystem. Der Filter-Manager ruft nur die Postoperationsrü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 nicht den entsprechenden Postoperationsrückruf auf, falls vorhanden, während der E/A-Fertigstellung. |
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-Fertigstellung 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 Postoperation-Rückrufroutine ü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
Nichts
Bemerkungen
Wenn ein Minifilter-Voroperationsrückruf (PFLT_PRE_OPERATION_CALLBACK) einen E/A-Vorgang in eine Arbeitswarteschlange sendet und FLT_PREOP_PENDING zurückgibt, beendet der Filter-Manager die Verarbeitung des Vorgangs. Wenn der Vorgang schließlich dequeuiert und verarbeitet wird, muss der Minifiltertreiber FltCompletePendedPreOperation- aufrufen, um den Vorgang an den Filter-Manager zurückzugeben, der dann die Verarbeitung wie vom CallbackStatus vom Minifiltertreiber angegeben fortgesetzt wird.
Wenn der CallbackStatus-Parameter FLT_PREOP_COMPLETE ist, kann FltCompletePendedPreOperation- bei IRQL <= DISPATCH_LEVEL aufgerufen werden. Andernfalls müssen Aufrufer von FltCompletePendedPreOperation- unter IRQL <= APC_LEVEL ausgeführt werden.
Anforderungen
Anforderung | Wert |
---|---|
Zielplattform- | Universal |
Header- | fltkernel.h (include Fltkernel.h) |
Library | FltMgr.lib |
IRQL- | Siehe Abschnitt "Hinweise". |