Platform SDK: TAPI

Terminal Object

The Terminal object represents a source or renderer associated with a media stream. These objects are implemented by a media service provider and terminal interfaces are not exposed if there is no MSP associated with a call session.

Each terminal belongs to a terminal class. A terminal class represents a set of source or render capabilities. For example, a terminal that maps to a set of speakers would be identified as CLSID_SpeakersTerminal, and the service provider would be expected to implement volume control. TAPI 3.0 defines a set of terminal classes, an MSP can define additional classes, and an application can register new terminal classes. Each terminal class is assigned a globally unique identifier (GUID).

The terminal type may be either static or dynamic. A static terminal maps to hardware, such as a telephone or microphone. A dynamic terminal maps to a transient object, such as a file or a video window.

The capabilities of a given terminal object vary considerably depending on the current service provider pair in use. For terminal interfaces and methods implemented by TAPI 3.0, see Terminal Object Interfaces.

If a media service provider author uses the MSP Base Classes, they may choose to implement some of the Media Streaming Terminal's capabilities.

The Make a Call and Receive a Call code snippets show some examples of using a Terminal object.