FltPerformSynchronousIo-Funktion (fltkernel.h)
Ein Minifiltertreiber ruft FltPerformSynchronousIo auf, um einen synchronen E/A-Vorgang nach dem Aufrufen FltAllocateCallbackData 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 einem vorherigen Aufruf von FltAllocateCallbackData-zugeordnet wurde. Dieser Parameter ist erforderlich und kann nicht NULL-werden. Der Aufrufer ist dafür verantwortlich, diese Struktur freizusprechen, wenn sie nicht mehr benötigt wird, indem FltFreeCallbackDataaufgerufen wird.
Rückgabewert
Nichts
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 Dateisystemfiltervorgänge (FSFilter) initiieren.
FltPerformSynchronousIo sendet den E/A-Vorgang nur an die Minifiltertreiberinstanzen, die unterhalb der initiierenden Instanz angefügt sind (im parameter Instance angegeben an FltAllocateCallbackData) und das Dateisystem. Über der angegebenen Instanz angefügte Minifiltertreiber erhalten 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 FltReissueSynchronousIoaufgerufen wird. Alternativ kann der Aufrufer die Rückrufdatenstruktur (FLT_CALLBACK_DATA) freigeben, indem FltFreeCallbackData aufgerufen oder vorbereitet wird, um sie wiederzuverwenden, indem FltReuseCallbackDataaufgerufen wird.
Anforderungen
Anforderung | Wert |
---|---|
Zielplattform- | Universal |
Header- | fltkernel.h (include Fltkernel.h) |
Library | FltMgr.lib |
DLL- | Fltmgr.sys |
IRQL- | <= APC_LEVEL |