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.
Um dispositivo multifuncional pode conter dois ou mais subdispositivos 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 subdispositivos dessa maneira, você deve incorporar informações sobre os subdispositivos 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 de 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 miniporta e um conjunto de recursos que devem ser vinculados a esse par. Durante a inicialização, o driver deve chamar sua InstallSubdevice função uma vez para cada subdispositivo estéreo e especificar um nome exclusivo para cada par de driver de porta/miniporta.
Além disso, o nome exclusivo atribuído a esse par deve corresponder à cadeia de caracteres KSNAME especificada no arquivo INF do driver. Por exemplo, seu driver pode atribuir os nomes "Wave1" e "Wave2" a dois subdispositivos durante a inicialização, conforme mostrado abaixo:
InstallSubdevice(..., "Wave1",...);
InstallSubdevice(..., "Wave2",...);
Neste caso, os mesmos nomes devem aparecer no arquivo INF:
KSNAME_Wave1="Wave1"
KSNAME_Wave2="Wave2"
Seu arquivo INF deve adicionar interfaces que contenham 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 Diretiva INF AddReg) 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 subdispositivo:
[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%
Finalmente, o arquivo INF deve definir os nomes amigáveis para esses subdispositivos:
Test.Wave1.szName="Punch"
Test.Wave2.szName="Judy"
Os nomes amigáveis aparecem no painel de controle de áudio para identificar os subdispositivos.