ファイル システム ドライバー設計ガイド

WDK のこのセクションでは、ファイル システム ドライバーとフィルター ドライバーに関連する設計ガイドラインを説明します。 リファレンス ページについては、プログラミング リファレンスを参照してください。

ファイル システム

Windows のファイル システムは、ストレージ システムの上で動作するファイル システム ドライバーとして実装されます。

Windows の各システム提供のファイル システムは、信頼性の高いデータ ストレージを与えるように設計されています。さまざまな機能でユーザーの要件を満たします。 Windows で使用できる標準のファイル システムには、NTFS、ExFAT、UDF、FAT32 があります。 これらの各ファイル システムの機能比較については、「ファイル システムの機能比較」をご覧ください。 また、Windows Server 2012 以降のバージョンで使用できる Resilient File System (ReFS) は、スケーラブルに大容量をサポートし、ディスク上のデータ破損を検出して、修復できます。

新しいファイル システム ドライバーを開発する必要はおそらくありません。新しいファイル システム ドライバーの要件と仕様は予測できません。 そのため、この設計ガイドではファイル システムの開発については説明しません。 Windows で利用可能ではない、新しいファイル システム ドライバーを開発する必要がある場合、モデルとしてサンプル コードが提供されています (以下をご覧ください)。

ファイル システム フィルター ドライバー

ファイル システム フィルター ドライバーまたはミニフィルターは、ファイル システムまたは別のファイル システム フィルター ドライバーを対象にした要求をインターセプトします。 要求が当初の宛先に届く前にインターセプトすることで、ミニフィルターは、要求の当初の宛先によって提供される機能を拡張するか、その代わりをすることができます。 フィルター ドライバーの例を次に示します。

  • ウイルス対策フィルター
  • Backup のエージェント
  • 暗号化製品

フィルター ドライバー開発者は、システム提供の フィルター マネージャー を使用します。そうすることによって、フィルター ドライバー開発のフレームワークが提供され、ファイル I/O の複雑な管理をする必要がありません。 フィルター マネージャーはサードパーティ フィルター ドライバーの開発を簡単にします。また、階層を割り当てることで負荷の順序を管理するなど、レガシ フィルター ドライバー モデルに関するさまざまな問題を解決します。

ファイル システムとフィルター サンプル コード

ファイル システムの開発やファイル システム フィルター ドライバーの開発のサンプルなど、いくつかの Windows ドライバーのサンプルが用意されています。 完全な一覧については、「Windows ドライバー サンプル」を参照してください。

ファイル システム フィルター ドライバー認定

ファイル システムとファイル システム フィルター ドライバーの認定情報は Windows ハードウェア ラボ キット (HCK) にあります。 ファイル システムとファイル システム フィルター ドライバーのテストは HCK の Filter.Driver カテゴリにあります。

その他のリソース

このドキュメントと上記のサンプル コードに加えて、OSR ではセミナーや NTFDS フォーラムなどのコミュニティ ディスカッション フォーラムを含む、ファイル システムのフィルター開発のためにさまざまなリソースを提供しています。