Is a user-mode virtual mic / speaker driver based on sysvad possible?

The sysvad example by Microsoft seems to be kernel-mode. I was wondering if a user-mode architecture is possible? Or do audio drivers on Windows currently require kernel-mode architecture?

Heinsaar wrote:

The sysvad example by Microsoft seems to be kernel-mode. I was wondering if a user-mode architecture is possible? Or do audio drivers on Windows currently require kernel-mode architecture?

Audio drivers are kernel mode.  It wasn’t always that way; in the heady
days of the 20th Century, one could write user-mode waveIn and waveOut
DLLs that were first-class citizens in the audio world.  You can still
write them today, but they only work with certain applications.  They
can’t be used as general purpose audio devices.

The typical audio driver today doesn’t do very much.  You set up buffers
and pointers and respond to volume changes, but the driver does not
participate in the streaming data flow.  That’s all handled by the Audio
Engine.

Note: The email was trying to reply to an invalid Discussion (290825).

Thanks Tim, very helpful.

> The typical audio driver today doesn’t do very much.  You set up buffers > and pointers and respond to volume changes, but the driver does not > participate in the streaming data flow.  That’s all handled by the Audio > Engine. > > Note: The email was trying to reply to an invalid Discussion (290825). In win10 WDK demo, driver participated in stream data flow.