次の方法で共有


PFLT_COMPLETED_ASYNC_IO_CALLBACK コールバック関数 (fltkernel.h)

非同期 I/O 操作を開始するミニフィルター ドライバーは、操作の完了時に呼び出されるルーチンPFLT_COMPLETED_ASYNC_IO_CALLBACK種類のルーチンを指定できます。

構文

PFLT_COMPLETED_ASYNC_IO_CALLBACK PfltCompletedAsyncIoCallback;

void PfltCompletedAsyncIoCallback(
  [in] PFLT_CALLBACK_DATA CallbackData,
  [in] PFLT_CONTEXT Context
)
{...}

パラメーター

[in] CallbackData

I/O 操作のコールバック データ構造へのポインター。

[in] Context

ミニフィルター ドライバーが FltPerformAsynchronousIo 、FltReadFile 、または FltWriteFile パラメーターとして渡されたコンテキスト ポインター。

戻り値

何一つ

備考

ミニフィルター ドライバーが FltPerformAsynchronousIo FltReadFile、または FltWriteFile 呼び出して非同期 I/O 操作を開始する場合、ミニフィルター ドライバーは必要に応じて、I/O 操作が完了したときに呼び出されるコールバック ルーチンを指定できます。 これを行うには、CallbackRoutine パラメーターにPFLT_COMPLETED_ASYNC_IO_CALLBACK型のルーチンを指定します。

I/O 操作が完了すると、IRQL <= DISPATCH_LEVEL で、任意のスレッド コンテキストでこのコールバック ルーチンが呼び出されます。

PFLT_COMPLETED_ASYNC_IO_CALLBACK ルーチンは IRQL DISPATCH_LEVELで呼び出すことができるため、次の制約が適用されます。

  • 低い IRQL を必要とするカーネル モード ルーチンを安全に呼び出すことはできません。
  • このルーチンで使用されるデータ構造は、非ページ プールから割り当てる必要があります。
  • ページング可能にすることはできません。
  • リソース、ミューテックス、または高速ミューテックスを取得できません。 ただし、スピン ロックを取得できます。

必要条件

要件 価値
ターゲット プラットフォーム デスクトップ
ヘッダー fltkernel.h (Fltkernel.h を含む)
IRQL 「解説」セクションを参照してください。

関連項目

FLT_CALLBACK_DATA

FltPerformAsynchronousIo

FltReadFile

FltWriteFile