[wdmaudiodev] Re: Dynamic Audio Subdevices

  • From: Dang XiaoHui <dangxhfromuestc@xxxxxxxxx>
  • To: wdmaudiodev@xxxxxxxxxxxxx
  • Date: Thu, 18 Nov 2010 17:06:51 +0800

thanks for reply.

when the device reconnected, I just simply call the
StartDevice(DeviceObject, NULL, NULL) with Irp=Null, and ResourceList=NULL .
(StartDevice will call InstallSubdevice to create miniport )

but the device in control panel > audio > play    didn't show up as
expected. What else should be done?



2010/11/18 uwekirst <u.kirst@xxxxxx>

> Hello Danny,
>
> I'm calling InstallSubdevice (look at one of the DDK examples), which
> creates the miniport.
>
> /Uwe
>
>
> Am 18.11.2010 07:53, schrieb Dang XiaoHui:
>
>  Hello,
>>
>> I'm working on a sound driver based on MSVAD simple for Win7.
>> The two filter is WaveCylic and Topology.
>>
>> During the first time the device is been emulated by os, StartDevice will
>> 1)install MSVAD topology miniport. 2)install MSVAD wavecyclic miniport. 3)
>> RegisterPhysicalConnection between wavecyclic and topology.
>>
>> Since my driver can detect the physical connect and disconnect, I want to
>> notify OS that by unregister/register those miniport and connection.
>>
>> What I did is:
>> 1) save  topology miniport and wavecyclic pointer to Device extension.
>> 2) during disconnect: use the pointer saved in Device extension To
>> unregister  topology-> wavecyclic->connection.
>> 3) during connect:     use the pointer saved in Device extension To
>>  register  topology-> wavecyclic->connection
>>
>> the unregister works as expected. but after trying to re-register those
>> sub-device. I got the error similar to
>>
>> //www.freelists.org/post/wdmaudiodev/WDM-Audio-Subdevice-registration-and-unregistration
>>
>> STACK_TEXT:
>> 8364392c 927204e4 85f4ba10 85f9b548 86f90c20
>> portcls!CPortFilterTopology::Init+0x1e
>> 83643940 927203df 85f9b550 86f90c24 86f90c28
>> portcls!CPortTopology::NewIrpTarget+0x57
>> 83643988 9272031c 85f9b550 86915548 85fadc00 portcls!xDispatchCreate+0xba
>> 8364399c 9263aa9a 86915548 85fadc00 86915600
>> portcls!KsoDispatchCreate+0x17
>> 836439c0 92636778 86915548 00000000 836439ec ks!DispatchCreate+0xe0
>> 836439d0 9271fcd8 86915548 85fadc00 86915548 ks!KsDispatchIrp+0x9f
>> 836439ec 92724ff9 00000000 85fadc00 85f78610 portcls!DispatchCreate+0x4e
>> 83643a04 92725cc8 86915548 85fadc00 83643a70 portcls!KsoDispatchIrp+0x3b
>> 83643a14 8e5873d7 86915548 85fadc00 83643a7c portcls!PcDispatchIrp+0x2d
>>
>> how can i re-register the subdevice like the Startdevice did? do I need to
>> re-create miniport again?
>> Thanks!
>>
>> sincerely
>>
>> --
>> Danny
>>
>
> ******************
>
> WDMAUDIODEV addresses:
> Post message: mailto:wdmaudiodev@xxxxxxxxxxxxx
> Subscribe:    mailto:wdmaudiodev-request@xxxxxxxxxxxxx?subject=subscribe
> Unsubscribe:  mailto:wdmaudiodev-request@xxxxxxxxxxxxx?subject=unsubscribe
> Moderator:    mailto:wdmaudiodev-moderators@xxxxxxxxxxxxx
>
> URL to WDMAUDIODEV page:
> http://www.wdmaudiodev.com/
>
>


-- 
党晓辉

Other related posts: