[wdmaudiodev] Re: newbie questions about filter drivers

  • From: dprado@xxxxxxxxxxxxxx
  • To: wdmaudiodev@xxxxxxxxxxxxx
  • Date: Sat, 16 Oct 2004 11:53:45 -0300

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


Other related posts: