76.3 Windows Multimedia Design Philosophy

The architecture of the multimedia services is designed around the concepts of extensibility and device-independence. Extensibility allows the software architecture to easily accommodate advances in technology without changes to the architecture itself. Device-independence allows multimedia applications to be

easily developed that will run on a wide range of hardware providing different levels of multimedia support. Three design elements of the system software provide extensibility and device-independence:

A translation layer (MMSYSTEM) that isolates applications from device drivers and centralizes device-independent code.

Run-time linking that allows the translation layer to link to the drivers it needs.

A well-defined and consistent driver interface that minimizes special-case code and makes the installation and upgrade process easier.

In the following illustration, you can see how the translation layer translates a multimedia function call into a call to an audio device driver:

This illustration is not available for this release

Some function calls might result in multiple driver calls, or they might be handled by MMSYSTEM without causing any driver calls.