ファイル システム フィルター ドライバー ( ミニフィルター) は、ファイル システム ソフトウェア スタックに接続する省略可能なドライバーです。 ファイル I/O 操作の動作を監視、フィルター処理、変更します。 その要求が目的のターゲットに到達する前に、ファイル システムまたは別のミニフィルターを対象とする要求をインターセプトすることで、ミニフィルターは、要求の元のターゲットによって提供される機能を拡張または置換できます。
カーネル モード コンポーネントとして、ミニフィルターは Windows エグゼクティブの一部として実行されます。
ファイル システム フィルター ドライバーは、1 つ以上のファイル システムまたはファイル システム ボリュームの I/O 操作をフィルター処理できます。 ドライバーの性質に応じて、 フィルター は ログ、 観察、 変更、または 防止を意味します。
ミニフィルターのアプリケーション
ファイル システム フィルター ドライバーの一般的なアプリケーションは次のとおりです。
ファイルの作成、アクセス、または変更に関するウイルスやマルウェアをスキャンするウイルス対策/マルウェア対策ユーティリティ。
ディスクに書き込まれるデータまたはディスクから読み取られるデータを自動的に暗号化および復号化するデータ暗号化プログラム。
ディザスター リカバリーとビジネス継続性のためにデータのバックアップを作成するために使用されるバックアップ フィルター。
データをその場で圧縮および展開する圧縮フィルター。これにより、ディスク領域が節約され、大量のデータのパフォーマンスが向上します。
高コストと低コストのストレージ メディア間のデータの移行を管理する階層型ストレージ管理フィルター。
各フィルターは、ファイル システム スタック内の異なるレベルで動作します。 相互運用性は、フィルターが正しく連携するようにするために重要です。
Windows には、次の 2 つのファイル システム フィルター モデルがあります。
ミニフィルター モデル。ミニフィルターでは、システム提供のフィルター マネージャー (FltMgr) のサポートが使用されるため、フィルターの開発が簡略化されます。
従来のファイル システム フィルター モデル。新しい開発には使用しないでください。
フィルター開発者は、従来の ファイル システム フィルター ドライバー の代わりに、フィルター マネージャーをサポートするファイル システム ミニフィルター ドライバーを開発する必要があります。 残りの レガシ フィルターをミニフィルター ドライバーに移植するためのレガシ フィルター ドライバー の移植に関するガイドラインを参照してください。
ファイル システム フィルター ドライバーはデバイス ドライバーではありません。
デバイス ドライバーは、特定のハードウェア I/O デバイスを制御するソフトウェア コンポーネントです。 たとえば、グラフィックス ドライバーでは、ビデオ カード、GPU/NPU、モニターなどを制御できます。
これに対し、 ファイル システム フィルター ドライバー は、1 つ以上のファイル システムと連携してファイル I/O 操作を管理するソフトウェア コンポーネントです。 記録される操作には次のようなものがあります。
ファイルとディレクトリの作成、開く、閉じる、列挙する
ファイル、ディレクトリ、ボリュームの情報の取得と設定
ファイル データの読み取りと書き込み
さらに、ファイル システム フィルター ドライバーは、次のようなファイル システム固有の機能をサポートする必要があります。
キャッシュ処理
ロック
スパース ファイル
ディスク クォータ
圧縮
安全
回復性
再解析ポイント
ボリューム マウント ポイント
詳細については、次の記事を参照してください。