Observação
O acesso a essa página exige autorização. Você pode tentar entrar ou alterar diretórios.
O acesso a essa página exige autorização. Você pode tentar alterar os diretórios.
Um dispositivo multifuncional pode conter dois ou mais subconjuntos de áudio. Por exemplo, um driver de adaptador pode permitir que um dispositivo de áudio de oito canais seja exposto ao sistema como quatro canais estéreo. Ao escrever um driver de adaptador para expor vários subdevices dessa forma, você deve incorporar informações sobre os subdevices na sequência de inicialização do driver e no arquivo INF.
Primeiro, o driver do adaptador deve expor cada subdispositivo estéreo como uma instância separada de um par driver de porta/miniporta durante a sequência de inicialização. Vários dos adaptadores de exemplo no Microsoft Windows Driver Kit (WDK) implementam uma InstallSubdevice função que cria e registra um subdispositivo que consiste em um driver de porta do sistema, um driver de miniporto e um conjunto de recursos que devem ser vinculados a este par. Durante a inicialização, o driver deve chamar sua InstallSubdevice função uma vez para cada subconjunto estéreo e especificar um nome exclusivo para cada par de driver de porta/miniport.
Além disso, o nome exclusivo que você atribui a esse par deve corresponder à cadeia de caracteres KSNAME especificada no arquivo INF do driver. Por exemplo, o driver pode atribuir os nomes "Wave1" e "Wave2" a dois subdevices durante a inicialização, conforme mostrado abaixo:
InstallSubdevice(..., "Wave1",...);
InstallSubdevice(..., "Wave2",...);
Nesse caso, os mesmos nomes devem aparecer no arquivo INF:
KSNAME_Wave1="Wave1"
KSNAME_Wave2="Wave2"
O arquivo INF deve adicionar interfaces que contêm estes nomes:
AddInterface=%KSCATEGORY_AUDIO%,%KSNAME_Wave1%,Test.Interface.Wave1
AddInterface=%KSCATEGORY_AUDIO%,%KSNAME_Wave2%,Test.Interface.Wave2
O arquivo INF deve criar seções AddReg (consulte a Diretiva AddReg inf) para adicionar informações sobre essas interfaces ao registro:
[Test.Interface.Wave1]
AddReg=Test.I.Wave1.AddReg
[Test.Interface.Wave2]
AddReg=Test.I.Wave2.AddReg
As seções AddReg também devem especificar as entradas do Registro para cada subdevice:
[Test.I.Wave1.AddReg]
HKR,,CLSID,,%Proxy.CLSID%
HKR,,FriendlyName,,%Test.Wave1.szName%
[Test.I.Wave2.AddReg]
HKR,,CLSID,,%Proxy.CLSID%
HKR,,FriendlyName,,%Test.Wave2.szName%
Por fim, o arquivo INF deve definir os nomes amigáveis para esses subdevices:
Test.Wave1.szName="Punch"
Test.Wave2.szName="Judy"
Os nomes de fácil identificação aparecem no painel de controle de áudio e ajudam a identificar os subdispositivos.