次の方法で共有


FltPerformSynchronousIo 関数 (fltkernel.h)

ミニフィルター ドライバーは 、FltPerformSynchronousIo を呼び出して、 FltAllocateCallbackData を呼び出して操作のコールバック データ構造を割り当てた後、同期 I/O 操作を開始します。

構文

VOID FLTAPI FltPerformSynchronousIo(
  [in, out] PFLT_CALLBACK_DATA CallbackData
);

パラメーター

[in, out] CallbackData

FltAllocateCallbackData の以前の呼び出しによって割り当てられたコールバック データ (FLT_CALLBACK_DATA) 構造体へのポインター。 このパラメーターは必須であり、 NULL にすることはできません。 呼び出し元は、 FltFreeCallbackData を呼び出すことによって不要になった場合に、この構造体を解放する必要があります。

戻り値

なし

解説

ミニフィルター ドライバーは FltPerformSynchronousIo を呼び出して同期 I/O 操作を開始します。

ミニフィルター ドライバーは、IRP ベースの I/O 操作のみを開始できます。 高速 I/O またはファイル システム フィルター (FSFilter) コールバック操作を開始できません。

FltPerformSynchronousIo は、開始インスタンス (FltAllocateCallbackDataInstance パラメーターで指定) の下にアタッチされているミニフィルター ドライバー インスタンスとファイル システムにのみ I/O 操作を送信します。 指定したインスタンスの上にアタッチされているミニフィルター ドライバーは、I/O 操作を受け取りません。

ミニフィルター ドライバーでは、次のようなルーチンを使用できない場合にのみ FltPerformSynchronousIo を使用する必要があります。

FltClose

FltCreateFile

FltQueryInformationFile

FltQueryVolumeInformation

FltReadFile

FltSetInformationFile

FltSetVolumeInformation

FltTagFile

FltUntagFile

FltWriteFile

FltPerformSynchronousIo が戻った後、呼び出し元は FltReissueSynchronousIo を呼び出すことによって I/O 操作を再発行できます。 または、呼び出し元は FltFreeCallbackData を呼び出してコールバック データ (FLT_CALLBACK_DATA) 構造体を解放したり、FltReuseCallbackData を呼び出して再利用できるように準備したりできます。

要件

要件
対象プラットフォーム ユニバーサル
Header fltkernel.h (Fltkernel.h を含む)
Library FltMgr.lib
[DLL] Fltmgr.sys
IRQL <= APC_LEVEL

こちらもご覧ください

FLT_CALLBACK_DATA

FltAllocateCallbackData

FltClose

FltCreateFile

FltFreeCallbackData

FltPerformAsynchronousIo

FltQueryInformationFile

FltQueryVolumeInformation

FltReadFile

FltReissueSynchronousIo

FltReuseCallbackData

FltSetInformationFile

FltSetVolumeInformation

FltTagFile

FltUntagFile

FltWriteFile