次の方法で共有


多機能デバイス ドライバーの設計ガイド

多機能デバイスは、親バス上の 1 つの場所を占有しますが、複数の関数を含みます。 プリンター/スキャナー/FAX デバイスとモデム/ネットワーク カードの組み合わせは、一般的な多機能デバイスです。

多機能デバイスでは、個々の機能は独立しています。 つまり、関数には次の特性が必要です。

  • 関数に開始順序の依存関係を持つことはできません。

  • ある関数のリソース要件は、別の関数のリソースの観点からは表現できません (たとえば、 function1 は I/O ポート x を使用し、 function2 はポート x + 200 を使用します)。

  • 各関数は、別の関数と同じドライバーによって処理される場合でも、個別のデバイスとして動作できる必要があります。

  • デバイス上の各関数を列挙する必要があります。

  • 各関数のリソース要件は、PnP マネージャーに伝達する必要があります。

  • 関数ごとに INF ファイルとドライバーが必要です。

これらの各タスクを担当するコンポーネントは、デバイスの親バスの多機能標準、デバイスが標準に準拠する範囲、および親バス ドライバーの機能によって異なります。

デバイスがバスの多機能規格に準拠している場合、ドライバーの要件が大幅に削減されます。 PC カードおよび PCI バスには、業界全体の多機能規格が定義されています。

(オーディオ/ビデオの再生ではなく) データストレージに使用される多機能 DVD/CD-ROM デバイスを使用する場合は、デバイスを 1 つの論理ユニットとして扱う、システム提供の WDM DVD クラス ドライバーを使用する必要があります。

他の機能を組み合わせた多機能デバイスの場合、デバイスがバスの多機能標準に準拠している場合は、システム提供のドライバーと INF ファイルを使用できます。 システムが提供する多機能ドライバー (mf.sys) は、デバイスのバス レベルの列挙とリソースの割り当ての要件を処理でき、システム提供の INF (mf.sys) は多機能デバイスをインストールできます。 個々のデバイス関数ごとに関数ドライバーと INF ファイルのみを指定する必要があります。

デバイスがバスの標準に準拠していない場合は、デバイス関数の関数ドライバーと INF ファイルに加えて、機能の mf.sys と同等のドライバーを提供する必要があります。

多機能デバイスをインストールするには、通常、デバイスの基本 INF ファイルと、各デバイスの機能に追加の INF ファイルを提供します。 基本 INF ファイルは、通常、デバイスの個々の関数の INF ファイルをコピーします。 これを行う方法については、 INF のコピーを参照してください。

次のセクションでは、さまざまな種類の多機能デバイスのドライバーとインストールの要件について説明します。

多機能 PC カード デバイスのサポート

多機能 PCI デバイスのサポート

他のバスでの多機能デバイスのサポート

System-Supplied 多機能バス ドライバーの使用

多機能デバイスのリソース マップの作成

INF ファイルの構文については、INF ファイルセクションINF ファイル ディレクティブを参照してください。

Windows Driver Kit (WDK) には、 多機能オーディオ デバイスをサポートする方法について説明する別のセクションが含まれています。