Dimitr, If the other driver has been correctly designed, you should be able to interchange them in the way you described. In the end, it really is the same: this will result in the same driver ordering in the device stack. Even if that would work, I would recommend using the proper mechanism, i.e. chaining your new driver to the existing FDO instead of the opposite. You would have to modify the original driver's INF, breaking that driver's digital signature. There are other consequences too, for example, other filter drivers designed to chain above or below that FDO might not work anymore. my advice? stick to the standards and make your driver a proper filter driver. It always pays off. Mat -----Original Message----- From: wdmaudiodev-bounce@xxxxxxxxxxxxx [mailto:wdmaudiodev-bounce@xxxxxxxxxxxxx] On Behalf Of dprado@xxxxxxxxxxxxxx Sent: Saturday, October 16, 2004 10:54 AM To: wdmaudiodev@xxxxxxxxxxxxx Subject: [wdmaudiodev] Re: newbie questions about filter drivers Well, it is clear to me that this is a lot harder than I previously thought. I still have a "basic" question regarding the stacking of drivers. All the information I have seen on WDM filter drivers, state that filter drivers sit above or below a function driver and "transparently" filter IRPs . I installed a simple "passtrough" driver as an UpperFilter driver to the MSVAD virtual audio device from the DDK and it worked as expected, logging the IRPs with KdPrint. After that I modified the INF file in order to install the passthrough filter driver as a function driver, including registering wave interfaces for this driver. I manually configured the MSVAD virtual audio driver as a LowerFilter of this Passthrough filter driver ( that was actually installed as a function driver ). This worked, but I am not sure if this is somthing that I shouldn´t have done. Generally, If I have a filter driver "XYZ" as an UpperFilter to a function driver "ABC" , can I install "XYZ" as a function driver and have the "ABC" driver as a lowerfilter to XYZ? Would it have the same effect? This same setup did not work when using USBaudio as a LowerFilter to the passthough driver The passthough driver refused to load. Dimitr Prado > >from what I understand a lower filter will not work, how can the lower > filter > >know which "virtual device" the user application used? > > > > Because above you, there will be two driver stacks: two copies of > usbaudio.sys, two copies of sysaudio.sys, two copies of wdmaud.sys, two > devices exposed to user mode. I don't know whether it has to be a lower > filter to usbaudio.sys or an upper filter to usbd.sys, but I believe > that's the spot where you need to branch off your second device. Each > request will come to you from a different FDO. You'll merge them and > forward it on. > > If this is just a hobby task for you, to avoid buying another set of > speakers, you should probably forget it. You're probably talking about > five weeks of development and debugging work. ****************** 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.de/ ****************** 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.de/