Benutzerdefinierte Audiotreiber
Audiogeräte, die nicht UAA-kompatibel sind, erfordern vom Anbieter bereitgestellte benutzerdefinierte Treiber. Darüber hinaus kann ein UAA-kompatibler Audioadapter proprietäre Features enthalten, die von den UAA-Klassentreibern nicht unterstützt werden. Auf diese Features kann nur für Anwendungen zugegriffen werden, wenn der Anbieter einen benutzerdefinierten Audiotreiber bereitstellt. Nur auf die standardmäßigen UAA-Features kann über die vom System bereitgestellten UAA-Treiber zugegriffen werden. Informationen zu uaa-unterstützten Features finden Sie im Whitepaper Universelle Audioarchitektur .
Hardwareanbietern stehen zwei Optionen zum Schreiben benutzerdefinierter Audiotreiber zur Verfügung: Die Entwicklung eines benutzerdefinierten Audioadaptertreibers für die Verwendung mit dem PortCls-Systemtreiber (Portcls.sys) oder die Entwicklung eines benutzerdefinierten Minitreibers für die Verwendung mit dem AVStream-Klassensystemtreiber (Ks.sys).
Die meisten benutzerdefinierten Treiber für Audioadapter verwenden PortCls, die als Teil des Betriebssystems bereitgestellt werden. Der PortCls-Systemtreiber (Portcls.sys) enthält eine integrierte Audiotreiberinfrastruktur, die das Schreiben eines benutzerdefinierten Audiotreibers erleichtert. PortCls implementiert mehrere Porttreiber, von denen jeder auf die Verwaltung der generischen Funktionen eines bestimmten Wave-, MIDI- oder Mixer-Geräts spezialisiert ist. Nach auswahl eines geeigneten Satzes von Porttreibern zum Verwalten der Audiofunktionen auf dem Audioadapter entwickelt der Hersteller einen ergänzenden Satz von Miniporttreibern, die in Verbindung mit den ausgewählten Porttreibern funktionieren und die hardwareabhängigen Features der Audiogeräte steuern.
Der Anbieter kann auch ein Audiogerät unterstützen, indem er einen benutzerdefinierten AVStream-Klassen-Minidriver entwickelt. Der Minidriver funktioniert in Verbindung mit dem AVStream-Klassensystemtreiber, der als Teil des Betriebssystems bereitgestellt wird. Die Implementierung eines AVStream-Treibers ist schwieriger als die Verwendung von PortCls, aber dies ist möglicherweise immer noch für Geräte geeignet, die Audio und Video integrieren. Ein AVStream-Treiber kann auch für ein vorhandenes USB- oder IEEE 1394-Audiogerät erforderlich sein, das die Anforderungen des systemseitig bereitgestellten USBAudio- oder AVCAudio-Klassensystemtreibers nicht erfüllt.
Für fast alle PCI-Audioadapter, die vom Anbieter bereitgestellte benutzerdefinierte Treiber erfordern, sollten Anbieter PortCls auswählen.
Dem AVStream-Klassensystemtreiber (Ks.sys) fehlen die meisten audiospezifischen Unterstützungsfunktionen, die in PortCls vorhanden sind.
Weitere Informationen zu PortCls finden Sie unter Einführung in port class. Weitere Informationen zu AVStream finden Sie unter Übersicht über AVStream.