Rutinas de DDI de audio HD
Como se explica en Diferencias entre las versiones DDI de audio HD, existen tres versiones de DDI de audio HD. Estas tres versiones de DDI se definen mediante las estructuras de HDAUDIO_BUS_INTERFACE, HDAUDIO_BUS_INTERFACE_V2 y HDAUDIO_BUS_INTERFACE_BDL .
Las tres versiones de DDI solo son accesibles en modo kernel.
Cada versión de DDI proporciona acceso a los recursos de hardware que administra el controlador de bus de audio HD. Estos recursos incluyen códecs, motores DMA, ancho de banda de vínculo, registros de posición de vínculo y registro de reloj. El controlador de bus de audio HD implementa el DDI y expone el DDI a sus elementos secundarios. Los elementos secundarios son instancias de controladores de funciones en modo kernel que usan DDI para administrar los códecs de hardware que están conectados al controlador de audio HD.
Para obtener acceso a una versión DDI, un controlador de función debe consultar el controlador de bus de audio HD para un objeto de contexto DDI. Para obtener más información, vea Obtener un objeto DDI de HDAUDIO_BUS_INTERFACE, Obtener un objeto DDI de HDAUDIO_BUS_INTERFACE_V2 y Obtener un objeto DDI de HDAUDIO_BUS_INTERFACE_BDL.
Cada rutina de las tres versiones DDI toma un puntero al objeto de contexto como su primer parámetro de llamada.
La estructura HDAUDIO_BUS_INTERFACE define una DDI que contiene las siguientes rutinas:
Anular el registroEventCallback
La estructura de HDAUDIO_BUS_INTERFACE_V2 está disponible en Windows Vista y versiones posteriores de Windows, y define una DDI que contiene las siguientes rutinas:
AllocateDmaBufferWithNotification
Anular el registroEventCallback
La versión HDAUDIO_BUS_INTERFACE de la DDI de audio HD se admite en Windows Vista y versiones posteriores de Windows. Además, se puede instalar una versión del controlador de bus de audio HD que admita esta DDI en Windows 2000, Windows XP y Windows Server 2003.
La estructura HDAUDIO_BUS_INTERFACE_BDL define una DDI que contiene las siguientes rutinas:
Anular el registroEventCallback
En Windows 2000, Windows XP y Windows Server 2003, se puede instalar una versión del controlador de bus de audio HD que admite la versión HDAUDIO_BUS_INTERFACE_BDL de HD Audio DDI. Sin embargo, Windows Vista no proporciona compatibilidad con esta versión de DDI.
La mayoría de las rutinas de los dos DDIs son idénticas tanto en el nombre como en la operación. Sin embargo, las dos rutinas siguientes, que forman parte de la versión HDAUDIO_BUS_INTERFACE de la DDI, no se incluyen en la versión de HDAUDIO_BUS_INTERFACE_BDL:
Del mismo modo, las tres rutinas siguientes en la versión HDAUDIO_BUS_INTERFACE_BDL de DDI no forman parte de la versión de HDAUDIO_BUS_INTERFACE:
En esta sección se describen las siguientes rutinas de DDI:
SetupDmaEngineWithBdl , que funciona con PHDAUDIO_BDL_ISR
Anular el registroEventCallback
La lista anterior contiene todas las rutinas que aparecen en o en ambas versiones de DDI.