次の方法で共有


I/O 操作の完了処理を実行する

ミニフィルター ドライバーの 操作後コールバック ルーチン は、基になるファイル システム、レガシ フィルター、またはミニフィルター ドライバー インスタンス スタックの下位にある別のミニフィルター ドライバーによって I/O 操作が完了したときに呼び出されます。

さらに、ミニフィルター ドライバー インスタンスが切断されると、フィルター マネージャーは、インスタンスが操作前コールバックを受け取り、操作後コールバックを待機している I/O 操作を "ドレイン" します。 この状況では、フィルター マネージャーは、I/O 操作が完了していない場合でも、ミニフィルター ドライバーの操作後コールバック ルーチンを呼び出し「フラグ」入力パラメーターに FLTFL_POST_OPERATION_DRAINING フラグを設定します。

FLTFL_POST_OPERATION_DRAINING フラグが設定されている場合、ミニフィルター ドライバーは通常の完了処理を実行できません。 代わりに、プリ操作コールバック ルーチンで CompletionContext パラメーターに割り当てられたミニフィルター ドライバーがメモリを解放し、FLT_POSTOP_FINISHED_PROCESSING を返すなど、必要なクリーンアップのみを実行する必要があります。

ここでは、次のトピックについて説明します。

完了処理が安全な IRQL で実行されるようにする