FltPerformSynchronousIo-Funktion (fltkernel.h)
Ein Minifiltertreiber ruft FltPerformSynchronousIo auf, um nach dem Aufruf von FltAllocateCallbackData einen synchronen E/A-Vorgang zu initiieren, um eine Rückrufdatenstruktur für den Vorgang zuzuweisen.
Syntax
VOID FLTAPI FltPerformSynchronousIo(
[in, out] PFLT_CALLBACK_DATA CallbackData
);
Parameter
[in, out] CallbackData
Zeiger auf eine Rückrufdatenstruktur (FLT_CALLBACK_DATA), die von einem vorherigen Aufruf von FltAllocateCallbackData zugeordnet wurde. Dieser Parameter ist erforderlich und darf nicht NULL sein. Der Aufrufer ist für das Freigeben dieser Struktur verantwortlich, wenn sie nicht mehr benötigt wird, indem FltFreeCallbackData aufgerufen wird.
Rückgabewert
Keine
Bemerkungen
Ein Minifiltertreiber ruft FltPerformSynchronousIo auf, um einen synchronen E/A-Vorgang zu initiieren.
Minifiltertreiber können nur IRP-basierte E/A-Vorgänge initiieren. Sie können keine schnellen E/A- oder FSFilter-Rückrufvorgänge (File System Filter) initiieren.
FltPerformSynchronousIo sendet den E/A-Vorgang nur an die Minifiltertreiberinstanzen, die unterhalb der initiierenden instance (angegeben im Instance-Parameter für FltAllocateCallbackData) angefügt sind, und an das Dateisystem. Minifiltertreiber, die oberhalb der angegebenen instance angefügt sind, empfangen den E/A-Vorgang nicht.
Minifiltertreiber sollten FltPerformSynchronousIo nur in Fällen verwenden, in denen Routinen wie die folgenden nicht verwendet werden können:
Nachdem FltPerformSynchronousIo zurückgegeben wurde, kann der Aufrufer den E/A-Vorgang erneut ausführen, indem er FltReissueSynchronousIo aufruft. Alternativ kann der Aufrufer die Rückrufdatenstruktur (FLT_CALLBACK_DATA) freigeben, indem er FltFreeCallbackData aufruft , oder sie für die Wiederverwendung durch Aufrufen von FltReuseCallbackData vorbereiten.
Anforderungen
Anforderung | Wert |
---|---|
Zielplattform | Universell |
Header | fltkernel.h (fltkernel.h einschließen) |
Bibliothek | FltMgr.lib |
DLL | Fltmgr.sys |
IRQL | <= APC_LEVEL |