it-swarm-ja.com

ミニドライバーとフィルタードライバーの違いは何ですか?

ミニドライバーとフィルタードライバーの違いは何ですか?それらは同じものですか?

3
HighLife

ミニポートドライバーは、特定のUSB、オーディオ、SCSI、およびネットワークアダプターデバイス用のドライバーであり、ドライバースタックの残りの部分に依存して、そのタイプのデバイスに共通の機能を提供します。

フィルタドライバは、ドライバスタックに機能を追加し、バスとデバイスの両方の機能ドライバを使用する必要があります。

たとえば、GigE Visionカメラには、ミニポートカメラドライバーとイーサネットフィルタードライバーの2つのドライバーが付属している場合があります。

  • カメラドライバーは、カメラをWindowsカメラのように見せて、USBWebカメラの場合と同じように静止画像とビデオをキャプチャできるようにする場合があります。
  • フィルタドライバは、カメラドライバにイーサネットインターフェイスへの低レベルのアクセスを提供します。これにより、ミニポートドライバーはイーサネットパケットの優先順位を制御できるようになり、非ビデオパケットにタイムクリティカルなビデオフレームパケットよりも低い優先順位が与えられるようになります。

Windows Driver Model のウィキペディアページから:


デバイス機能ドライバー

関数ドライバーは、デバイスのメインドライバーです。関数ドライバーは通常、デバイスベンダーによって作成され、必須です(デバイスがrawモードで使用されている場合を除く)。関数ドライバーは、1つ以上のデバイスにサービスを提供できます。

  • クラスドライバー:これらは関数ドライバーの一種であり、ミニポートや他のクラスドライバーをその上に構築できる組み込みのフレームワークドライバーと考えることができます。クラスドライバーは、WDMアーキテクチャのさまざまなレベル間のインターフェイスを提供します。異なるクラスのドライバー間の共通機能は、クラスドライバーに記述して、他のクラスおよびミニポートドライバーで使用できます。クラスドライバーの下端は、そのインターフェイスがミニポートドライバーに公開されますが、トップレベルのクラスドライバーの上端はオペレーティングシステム固有です。クラスドライバーは、動的にロードおよびアンロードできます。これらは、ハードウェアまたはバス固有ではないクラス固有の機能(バスタイプのクラスドライバーを除く)を実行でき、実際には、列挙などのクラス固有の機能のみを実行する場合があります。
  • ミニポートドライバー:これらは、USB、オーディオ、SCSI、およびネットワークアダプター用の機能ドライバーでもあります。これらは通常、Windows98とWindows2000の間でソースおよびバイナリ互換である必要があり、ハードウェア固有ですが、特定のバスクラスドライバーを介してハードウェアへのアクセスを制御します。

バスの運転手

バスドライバーは、バスコントローラー、アダプター、またはブリッジにサービスを提供します。 Microsoftは、PCI、PnPISA、SCSI、USB、FireWireなどの最も一般的なバス用のバスドライバを提供しています。各ソフトウェアベンダーは、必要に応じて独自のバスドライバーを作成できます。マシンに同じタイプのバスが複数ある場合、バスドライバーは複数のバスにサービスを提供できます。

フィルタードライバー

フィルタドライバーは、デバイスに付加価値を付けたり、デバイスの動作を変更したりするオプションのドライバーであり、デバイス以外のドライバーの場合もあります。フィルタドライバは、1つ以上のデバイスにサービスを提供することもできます。上位レベルのフィルタードライバーはデバイスのプライマリドライバー(機能ドライバー)の上にあり、下位レベルのフィルタードライバーは機能ドライバーの下とバスドライバーの上にあります。

  • ドライバーサービス:これは、アプリケーションがデバイスと連携できるようにするWindowsサービスとして実装されたカーネルレベルのフィルタードライバーの一種です。
7
Mark Booth