[wdmaudiodev] KMDF and AVStream revisited

  • From: Daniel Rice <drice@xxxxxxxxx>
  • To: "wdmaudiodev@xxxxxxxxxxxxx" <wdmaudiodev@xxxxxxxxxxxxx>
  • Date: Thu, 11 Nov 2010 12:56:22 -0800


I know this topic has been discussed on this list many times, although in 
reading through the threads I really didn't find a compelling reason to go one 
way or the other, so I was looking for some opinion as we move towards our 
final decision.

My company is currently building a new windows usb audio driver, including an 
ASIO driver, so, as far as I understand it, we're faced with 3 possible 
architecture options:

1.       AVStream (No KMDF use)

2.       KMDF driver in "Miniport" mode with AVStream (Some KMDF use possible, 
but not IOQueues and PNP support will be through AVStream)

3.       KMDF driver with separate AVStream driver that communicates over 
IOCtls (Complete KMDF use available)

Pros and cons basically come down to code footprint, and code simplicity 
considering the limitations of each option. If we do go the KMDF route, we gain 
a lot by having access to the continuous usb reader stuff, so that's definitely 
a benefit of options 2 and 3, although in option 3, it seems the communication 
between 2 drivers might require a lot of code and synchronization. I'm not 
really sure what the best approach is. At the same time, we really benefit from 
the use of Plug and Play and Power management through KMDF in option 3.

I'm interested on opinions as well as alternate approaches to what we have 

Thanks for your time,


Other related posts: