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.

Weitere Informationen

FLT_CALLBACK_DATA

FltCbdqInitialize

FltCompletePendedPostOperation

FltQueueDeferredIoWorkItem

PFLT_PRE_OPERATION_CALLBACK