Microsoft Windows CE 3.0  

DirectSound HAL Architecture

Important:
This is retired content. This content is outdated and is no longer being maintained. It is provided as a courtesy for individuals who are still using these technologies. This content may contain URLs that were valid when originally published, but now link to sites or pages that no longer exist.

The DirectSound subsystem of Windows CE consists of two basic components. The client component (DSOUND.DLL) that is loaded into the client application's process space, and the server (DSOUNDS.DLL) component that runs as a filesystem driver in the DEVICE.EXE process.

The client component allows the client application to interact with the DirectSound subsystem using the standard DirectSound interfaces published in the DSOUND.H header file. Since many processes may all want to use DirectSound resources, it is the server component that actually manages hardware and buffers. The client portion simply proxies client application requests to the server component, where buffers are mixed and the primary buffer output is rendered.

The DirectSound HAL drivers are simply DLLs that get loaded into DEVICE.EXE by the DirectSound server (DSOUNDS.DLL).

The following articles detail the structure of the DirectSound HAL driver model: