2012-01-24 17 views
1

下位フィルタドライバとしてフィルタドライバをインストールするにはどうすればよいですか? DDKのすべてのサンプルは、上部のフィルタドライバです。 この作業にINFファイルを使用する以外は方法はありますか? FDOとBDOの下には低いフィルタドライバがありますが、それよりも1つ低いフィルタドライバがあれば、どのように注文されるのですか?ドライバをこのスタックの特定の場所に置くことはできますか?下位フィルタドライバ

答えて

4

どのようにフィルタドライバを下位フィルタドライバとしてインストールできますか?

上位と下位のフィルタドライバはほぼ同じ方法でインストールされます。実際にはINFは必要ありません。レジストリに値を設定するだけで済みます。もちろん 、それはあなたがインストールたいフィルタドライバの種類に依存するが、私は下部ディスククラスフィルタドライバを設定する場合の例として、私は、レジストリエディタを開き、次のキーに移動します。

HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\Class\{4D36E967-E325-11CE-BFC1-08002BE10318} 

ここでは、PartMgrを含むUpperFiltersという文字列値が表示されます。 Lower Filterを追加したい場合は、LowerFiltersの値を作成し、それにドライバキーの名前を設定するだけです。キー名のGUIDはひどいですが、Classキーをスキャンすると、GUIDで指定されたキーが多数表示されます。それぞれのキーのデフォルト値には、キーが表すデバイスの簡単な説明が含まれています。

PartMgrと他のすべてのドライバと同様に、適切なすべての設定値を使用してHKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Servicesの下にドライバキーを作成する必要があります。ドライバの値が不明な場合は、ファイル全体にHKLM \ SYSTEMキーをダンプし、通常どおりドライバをインストールし、HKLM \ SYSTEMキー全体の2番目のダンプを取ってダンプをdiffして、どこに。

このスタックの特定の場所にドライバを置くことはできますか?

とは逆に、誰でもが答えます。答えはいいえです。 UpperFiltersとLowerFiltersのレジストリ値に複数のドライバがリストされている場合、このリストの最初のドライバが最初に読み込まれることが時々考えられます。私はこのターンを目撃して、「レジストリ戦争」に参加しています。ここでは、ドライバーたちは絶えず彼らの地位を争っています。それはナンセンスなので、上または下に表示される他のドライバに対処するために、ドライバを設計する必要があります。

+0

以前は、レジストリAPI(LowerFilters/UpperFiltersの値を変更)で下位/上位のフィルタをインストールしました。時には、変更は再起動時には生き残れませんでした(またはしばらくの間しか存在しませんでしたが、まれに問題が発生したため正確にわかりません)。 INFファイルを好まない場合は、このタスクにセットアップAPIを使用することをお勧めします。 –

0

osr.comから提供されているユーティリティー・ドライバー・ローダーを使用すると、上部/下部フィルター・ドライバーのいずれかをロードできます。これは、ドライバーのロードに必要なすべてのオプションがあるguiベースのユーティリティーです。 1.ドライバのロード順序を設定できます。 2.書き込んだドライバの種類をドライバから選択できます。 3.レジストリキーを設定する必要はありません。レジストリキーは自動的に実行されますが、これらのキー値を変更する場合は、手動で行うことができます。 4.詳細については、www.osr.comを参照してください。 お楽しみください:-)