Freigeben über


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:

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

Siehe auch

FLT_CALLBACK_DATA

FltAllocateCallbackData

FltClose

FltCreateFile-

FltFreeCallbackData-

FltPerformAsynchronousIo

FltQueryInformationFile-

FltQueryVolumeInformation

FltReadFile-

FltReissueSynchronousIo

FltReuseCallbackData-

FltSetInformationFile-

FltSetVolumeInformation

FltTagFile-

FltUntagFile-

FltWriteFile-