Freigeben über


Adaptertreiberkonstruktion

Die Treiberunterstützung für eine bestimmte Audioadapterkarte hat die Form eines Adaptertreibers. Ein Adaptertreiber besteht aus folgenden Komponenten:

  • Allgemeiner Adaptercode, der den Treiberstart und die Initialisierung durchführt und alle Vorgänge implementiert, die für alle Audiofunktionen auf der Adapterkarte gemeinsam sind.

  • Eine Reihe von Miniporttreibern, die bestimmte Audiofunktionen auf der Adapterkarte verwalten.

Der Hardwareanbieter stellt sowohl den allgemeinen Adaptercode als auch den Code für alle Miniporttreiber bereit, die vom System nicht bereitgestellt werden.

Ein Beispiel für den allgemeinen Adaptercode finden Sie in der Implementierung der CAdapterCommon-Schnittstelle im Sysvad-Beispieltreiber, der in Beispielaudiotreibern erläutert wird.

Mithilfe eines mehrschichtigen Ansatzes kann der Anbieter je nach Hardwarefunktionalität des Adapters einen Adaptertreiber schreiben, der auf einer von mehreren Ebenen ausgeführt wird. Bei der Bestimmung des Unterstützungsniveaus, das eine bestimmte Hardwarefunktion erfordert, sollte der Hersteller zunächst feststellen, ob ein vom System bereitgestellter Miniporttreiber vorhanden ist, der die Funktion unterstützt (siehe die Liste der vom System bereitgestellten Miniporttreiber). Wenn nicht, muss der Anbieter einen proprietären Miniporttreiber implementieren, kann aber möglicherweise trotzdem einen der vom System bereitgestellten Porttreiber verwenden (siehe die Liste der vom System bereitgestellten Porttreiber der PcNewPort-Funktion ).

Führen Sie die folgenden Schritte aus, um die WDM-Unterstützung für ein Gerät zu implementieren:

  1. Wenn ein vom System bereitgestellter Miniporttreiber die Hardwarefunktion bereits unterstützt, verwenden Sie den vorhandenen Miniporttreiber, um die Funktion zu verwalten.

  2. Wenn die Hardwarefunktion nicht mit einem vom System bereitgestellten Miniporttreiber kompatibel ist, ermitteln Sie, ob die Funktion mit mindestens einem der vom System bereitgestellten Porttreiber kompatibel ist. Wenn ein vom System bereitgestellter Porttreiber die Hardwarefunktion unterstützt, schreiben Sie den Teil des Miniporttreibers, der die Funktion verwaltet. Dieser Miniporttreiber sollte die Spezifikation für die Miniportschnittstelle erfüllen, die der zuständige Porttreiber erwartet.

  3. Wenn kein vom System bereitgestellter Porttreiber die Hardwarefunktion unterstützt, schreiben Sie einen Minidriver, um die Funktion zu unterstützen. Der Minidriver sollte die Schnittstellenspezifikation für den Streamingklassentreiber erfüllen.

In diesem Abschnitt werden die folgenden Themen erläutert:

Startsequenz

Untergerät Erstellung