Microsoft Device Driver Interface for HD Audio
Updated: September 25, 2006
File name: HDAudioDdi11.doc
About This Download
This download document presents programming guidelines and a set of reference pages for the Intel High Definition (HD) Audio device driver interface (DDI). Audio and modem drivers call the routines in this DDI to manage hardware codecs that are attached to an HD Audio bus interface controller.
In Windows Vista, Microsoft intends to provide the following drivers as part of the operating system:
Microsoft also intends to develop a similar HD Audio bus driver and UAA class driver for systems that run Windows Server 2003, Windows XP, and Windows 2000. For information about the architecture of the HD Audio controller, see the Intel High Definition Audio Specification. For an overview of UAA, see Universal Audio Architecture.
The HD Audio bus driver implements the HD Audio device driver interface (DDI), which kernel-mode audio and modem drivers use to communicate with hardware codecs that are attached to the HD Audio controller. The HD Audio bus driver exposes the HD Audio DDI to its children, which are instances of the audio and modem drivers that manage the codecs.
The version of the HD Audio bus driver that runs in Windows Server 2003, Windows XP, and Windows 2000 supports two variants of the HD Audio DDI:
The differences between these two DDIs are minor and are discussed in the section "Differences between the Two DDI Versions."
In Windows Vista, the HD Audio bus driver supports only the DDI that is defined by the HDAUDIO_BUS_INTERFACE structure.
In Windows Vista, Windows Server 2003, Windows XP, and Windows 2000, the UAA class driver uses the DDI defined by the HDAUDIO_BUS_INTERFACE structure to manage UAA-compliant audio codecs. In addition, hardware vendors can choose to write custom device drivers that use one or both of these DDIs to manage their audio and modem codecs.
Hardware vendors should design their audio codecs to conform to the UAA hardware requirements document (to be published). In the absence of a custom audio driver from the vendor, users can rely on the system-supplied UAA class driver to manage their UAA-compliant audio codecs. However, an audio codec might contain proprietary features that are accessible only through the vendor's custom driver.
Included in this white paper:
The information in this document applies for the following operating systems: