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