![]() |
|
|
#1 |
|
Guest
Posts: n/a
|
Multiple Audio Subdevices Problem in WindowsXP
Hi
I write a audio driver with Multiple Audio Subdevices. I defined two subdevice "wave1, wave2", and the FriendlyName is "Punch, Judy". When I run driver under window2k, I can find the friendly names "Punch, Judy"in the audio control panel. When I run driver under windowsXP, I can't find the friendly name in audio control panel, only the driver name. I need use "friendly name" in user mode program, How can I use "friendly name" under windows XP? Fellow is DDK document: First, your adapter driver should expose each stereo subdevice as a separate instance of a port/miniport pair during the startup sequence. Several of the sample adapters in the DDK implement an InstallSubdevice function that creates and registers a subdevice consisting of a system port driver, a miniport driver, and a set of resources that are to be bound to this pair. During startup, your driver should call its InstallSubdevice function once for each stereo subdevice and specify a unique name for each port/miniport pair. In addition, the unique name you assign to this pair must match the KSNAME string that you specify in your driver's INF file. For example, your driver might assign the names "Wave1" and "Wave2" to two subdevices during startup, as shown below: InstallSubdevice(..., "Wave1",...); InstallSubdevice(..., "Wave2",...);In this case, the same names should appear in the INF file: KSNAME_Wave1="Wave1" KSNAME_Wave2="Wave2"Your INF file should add interfaces that contain these names: AddInterface=%KSCATEGORY_AUDIO%,%KSNAME_Wave1%,Tes t.Interface.Wave1 AddInterface=%KSCATEGORY_AUDIO%,%KSNAME_Wave2%,Tes t.Interface.Wave2The INF file should create AddReg sections in order to add information about these interfaces to the registry: [Test.Interface.Wave1] AddReg=Test.I.Wave1.AddReg [Test.Interface.Wave2] AddReg=Test.I.Wave2.AddRegThe AddReg sections should also specify the registry entries for each 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%Finally, the INF file should define the friendly names for these subdevices: Test.Wave1.szName="Punch" Test.Wave2.szName="Judy" |
|
![]() |
| Thread Tools | |
| Display Modes | |
|
|