[wdmaudiodev] Re: Capturing audio output using a "kernel mode filter driver"

  • From: Tim Roberts <timr@xxxxxxxxx>
  • To: "wdmaudiodev@xxxxxxxxxxxxx" <wdmaudiodev@xxxxxxxxxxxxx>
  • Date: Mon, 23 May 2011 10:16:30 -0700

Paul Titchener wrote:
> a generic audio device via registry hacking (i.e. not via the driver .INF 
> file) is a big NO-NO according to official MS policy.

Microsoft policy restrictions have rarely had any effect on device

> I plugged in a USB audio device after TotalRecorder had already been 
> installed and it captured audio played back to that new device also. It 
> would be pretty tricky to have the sAPO approach work for this case.

A background application could do this with the loopback interface.

> They claim they are using a "kernel mode filter driver". Searching on that 
> term leads you to some general MS descriptions of a filter driver being an 
> optional component that you can create that sits between the kernel level 
> standard driver and the higher level calls for the purposes of adding 
> additional functionality.
> But the examples all seem to be for general purpose file reading and 
> writing, not audio systems.

The term "filter" is overloaded in the Windows kernel world, but a PnP
filter driver can be inserted between any two kernel drivers.  I have
written several filter drivers for USB audio devices that didn't quite
meet the USB Audio Class spec, in order to fake the configuration
stream.  The filter driver concept works very nicely for intercepting
audio data for many audio drivers (including USB Audio), but it doesn't
do anything for WaveRT devices, because the data doesn't flow through
any kernel components.  The filter driver would have to periodically
poll the circular buffer pointers to watch for new data.  That's ugly,
but I'll bet that's what they did.

> Is it possible that there is an undocumented method for adding a "filter 
> driver" to the windows audio system and these guys figured out how to do it?


Tim Roberts, timr@xxxxxxxxx
Providenza & Boekelheide, Inc.


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: