|
|
Observation
1: Too many drivers
Supporting both Win9x and WinNT requires writing two different kernel
mode drivers (a .VxD and a .SYS driver). On top of that, supporting
MME, ASIO and EASI requires writing three different user-mode drivers.
Observation
2: Not enough kernel mode support
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.
Observation
3: The term "driver" is misunderstood
Referring back to the four steps of driver development, we see that
all paths of driver development lead through the DDK. 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.
Conclusion
The best way to manage driver complexity while providing adequate support
for future technologies is to provide a single kernel-mode audio driver.
A single kernel-mode driver is in fact the hallmark of the Win32 Driver
Model.
The Win32 Driver Model (WDM)
WDM is Microsoft’s vision of simplifying driver development, providing
a unified driver model for both consumer and commercial O/S’s, and providing
a migration path towards future O/S offerings. In this section we shall
examine how close WDM comes to achieving this ideal, and the relevance
of WDM to audio streaming.
WDM Overview
WDM works across the Win9x and Win2k platforms. A driver written to
the WDM specifications will be source-code compatible on all Win9x platforms
(starting with Win98SE) and Win2k. Most drivers are even binary compatible
across these platforms. This implies that hardware companies can develop
a single kernel-mode driver, period.

Copyright © 2000- Microsoft Corporation.
Page
1 3
4
|