ファイル システム ドライバー設計ガイドFile systems driver design guide

WDK のこのセクションでは、ファイル システムおよびフィルター ドライバー (ミニフィルター) に関連する概念の情報を提供します。This section of the WDK provides conceptual information related to file systems and filter drivers (minifilters). ドライバーで実装または呼び出しできるインターフェイスを説明する参照ページについては、ファイル システムのプログラミング リファレンスに関するページを参照してください。For reference pages that describe the interfaces your driver can implement or call, see the .

ファイル システムFile systems

Windows のファイル システムは、ストレージ システムの上で動作するファイル システム ドライバーとして実装されます。File systems in Windows are implemented as file system drivers working above the storage system.

Windows の各システム提供のファイル システムは、信頼性の高いデータ ストレージを与えるように設計されています。さまざまな機能でユーザーの要件を満たします。Every system-supplied file system in Windows is designed to provide reliable data storage with varying features to meet the user's requirements. Windows で使用できる標準のファイル システムには、NTFS、ExFAT、UDF、FAT32 があります。Standard file systems available in Windows include NTFS, ExFAT, UDF, and FAT32. これらの各ファイル システムの機能比較については、「ファイル システムの機能比較」をご覧ください。A comparison of features for each of these file systems is shown in . また、Windows Server 2012 以降のバージョンで使用できる Resilient File System (ReFS) は、スケーラブルに大容量をサポートし、ディスク上のデータ破損を検出して、修復できます。Additionally, the (ReFS), available on Windows Server 2012 and later versions, offers scalable large volume support and the ability to detect and correct data corruption on disk.

新しいファイル システム ドライバーを開発する必要はおそらくありません。新しいファイル システム ドライバーの要件と仕様は予測できません。Developing a new file system driver is almost always unnecessary, and requirements/specifications for new file system drivers are not predictable. そのため、この設計ガイドではファイル システムの開発については説明しません。To that end, this design guide does not cover file system development. Windows で使用できるファイル システ ムドライバー以外の新しいファイル システム ドライバーを開発する必要がある場合は、サンプル コードをモデルとして使用できます (詳細については以下を参照してください)。If you do need to develop a new file system driver beyond those available in Windows, sample code is available as a model (see below for more information).

ファイル システム フィルター ドライバーFile system filter drivers

ファイル システム フィルター ドライバーは、ファイル システムまたは別のファイル システム フィルター ドライバーを対象にした要求をインターセプトします。A file system filter driver intercepts requests targeted at a file system or another file system filter driver. 要求が当初の宛先に届く前にインターセプトすることで、フィルター ドライバーは、要求の当初の宛先によって提供する機能を拡張するか、その代わりをすることができます。By intercepting the request before it reaches its intended target, the filter driver can extend or replace functionality provided by the original target of the request. フィルター ドライバーの例を次に示します。Examples of filter drivers include:

  • ウイルス対策フィルターAnti-virus filters
  • バックアップ エージェントBackup agents
  • 暗号化製品Encryption products

ファイル システム フィルタリング サービスは、Windows のシステム提供のフィルター マネージャーから利用できます。File system filtering services are available through the system-supplied in Windows. フィルター マネージャーからは、フィルター ドライバーを開発するためのフレームワークが提供されます。複雑なファイル I/O をすべて管理する必要がありません。The Filter Manager provides a framework for developing filter drivers without having to manage all the complexities of file I/O. フィルター マネージャーはサードパーティ フィルター ドライバーの開発を簡単にします。また、階層を割り当てることで負荷の順序を管理するなど、レガシ フィルター ドライバー モデルに関するさまざまな問題を解決します。The Filter Manager simplifies the development of third-party filter drivers and solves many of the problems with the legacy filter driver model, such as the ability to control load order through an assigned altitude.

フィルター マネージャー モデルに対して開発されたフィルター ドライバーはミニフィルターと呼ばれています。A filter driver developed to the Filter Manager model is called a minifilter. すべてのミニフィルター ドライバーには階層が割り当てられています。階層は、I/O スタックの他のミニフィルターに相対的にミニフィルターが読み込まれる場所を決定する一意の識別子です。Every minifilter driver has an assigned altitude, which is a unique identifier that determines where the minifilter is loaded relative to other minifilters in the I/O stack. 階層は Microsoft によって割り当てられ、管理されます。Altitudes are allocated and managed by Microsoft.

ファイル システムとフィルター サンプル コードFile system and filter sample code

ファイル システムの開発やファイル システム フィルター ドライバーの開発のサンプルなど、いくつかの Windows ドライバーのサンプルが用意されています。A number of Windows driver samples are available, including samples for file system development and file system filter driver development. 完全な一覧については、「Windows ドライバー サンプル」を参照してください。See for a complete list.

ファイル システム フィルター ドライバー認定File system filter driver certification

ファイル システムとファイル システム フィルター ドライバーの認定情報は Windows ハードウェア ラボ キット (HCK) にあります。Certification information for File Systems and File System Filter Drivers is found in the . ファイル システムとファイル システム フィルター ドライバーのテストは HCK の Filter.Driver カテゴリにあります。Tests for File Systems and File System Filter Drivers are found in the category of the HCK.

その他の資料Additional resources

このドキュメントと上記のサンプル コードと共に、次の追加リソースを利用できます。Along with this documentation and the sample code mentioned above, the following additional resources are available:

  • Microsoft に高度の割り当てを依頼するには、ミニフィルターの高度割り当てを求める電子メールを送信してください。To request an altitude allocation from Microsoft, send an e-mail asking for an altitude assignment for your minifilter. ミニフィルター高度要求の指示に従い、要求を送信します。Follow the instructions in to submit a request.

  • 再解析ポイントを使用するフィルター ドライバーの ID を取得するには、「Reparse Point Request」 (再解析ポイントの依頼) の手順に従います。To obtain an ID for a filter driver that uses reparse points follow the steps in .

  • OSR は、ファイル システム ミニフィルター開発用のさまざまなリソースを提供します。これには、NTFDS フォーラムなど、セミナーやコミュニティのディスカッション フォーラムなどが含まれます。 offers a variety of resources for file system minifilter development, including seminars and community discussion forums such as the NTFDS forum.