HD Audio DDI-Routinen
Wie unter Unterschiede zwischen den HD Audio DDI-Versionen erläutert, gibt es drei Versionen des HD Audio DDI. Diese drei DDI-Versionen werden durch die Strukturen HDAUDIO_BUS_INTERFACE, HDAUDIO_BUS_INTERFACE_V2 und HDAUDIO_BUS_INTERFACE_BDL definiert.
Auf die drei DDI-Versionen kann nur im Kernelmodus zugegriffen werden.
Jede DDI-Version bietet Zugriff auf die Hardwareressourcen, die der HD Audio-Buscontroller verwaltet. Zu diesen Ressourcen gehören Codecs, DMA-Engines, Linkbandbreite, Linkpositionsregister und ein Wanduhrregister. Der HD Audio-Bustreiber implementiert den DDI und macht den DDI für seine untergeordneten Elemente verfügbar. Die untergeordneten Elemente sind Instanzen von Kernelmodusfunktionstreibern, die den DDI verwenden, um die Hardwarecodecs zu verwalten, die mit dem HD Audio-Controller verbunden sind.
Um Zugriff auf eine DDI-Version zu erhalten, muss ein Funktionstreiber den HD Audio-Bustreiber nach einem DDI-Kontextobjekt abfragen. Weitere Informationen finden Sie unter Abrufen eines HDAUDIO_BUS_INTERFACE DDI-Objekts, Abrufen eines HDAUDIO_BUS_INTERFACE_V2 DDI-Objekts und Abrufen eines HDAUDIO_BUS_INTERFACE_BDL DDI-Objekts.
Jede Routine in den drei DDI-Versionen verwendet einen Zeiger auf das Kontextobjekt als ersten Aufrufparameter.
Die HDAUDIO_BUS_INTERFACE-Struktur definiert einen DDI, der die folgenden Routinen enthält:
Aufheben der RegistrierungEventCallback
Die HDAUDIO_BUS_INTERFACE_V2-Struktur ist in Windows Vista und höheren Versionen von Windows verfügbar und definiert einen DDI, der die folgenden Routinen enthält:
AllocateDmaBufferWithNotification
Aufheben der RegistrierungEventCallback
Aufheben der RegistrierungNotificationEvent
Die HDAUDIO_BUS_INTERFACE Version von HD Audio DDI wird in Windows Vista und höheren Versionen von Windows unterstützt. Darüber hinaus kann eine Version des HD Audio-Bustreibers, die diesen DDI unterstützt, in Windows 2000, Windows XP und Windows Server 2003 installiert werden.
Die HDAUDIO_BUS_INTERFACE_BDL-Struktur definiert einen DDI, der die folgenden Routinen enthält:
Aufheben der RegistrierungEventCallback
In Windows 2000, Windows XP und Windows Server 2003 kann eine Version des HD Audio-Bustreibers installiert werden, der die HDAUDIO_BUS_INTERFACE_BDL Version von HD Audio DDI unterstützt. Windows Vista bietet jedoch keine Unterstützung für diese DDI-Version.
Die meisten Routinen in den beiden DDIs sind sowohl im Namen als auch im Vorgang identisch. Die folgenden beiden Routinen, die Teil der HDAUDIO_BUS_INTERFACE Version des DDI sind, sind jedoch nicht in der HDAUDIO_BUS_INTERFACE_BDL-Version enthalten:
Ebenso sind die folgenden drei Routinen in der HDAUDIO_BUS_INTERFACE_BDL Version des DDI nicht Teil der HDAUDIO_BUS_INTERFACE Version:
In diesem Abschnitt werden die folgenden DDI-Routinen beschrieben:
SetupDmaEngineWithBdl , das mit PHDAUDIO_BDL_ISR
Aufheben der RegistrierungEventCallback
Die vorherige Liste enthält alle Routinen, die in einer oder beiden Versionen des DDI angezeigt werden.