文書番号: 975327 - 最終更新日: 2009年9月3日 - リビジョン: 1.0

Windows および Windows Server 環境にレガシー ファイル システム フィルター ドライバーおよびミニフィルター ドライバーがインストールされている場合、ミニフィルター ドライバーが指定した Altitude の範囲に配置されないことがある

お知らせお使いのオペレーティング システムには適用しない情報が含まれている場合があります。
すべて展開する | すべて折りたたむ

現象

Windows および Windows Server OS 環境に 2 つ以上のレガシー ファイル システム フィルター ドライバーおよびミニフィルター ドライバーがインストールされている場合、フィルター ドライバの起動タイミングによって、レガシー フィルター ドライバーおよびミニフィルター ドライバーの位置関係は、ミニフィルター ドライバーが指定した Altitude の範囲に配置されないことがあります。

原因

ファイル システム フィルター ドライバーには、レガシー フィルター ドライバとミニフィルター ドライバーの 2 種類があります。レガシー フィルター ドライバーは、既存の OS の仕組みを使用してファイル システムのデバイス スタックにアタッチします。一方、ミニフィルター ドライバーは、フィルター マネージャーというモジュールの制御によって、ファイル システムのデバイス スタックへのアタッチを行います。

フィルター マネージャーでは、レガシー フィルター ドライバーとミニフィルター ドライバーの相互運用を保つために、ファイル システムのデバイス スタックへのアタッチの順番を両方式のフィルター ドライバー の指定通りになるように、可能な限りの調整を行っています。しかし、フィルター マネージャー自身は 1 つのレガシー フィルター ドライバーであり、他のレガシー フィルター ドライバーの起動またはデバイス スタックへのアタッチの事象を検知できません。このため、たとえば、以下のフィルター ドライバーの構成例の場合、フィルター マネージャーの制御下でも、ミニフィルター ドライバーのアタッチする場所が指定通りになりません。
  • 2 つのレガシー フィルター ドライバーの起動タイミングは、ミニフィルター ドライバーより早くなります。 たとえば、レガシー フィルター ドライバーに SERVICE_BOOT_START を指定して、ミニフィルタードライバーに SERVICE_DEMAND_START を指定した場合
  • ミニフィルター ドライバーが指定した Altitude の範囲が、2 つのレガシードライバーの LoadOrderGroup の間に入る たとえば、2 つのレガシー フィルター ドライバー に、それぞれ FSFilter Activity Monitor と FSFilter Encryption の LoadOrderGroup を指定して、ミニフィルターに、この 2 つの LoadOrderGroup の中間にある FSFilter Anti-Virus の LoadOrderGroup に当たる Altitude の範囲を指定した場合
上記の構成例の場合、2 つのレガシー フィルター ドライバーがファイル システムにアタッチした後に、フィルター マネージャーによってミニフィルターのアタッチを行います。デバイス スタックにすでにアタッチされているデバイス オブジェクトの間にデバイス オブジェクトを追加することができないため、ミニフィルター ドライバーを指定された位置にアタッチすることができません。

回避策

この現象を回避するには、起動するレガシー フィルター ドライバーの数を 1 つにするか、もしくは、ミニフィルター ドライバーのみを使用してください。

Microsoft では、ファイル システム フィルター ドライバー メーカーから提供された、ミニフィルター ドライバーを使用することを推奨しています。

この資料は以下の製品について記述したものです。
  • Microsoft Windows XP Home Edition
  • Microsoft Windows XP Professional
  • Windows Vista Business
  • Windows Vista Enterprise
  • Windows Vista Home Basic
  • Windows Vista Home Premium
  • Windows Vista Ultimate
  • Windows 7 Enterprise
  • Windows 7 Home Basic
  • Windows 7 Home Premium
  • Windows 7 Professional
  • Windows 7 Starter
  • Windows 7 Ultimate
  • Microsoft Windows Server 2003, Datacenter Edition (32-bit x86)
  • Microsoft Windows Server 2003, Enterprise Edition (32-bit x86)
  • Microsoft Windows Server 2003, Standard Edition (32-bit x86)
  • Microsoft Windows Server 2003, Datacenter x64 Edition
  • Microsoft Windows Server 2003, Enterprise x64 Edition
  • Microsoft Windows Server 2003, Standard x64 Edition
  • Windows Server 2008 Datacenter
  • Windows Server 2008 Enterprise
  • Windows Server 2008 Standard
  • Windows Server 2008 R2 Datacenter
  • Windows Server 2008 R2 Enterprise
  • Windows Server 2008 R2 Standard
キーワード:?
kbexpertiseadvanced kbtshoot kbnofix kbbug kbharmony KB975327
"Microsoft Knowledge Baseに含まれている情報は、いかなる保証もない現状ベースで提供されるものです。Microsoft Corporation及びその関連会社は、市場性および特定の目的への適合性を含めて、明示的にも黙示的にも、一切の保証をいたしません。さらに、Microsoft Corporation及びその関連会社は、本文書に含まれている情報の使用及び使用結果につき、正確性、真実性等、いかなる表明・保証も行ないません。Microsoft Corporation、その関連会社及びこれらの権限ある代理人による口頭または書面による一切の情報提供またはアドバイスは、保証を意味するものではなく、かつ上記免責条項の範囲を狭めるものではありません。Microsoft Corporation、その関連会社 及びこれらの者の供給者は、直接的、間接的、偶発的、結果的損害、逸失利益、懲罰的損害、または特別損害を含む全ての損害に対して、状況のいかんを問わず一切責任を負いません。(Microsoft Corporation、その関連会社 またはこれらの者の供給者がかかる損害の発生可能性を了知している場合を含みます。) 結果的損害または偶発的損害に対する責任の免除または制限を認めていない地域においては、上記制限が適用されない場合があります。なお、本文書においては、文書の体裁上の都合により製品名の表記において商標登録表示、その他の商標表示を省略している場合がありますので、予めご了解ください。"