次の方法で共有


[省略可能] コールバック ルーチンの登録

Note

最適な信頼性とパフォーマンスを実現するには、レガシ ファイル システム フィルター ドライバーではなく、フィルター マネージャーのサポートがあるファイル システム ミニフィルター ドライバーを使用します。 レガシ ドライバーをミニフィルター ドライバーに移植するには、「レガシ フィルター ドライバーの移植ガイドライン」を参照してください。

レガシ フィルター ドライバーは、IoRegisterFsRegistrationChange を呼び出して、ファイル システム ドライバーが IoRegisterFileSystem または IoUnregisterFileSystem を呼び出して自分自身を登録または登録解除するたびに呼び出されるコールバック ルーチンを登録できます。 フィルター ドライバーは、このコールバック ルーチンを登録することで、システムに新しいファイル システムが導入されるのを確認し、それらにアタッチするかどうかを選択できます。

ファイル システムのフィルター ドライバーで IoRegisterFileSystem または IoUnregisterFileSystem を呼び出してはなりません。 これらのルーチンは、ファイル システム専用です。

(ユーザーモード アプリケーションなどによって) 明示的に指示された場合にのみボリュームにアタッチされるフィルター ドライバーでは、IoRegisterFsRegistrationChange を呼び出すべきではありません。 ただし、このルーチンを使うフィルターは、任意のボリュームがマウントされた直後にそのボリュームにアタッチできる点に注意してください。 このルーチンを使っても、そのフィルターがボリューム デバイス オブジェクトに直接アタッチされる保証はありません。 保証されるのは、ユーザーモード アプリケーションからのコマンドを待機するフィルターよりも、そのようなフィルターの方が先に (つまり下に) アタッチされるということです。 その理由は、フィルターは現在のファイル システム ボリューム デバイス スタックの上部にのみアタッチできるためです。