Hardware vendors are challenged even further. Audio hardware vendors are writing too much code to support too many driver models and too many APIs. As a result, driver performance is suffering overall. On top of that, supporting MME, ASIO and EASI requires writing 3 different user-mode drivers. In order to support all popular platforms and API s, hardware vendors must implement, test and support 5 different audio driver components.
Some vendors never leave kernel mode to do their processing.
Obvious examples of this are the WDM KMixer and DirectMusic software synthesizers. Furthermore, DAW vendors need the option of moving more of their mixing and DSP into kernel mode. User-mode APIs such as DirectX, ASIO or EASI do not provide adequate support for kernel mode processing. Only the DDK provides the tools for interfacing to hardware in a standard way. The majority of interfacing to hardware must be done in kernel mode, within a VxD or SYS file.