Subdevice registration involves the class driver registering the device interface with the system. This is alluded to in the PCRegisterSubdevice() function description at: http://msdn.microsoft.com/library/default.asp?url=/library/en-us/Audio_r /hh/Audio_r/audpc-routines_ba884bcc-8193-4434-9747-d2bce0156eb8.xml.asp? frame=true Since a driver can register to receive notification of when device interfaces are added or removed you can track this. See the documentation for IORegisterPlugPlayNotification() at: http://msdn.microsoft.com/library/default.asp?url=/library/en-us/kmarch/ hh/kmarch/k104_2210e60c-f9ca-4848-8aab-7b01d2d2ffd7.xml.asp And for a more thorough explanation read "Registering for Device Interface Change Notification" at: http://msdn.microsoft.com/library/default.asp?url=/library/en-us/Kernel_ d/hh/Kernel_d/PlugPlay_c34c39cd-8cdb-4e80-9c71-4da168de62fd.xml.asp?fram e=true Hope this helps, Richard Fricks Microsoft DDK - Audio -----Original Message----- From: wdmaudiodev-bounce@xxxxxxxxxxxxx [mailto:wdmaudiodev-bounce@xxxxxxxxxxxxx] On Behalf Of Sam Tertzakian Sent: Wednesday, November 23, 2005 8:25 AM To: wdmaudiodev@xxxxxxxxxxxxx Subject: [wdmaudiodev] Re: RegisterSubdevice() and notification Using AVStream model, I am pretty sure you can do what you need. It is very dynamic and filters and pins can easily be created/destroyed. Using the other models, it may be more difficult...if not impossible. But, perhaps someone else has a different point of view. If you have not written code yet, then I would look at using AVStream. If you already have a driver written using Portcls or something else, then I am not sure. -----Original Message----- From: wdmaudiodev-bounce@xxxxxxxxxxxxx [mailto:wdmaudiodev-bounce@xxxxxxxxxxxxx] On Behalf Of R. Geller Sent: Monday, November 21, 2005 1:10 AM To: wdmaudiodev@xxxxxxxxxxxxx Subject: [wdmaudiodev] RegisterSubdevice() and notification I am trying to develop an virtual driver which can pass audio data to the other device. However I encounter a problem that the hardware codec driver can change the playback or recording devices on the fly. The hardware code driver uses RegisterSubdevice() and UnregisterSubdevice() to change the devices dynamically. These two calls don't issue any unload/reload IRP. Then how can I know the change of the hardware codec driver? Does anybody know how the virtual driver can get the notification for the change of the hardware codec driver if the virtual driver is on top of the portcls? Thanks __________________________________ Yahoo! FareChase: Search multiple travel sites in one click. http://farechase.yahoo.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/ ****************** 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/