Rotinas DDI de áudio HD
Conforme explicado em Diferenças entre as versões DDI de áudio HD, existem três versões da DDI de áudio HD. Essas três versões DDI são definidas pelas estruturas HDAUDIO_BUS_INTERFACE, HDAUDIO_BUS_INTERFACE_V2 e HDAUDIO_BUS_INTERFACE_BDL .
As três versões DDI são acessíveis somente no modo kernel.
Cada versão DDI fornece acesso aos recursos de hardware que o controlador de barramento de áudio HD gerencia. Esses recursos incluem codecs, mecanismos de DMA, largura de banda de link, registros de posição de link e um registro de relógio de parede. O driver de barramento de áudio HD implementa a DDI e expõe a DDI para seus filhos. Os filhos são instâncias de drivers de função no modo kernel que usam a DDI para gerenciar os codecs de hardware conectados ao controlador de áudio HD.
Para obter acesso a uma versão DDI, um driver de função deve consultar o driver de barramento de áudio HD para obter um objeto de contexto DDI. Para obter mais informações, consulte Obtendo um objeto DDI HDAUDIO_BUS_INTERFACE, Obtendo um objeto DDI HDAUDIO_BUS_INTERFACE_V2 e Obtendo um objeto DDI HDAUDIO_BUS_INTERFACE_BDL.
Cada rotina nas três versões DDI usa um ponteiro para o objeto de contexto como seu primeiro parâmetro de chamada.
A estrutura HDAUDIO_BUS_INTERFACE define uma DDI que contém as seguintes rotinas:
A estrutura HDAUDIO_BUS_INTERFACE_V2 está disponível no Windows Vista e em versões posteriores do Windows e define uma DDI que contém as seguintes rotinas:
AllocateDmaBufferWithNotification
A versão HDAUDIO_BUS_INTERFACE da DDI de Áudio HD tem suporte no Windows Vista e em versões posteriores do Windows. Além disso, uma versão do driver de barramento de áudio HD que dá suporte a essa DDI pode ser instalada no Windows 2000, Windows XP e Windows Server 2003.
A estrutura HDAUDIO_BUS_INTERFACE_BDL define uma DDI que contém as seguintes rotinas:
Uma versão do driver de barramento de áudio HD que dá suporte à versão HDAUDIO_BUS_INTERFACE_BDL da DDI de áudio HD pode ser instalada no Windows 2000, Windows XP e Windows Server 2003. No entanto, o Windows Vista não oferece suporte para essa versão DDI.
A maioria das rotinas nos dois DDIs são idênticas no nome e na operação. No entanto, as duas rotinas a seguir, que fazem parte da versão HDAUDIO_BUS_INTERFACE da DDI, não estão incluídas na versão HDAUDIO_BUS_INTERFACE_BDL:
Da mesma forma, as três rotinas a seguir na versão HDAUDIO_BUS_INTERFACE_BDL da DDI não fazem parte da versão HDAUDIO_BUS_INTERFACE:
Esta seção descreve as seguintes rotinas de DDI:
SetupDmaEngineWithBdl que funciona com PHDAUDIO_BDL_ISR
A lista anterior contém todas as rotinas que aparecem em uma ou em ambas as versões da DDI.