[wdmaudiodev] Re: Dynamic Audio Subdevices

  • From: uwekirst <u.kirst@xxxxxx>
  • To: wdmaudiodev@xxxxxxxxxxxxx
  • Date: Thu, 18 Nov 2010 11:55:28 +0100

My driver also implements midi, so I'm using the midi handle.
My midi driver is not dynamically registered.

/Uwe

Am 18.11.2010 11:01, schrieb Robert Bielik:
> uwekirst skrev 2010-11-18 10:54:
>> I'm using the irp parameter of my device ioctl funktion which triggers the 
>> Registering of the subdevices. Don't know whether this is important or not,
> I'm planning on implementing this too, a question: Which handle are you using 
> to send the device IOCTLs ? The handles I can get to are the handles
> of the miniports, but at the point when I need to add a subdevice again (i.e. 
> miniport) I have no available handle to the device. Or do I ?
>
> /Rob
>
>> /Uwe
>>
>>
>> Am 18.11.2010 10:06, schrieb Dang XiaoHui:
>>> 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 <mailto: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 
>>> <mailto:wdmaudiodev@xxxxxxxxxxxxx>
>>>     Subscribe: mailto:wdmaudiodev-request@xxxxxxxxxxxxx 
>>> <mailto:wdmaudiodev-request@xxxxxxxxxxxxx>?subject=subscribe
>>>     Unsubscribe: mailto:wdmaudiodev-request@xxxxxxxxxxxxx 
>>> <mailto:wdmaudiodev-request@xxxxxxxxxxxxx>?subject=unsubscribe
>>>     Moderator: mailto:wdmaudiodev-moderators@xxxxxxxxxxxxx 
>>> <mailto:wdmaudiodev-moderators@xxxxxxxxxxxxx>
>>>
>>>     URL to WDMAUDIODEV page:
>>>     http://www.wdmaudiodev.com/
>>>
>>>
>>>
>>>
>>> -- 
>>> 党晓辉
> ******************
>
> 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/
>
>

******************

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: