The multimedia renderer provides contexts, each of which is capable of playing a stream of media content concurrently with and independently of other contexts. Each context can direct output to a different set of output devices, creating independent zones of operation.

The multimedia renderer determines the operations that are valid for a particular context based on the inputs and outputs that are attached to it. You can use a context for operations other than playing, by setting its output appropriately. Depending on the operation being performed by the context, some function calls may not be supported.

For example, if the input is an audio media source and the output is a file, the context will record the audio stream to the file.

Your application must connect to the mm-renderer service before it can create a context. When a new context is created, it has a unique name, but no other properties are set. The application accesses the context via the context handle.

Certain properties of the context's operation (for example, audio volume) can be controlled by attaching parameters to the context or to each input or output. For more information, see Parameters .

Depending on the multimedia renderer's configuration, it may behave differently when closing context handles. For more information, see Closing context handles .