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 を必要とするカーネル モード ルーチンを安全に呼び出すことはできません。
- このルーチンで使用されるすべてのデータ構造は、非ページ プールから割り当てる必要があります。
- ページング可能にすることはできません。
- リソース、ミューテックス、または高速ミューテックスを取得できません。 ただし、スピン ロックを取得できます。
要件
要件 | 値 |
---|---|
対象プラットフォーム | デスクトップ |
Header | fltkernel.h (Fltkernel.h を含む) |
IRQL | 「解説」を参照してください。 |