This section presents guidelines for hardware and software design that audio hardware vendors can use to improve the performance and reliability of their WavePci devices. All of these guidelines apply to audio devices and drivers that are designed to work with Microsoft Windows XP and later, but many also apply to earlier versions of Windows going back to Windows 98 Second Edition.
As discussed in Wave Filters, the port class system driver, portcls.sys, provides two different port drivers for wave rendering and capture devices:
Although the name WavePci implies an audio device that plugs into the PCI bus, in fact, the primary requirement for a WavePci device is that it contains a scatter/gather DMA controller capable of accessing data anywhere in system memory:
Historically, some vendors have had difficulty in implementing fully functional WavePci devices. The two main problem areas are:
This experience is distilled into the following topics, which address the key hardware and software design issues for WavePci devices:
Hardware Requirements for WavePci Devices