Freigeben über


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:

FltClose

FltCreateFile

FltQueryInformationFile

FltQueryVolumeInformation

FltReadFile

FltSetInformationFile

FltSetVolumeInformation

FltTagFile

FltUntagFile

FltWriteFile

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

Weitere Informationen

FLT_CALLBACK_DATA

FltAllocateCallbackData

FltClose

FltCreateFile

FltFreeCallbackData

FltPerformAsynchronousIo

FltQueryInformationFile

FltQueryVolumeInformation

FltReadFile

FltReissueSynchronousIo

FltReuseCallbackData

FltSetInformationFile

FltSetVolumeInformation

FltTagFile

FltUntagFile

FltWriteFile