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/