User-Mode Audio Driver Entry Points

Like all installable user-mode drivers, user-mode audio drivers must export a DriverProc entry point and support the standard driver messages. Audio drivers typically ignore the DRV_OPEN standard message.

Audio drivers must also export one or more of the following entry points:

auxMessage Entry point for auxiliary audio drivers.
midMessage Entry point for MIDI input drivers.
modMessage Entry point for MIDI output drivers.
mxdMessage Entry point for mixer drivers.
widMessage Entry point for waveform input drivers.
wodMessage Entry point for waveform output drivers.

Like the DriverProc entry point, these additional entry points are implemented as functions that receive and process messages. Applications control multimedia device operations by calling multimedia API functions, which are described in the Win32 SDK and defined in winmm.dll. Code within winmm.dll translates each API function call into a call to a driver entry point, and includes one of the user-mode audio driver messages. For example, when an application calls the Win32 WaveOutOpen function, winmm.dll calls the appropriate user-mode driver's wodMessage entry point, passing a WODM_OPEN message.