Nota
L'accesso a questa pagina richiede l'autorizzazione. Puoi provare ad accedere o a cambiare directory.
L'accesso a questa pagina richiede l'autorizzazione. Puoi provare a cambiare directory.
Un dispositivo multifunzione può contenere due o più sottodispositivi audio. Ad esempio, un driver di adattatore potrebbe consentire a un dispositivo audio a otto canali di essere esposto al sistema come quattro canali stereo. Quando si scrive un driver di adattatore per esporre più sottodispositivi in questo modo, è necessario incorporare informazioni sui sottodispositivi nella sequenza di avvio del driver e nel file INF.
Prima di tutto, il driver dell'adattatore deve esporre ogni sottodispositivo stereo come istanza separata di una coppia di driver porta/miniport durante la sequenza di avvio. Diversi adattatori di esempio in Microsoft Windows Driver Kit (WDK) implementano una InstallSubdevice funzione che crea e registra un sottodispositivo costituito da un driver di porta di sistema, un driver miniport e un set di risorse da associare a questa coppia. Durante l'avvio, il driver deve chiamare la funzione InstallSubdevice una volta per ogni sottodispositivo stereo e specificare un nome univoco per ogni coppia di driver porta/miniport.
Inoltre, il nome univoco assegnato a questa coppia deve corrispondere alla stringa KSNAME specificata nel file INF del driver. Ad esempio, il driver potrebbe assegnare i nomi "Wave1" e "Wave2" a due sottodispositivi durante l'avvio, come illustrato di seguito:
InstallSubdevice(..., "Wave1",...);
InstallSubdevice(..., "Wave2",...);
In questo caso, gli stessi nomi dovrebbero essere visualizzati nel file INF:
KSNAME_Wave1="Wave1"
KSNAME_Wave2="Wave2"
Il file INF deve aggiungere interfacce contenenti questi nomi:
AddInterface=%KSCATEGORY_AUDIO%,%KSNAME_Wave1%,Test.Interface.Wave1
AddInterface=%KSCATEGORY_AUDIO%,%KSNAME_Wave2%,Test.Interface.Wave2
Il file INF deve creare sezioni AddReg (vedere direttiva INF AddReg) per aggiungere informazioni su queste interfacce al Registro di sistema:
[Test.Interface.Wave1]
AddReg=Test.I.Wave1.AddReg
[Test.Interface.Wave2]
AddReg=Test.I.Wave2.AddReg
Le sezioni AddReg devono specificare anche le voci del Registro di sistema per ogni sottodispositivo:
[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%
Infine, il file INF deve definire i nomi descrittivi per questi sottodispositivi:
Test.Wave1.szName="Punch"
Test.Wave2.szName="Judy"
I nomi amichevoli vengono visualizzati nel pannello di controllo audio per identificare i sottodispositivi.