I am looking to write an audio driver (or similar) that allows you to stream all of your audio over the network to another computer (similar to PulseAudio, ESD, etc. for linux). I've done some research and have some ideas, but I have a couple questions and would appreciate feedback before I head down the wrong path (I'm new to driver development). :-) Basic requirements: Must work on Vista+, must work for any app, must be redistributable (i.e. not a hack). Would be nice: The ability to work in tandem with the existing audio driver so as to still play the audio locally while streaming it over the network. So what is the best solution? Initially I thought a filter driver would be perfect as it allows the existing audio driver to still function, but it seems that filter drivers won't (in general) work on Vista as WaveRT bypasses kernel streaming. Given that, a GFX sAPO started to sound interesting, but it seems that sAPO's are tied to a *specific* audio device and so are not straightforward to install and might have undesirable side-effects (e.g. overriding any sAPO's provided by the existing driver). So this seems hacky and not the kind of solution I want. So instead, the solution I'm leaning towards is taking the msvad sample and modifying it to stream data over the network instead of writing to a file. I'll lose the ability to play sound locally, but I can live with it. So my questions are: 1. Am I missing any other interesting options? 2. Given the msvad route, any suggestions for getting the audio stream data to the network? :-) I'm thinking I need a user-mode Service that communicates with the driver to get the audio stream (to then send it over the network in user-mode). I was thinking of using named pipes for the user<->kernel communication, but that seems to be discouraged (though I'm not 100% sure why) and so I should instead probably learn how to use ioctls. Does that sound right? I'll look into the details. Once I get it to user-mode, I can do the rest. Any other tips or pointers to existing work would also be appreciated. Thanks! -Michael