Nota
O acesso a esta página requer autorização. Podes tentar iniciar sessão ou mudar de diretório.
O acesso a esta página requer autorização. Podes tentar mudar de diretório.
A tabela a seguir mostra os valores dos parâmetros de entrada que o driver de função grava no IOCTL IRP_MN_QUERY_INTERFACE para obter uma estrutura HDAUDIO_BUS_INTERFACE e um objeto de contexto para a versão do HD Audio DDI que essa estrutura define.
| Parâmetro | Valor |
|---|---|
GUID CONST *InterfaceType |
GUID_HDAUDIO_BUS_INTERFACE |
Tamanho do USHORT |
tamanho do(HDAUDIO_BUS_INTERFACE) |
USHORT Versão |
0x0100 |
PINTERFACE Interface |
|
PVOID InterfaceSpecificData |
NULL |
O driver de função aloca armazenamento para a estrutura HDAUDIO_BUS_INTERFACE e inclui um ponteiro para essa estrutura no IOCTL. Na tabela anterior, o ponteiro para a estrutura HDAUDIO_BUS_INTERFACE é convertido para o tipo PINTERFACE, que é um ponteiro para uma estrutura do tipo INTERFACE. Os nomes e tipos dos cinco primeiros membros do HDAUDIO_BUS_INTERFACE correspondem aos dos cinco membros do INTERFACE. HDAUDIO_BUS_INTERFACE contém membros adicionais que são ponteiros de função para as rotinas DDI. Em resposta ao recebimento do IOCTL do driver de função, o driver do barramento HD Audio preenche toda a estrutura HDAUDIO_BUS_INTERFACE.
A tabela a seguir mostra os valores que o driver de barramento HD Audio grava nos primeiros cinco membros da estrutura HDAUDIO_BUS_INTERFACE.
| Membro | Valor |
|---|---|
Tamanho do USHORT |
tamanho do(HDAUDIO_BUS_INTERFACE) |
USHORT Versão |
0x0100 |
PVOID Contexto |
Informações de contexto que devem ser passadas como o primeiro parâmetro de chamada para cada rotina DDI |
PINTERFACE_REFERENCE InterfaceReference |
Ponteiro para uma rotina que incrementa a contagem de referência do objeto de contexto |
PINTERFACE_DEREFERENCE InterfaceDereference |
Ponteiro para uma rotina que diminui a contagem de referência do objeto de contexto |
Na tabela anterior, o membro Context aponta para um objeto de contexto que contém informações específicas para a instância particular da DDI de áudio HD básica que o cliente obtém do IOCTL. Ao chamar qualquer uma das rotinas do DDI, o driver de função do cliente deve sempre especificar o valor do ponteiro Context como o primeiro parâmetro da chamada. As informações de contexto são opacas para o cliente. O driver de barramento HD Audio cria um objeto de contexto diferente para cada cliente. Quando o objeto de contexto não é mais necessário, o cliente libera o objeto de contexto chamando o InterfaceDereference rotina mostrada na tabela anterior. Se necessário, um cliente pode criar referências adicionais ao objeto chamando o InterfaceReference rotina, mas o cliente é responsável por liberar essas referências quando não precisar mais delas.