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 は、開始インスタンス (FltAllocateCallbackData の Instance パラメーターで指定) の下にアタッチされているミニフィルター ドライバー インスタンスとファイル システムにのみ I/O 操作を送信します。 指定したインスタンスの上にアタッチされているミニフィルター ドライバーは、I/O 操作を受け取りません。
ミニフィルター ドライバーでは、次のようなルーチンを使用できない場合にのみ FltPerformSynchronousIo を使用する必要があります。
FltPerformSynchronousIo が戻った後、呼び出し元は FltReissueSynchronousIo を呼び出すことによって I/O 操作を再発行できます。 または、呼び出し元は FltFreeCallbackData を呼び出してコールバック データ (FLT_CALLBACK_DATA) 構造体を解放したり、FltReuseCallbackData を呼び出して再利用できるように準備したりできます。
要件
要件 | 値 |
---|---|
対象プラットフォーム | ユニバーサル |
Header | fltkernel.h (Fltkernel.h を含む) |
Library | FltMgr.lib |
[DLL] | Fltmgr.sys |
IRQL | <= APC_LEVEL |