Condividi tramite


Routine DDI audio HD

Come illustrato in Differenze tra le versioni DDI audio HD, esistono tre versioni di HD Audio DDI. Queste tre versioni DDI sono definite dalle strutture HDAUDIO_BUS_INTERFACE, HDAUDIO_BUS_INTERFACE_V2 e HDAUDIO_BUS_INTERFACE_BDL.

Le tre versioni DDI sono accessibili solo in modalità kernel.

Ogni versione DDI fornisce l'accesso alle risorse hardware gestite dal controller del bus audio HD. Queste risorse includono codec, motori DMA, larghezza di banda di collegamento, registri posizione collegamento e un registro dell'orologio a parete. Il driver del bus audio HD implementa l'DDI ed espone l'DDI ai suoi figli. Gli elementi figlio sono istanze di driver di funzione in modalità kernel che usano DDI per gestire i codec hardware connessi al controller AUDIO HD.

Per ottenere l'accesso a una versione DDI, un driver di funzione deve eseguire query sul driver del bus audio HD per un oggetto contesto DDI. Per altre informazioni, vedere Ottenere un oggetto DDI HDAUDIO_BUS_INTERFACE, ottenere un oggetto DDI HDAUDIO_BUS_INTERFACE_V2 e ottenere un oggetto DDI HDAUDIO_BUS_INTERFACE_BDL.

Ogni routine nelle tre versioni DDI accetta un puntatore all'oggetto contesto come primo parametro di chiamata.

La struttura HDAUDIO_BUS_INTERFACE definisce un DDI contenente le routine seguenti:

AllocateCaptureDmaEngine

AllocateDmaBuffer

AllocateRenderDmaEngine

ChangeBandwidthAllocation

FreeDmaBuffer

FreeDmaEngine

GetDeviceInformation

GetLinkPositionRegister

GetResourceInformation

GetWallClockRegister

RegisterEventCallback

SetDmaEngineState

TransferCodecVerbs

Annullare la registrazioneEventCallback

La struttura HDAUDIO_BUS_INTERFACE_V2 è disponibile in Windows Vista e versioni successive di Windows e definisce un DDI contenente le routine seguenti:

AllocateCaptureDmaEngine

AllocateDmaBuffer

AllocateDmaBufferWithNotification

AllocateRenderDmaEngine

ChangeBandwidthAllocation

FreeDmaBuffer

FreeDmaBufferWithNotification

FreeDmaEngine

GetDeviceInformation

GetLinkPositionRegister

GetResourceInformation

GetWallClockRegister

RegisterEventCallback

RegisterNotificationEvent

SetDmaEngineState

TransferCodecVerbs

Annullare la registrazioneEventCallback

UnregisterNotificationEvent

La versione HDAUDIO_BUS_INTERFACE di HD Audio DDI è supportata in Windows Vista e versioni successive di Windows. Inoltre, una versione del driver del bus audio HD che supporta questo DDI può essere installata in Windows 2000, Windows XP e Windows Server 2003.

La struttura HDAUDIO_BUS_INTERFACE_BDL definisce un DDI contenente le routine seguenti:

AllocateCaptureDmaEngine

AllocateContiguousDmaBuffer

AllocateRenderDmaEngine

ChangeBandwidthAllocation

FreeContiguousDmaBuffer

FreeDmaEngine

GetDeviceInformation

GetLinkPositionRegister

GetResourceInformation

GetWallClockRegister

RegisterEventCallback

SetDmaEngineState

SetupDmaEngineWithBdl

TransferCodecVerbs

Annullare la registrazioneEventCallback

Una versione del driver del bus audio HD che supporta la versione HDAUDIO_BUS_INTERFACE_BDL di HD Audio DDI può essere installata in Windows 2000, Windows XP e Windows Server 2003. Tuttavia, Windows Vista non fornisce alcun supporto per questa versione DDI.

La maggior parte delle routine nelle due DDI è identica sia nel nome che nell'operazione. Tuttavia, le due routine seguenti, che fanno parte della versione HDAUDIO_BUS_INTERFACE di DDI, non sono incluse nella versione HDAUDIO_BUS_INTERFACE_BDL:

AllocateDmaBuffer

FreeDmaBuffer

Analogamente, le tre routine seguenti nella versione HDAUDIO_BUS_INTERFACE_BDL dell'DDI non fanno parte della versione di HDAUDIO_BUS_INTERFACE:

AllocateContiguousDmaBuffer

FreeContiguousDmaBuffer

SetupDmaEngineWithBdl

Questa sezione descrive le routine DDI seguenti:

AllocateCaptureDmaEngine

AllocateContiguousDmaBuffer

AllocateDmaBuffer

AllocateRenderDmaEngine

ChangeBandwidthAllocation

FreeContiguousDmaBuffer

FreeDmaBuffer

FreeDmaEngine

GetDeviceInformation

GetLinkPositionRegister

GetResourceInformation

GetWallClockRegister

RegisterEventCallback

SetDmaEngineState

SetupDmaEngineWithBdl che funziona con PHDAUDIO_BDL_ISR

TransferCodecVerbs

Annullare la registrazioneEventCallback

L'elenco precedente contiene tutte le routine visualizzate in o in entrambe le versioni dell'DDI.