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 | 「解説」セクションを参照してください。 |
関連項目
FltPerformAsynchronousIo の
FltReadFile の
FltWriteFile の