Platform SDK: TAPI |
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.