High Definition Audio for the Digital Home: Proven Techniques for Getting It Right the First Time

The existing Windows XP audio subsystem contains a rich legacy driven by backwards compatibility. Many of today's Windows XP audio "features" exist only because they were useful long ago and could not be removed. Windows Vista will completely restructure the audio subsystem and its release will be a much larger break from legacy applications than any that has ever taken place in Windows audio. However, to understand why the audio in Windows XP works that way it does, you need to first understand how it evolved.
Early PC soundcards intended for DOS games were implemented in many different ways, and game software typically included direct support for one or more popular soundcards. Some soundcards would load Terminate and Stay Resident (TSR) programs to support the cards, and others would simply talk directly to the application. Early versions of Windows were built on top of DOS, and they made little effort to provide a unified approach to audio. The drivers that did exist at this time were implemented using 16-bit code with segmented addressing.
Windows 3.0 made the shift to multiple protection modes and 32-bit linear addressing. While applications continued to be written in 16-bit code with segmented addressing, new Virtual Device Drivers known as VxDs were capable of running at Ring 0 and addressing up to 2 gigabytes of memory linearly. The VxDs were used to virtualize the hardware, to make each application function as if it owned all of the hardware. The VxD...