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:

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.