UAA-Klassentreiber
Unter Windows Vista stellt Microsoft UAA-Klassentreiber für Audiogeräte bereit, die entweder eine Verbindung mit einem internen Bus (PCI) oder einem externen Bus (IEEE 1394 oder USB) herstellen. Um vom UAA-Klassentreiber für einen bestimmten Bus unterstützt zu werden, muss ein Gerät den UAA-Hardwarespezifikationen für diesen Bus entsprechen. Für ein Gerät in einem internen Bus gibt das Dokument mit den UaA-Hardwareanforderungen Folgendes an:
Das Register des HD-Audiocontrollers mit den geringfügigen Änderungen, die unter UAA-Erweiterungen für die HD-Audioarchitektur erläutert werden.
Die Anforderungen für den HD-Audiocodec (zu veröffentlichen).
Informationen zu den Anforderungen für UAA-Geräte in externen Bussen oder Informationen zu UAA-Klassentreibern finden Sie im Whitepaper Zur Universellen Audioarchitektur .
Der Rest dieser Diskussion bezieht sich nur auf die Version des UAA-Klassentreibers, der ein Audiogerät steuert, das eine Verbindung mit einem internen Bus herstellt, die HD Audio-Hardwareregister implementiert und einen UAA-kompatiblen HD Audio-Codec steuert. Dieser Klassentreiber ist ein untergeordnetes Element des HD Audio Bus-Treibers und verwendet die baseline hd audio DDI des Bustreibers, um die UAA-konforme Hardware zu programmieren.
Der UAA-Klassentreiber für den HD-Audiocodec:
Stellt dem System eine Geräteschnittstelle für einen Audiocodec oder Codecs bereit.
Sammelt Informationen zu den Digital-to-Audio-Konvertern, Audio-zu-Digital-Konvertern und Klinkenerkennungs-Pins in den Codecs, die auf dem HD Audio Link vorhanden sind.
Initialisiert den Audiocodec oder die Codecs beim Start mit Drittanbieterbefehlen.
Ruft Audioeigenschaften in den Audiocodecs ab und legt sie fest.
Stellt eine Streamingschnittstelle bereit (Zuordnen des zyklischen Puffers eines Streams zum Benutzermodus, Einrichten des Codecs und der DMA-Engine und Behandeln von Eigenschaften wie Linkposition).
Übernimmt die Energieverwaltung in den Audiocodecs.
Dieser Klassentreiber bietet nicht:
Eine Möglichkeit zum dynamischen Programmieren von Audioeffektknoten in den Codecs.
Kombinieren von Funktionen über zwei oder mehr Codecs hinweg, um ein aggregiertes Audio- oder Modemgerät zu bilden.
Behandlung von GPIO-Pins (General Purpose E/O) auf Widgets, es sei denn, sie sind explizit im Dokument zu den UAA-Hardwareanforderungen definiert.
Ein Plug-In-Modell für Drittanbietercode zum Programmieren der Codecs oder zum Bereitstellen von Softwareeffekten.