Freigeben über


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".

Siehe auch

FLT_CALLBACK_DATA

FltCbdqInitialize

FltCompletePendedPostOperation

FltQueueDeferredIoWorkItem

PFLT_PRE_OPERATION_CALLBACK