ミニフィルター ドライバーでの I/O 操作のフィルタリング
次の一覧では、ファイル システム ミニフィルター ドライバーで特定の種類の I/O 操作をフィルター処理するためのいくつかのガイドラインについて説明します。
IRP_MJ_CREATE の操作前コールバック ルーチンは、ファイル、ストリーム、ストリーム ハンドルのコンテキストをクエリおよび設定できません。これは、作成前の時点では、作成されるファイルまたはストリーム (ある場合) がまだ決定されていないためです。
IRP_MJ_CLOSE の操作後コールバック ルーチンは、ファイル、ストリーム、ストリーム ハンドルのコンテキストを設定およびクエリできません。これは、これらの項目が関連付けられているシステムの内部構造体が、クローズ後ルーチンが呼び出される前に解放されるためです。
ミニフィルター ドライバーは、IRP_MJ_CLEANUP 操作または IRP_MJ_CLOSE 操作を失敗することはできません。 これらの操作は、保留にする、フィルター マネージャーに返す、または STATUS_SUCCESS で完了することができます。 ただし、操作前コールバック ルーチンでは、これらの操作を失敗することはできません。
ミニフィルター ドライバーは、IRP_MJ_SHUTDOWN の操作後コールバック ルーチンを登録できません。