Terminalobjekt
In TAPI Version 3.0 und höher verwendet das TAPI-Objektmodell Terminalobjekte, um die Quelle oder Senke eines Mediendatenstroms darzustellen, der einem Aufruf oder einer Kommunikationssitzung zugeordnet ist. Dieses Objektmodell ermöglicht es einer Anwendung, auf einer detaillierten Ebene anzugeben, wie Medien bei einem Aufruf verarbeitet werden. Mit diesem Modell können auch mehrere Terminals gleichzeitig ausgewählt werden, sodass beispielsweise ein Anruf an einen Audiolautsprecher ausgegeben und gleichzeitig aufgezeichnet werden kann.
Das Terminal-Objekt stellt eine Quelle oder einen Renderer dar, z. B. ein Mikrofon oder einen Lautsprecher. Eine Anwendung wählt basierend auf der Medienrichtung und dem Typ oder den Typen, die an einer Kommunikationssitzung beteiligt sind, zwischen den verfügbaren Terminals aus. Jeder zugeordnete Medienstream wird dann auf dem entsprechenden Terminal ausgewählt, um mit dem Streaming zu beginnen.
Terminals werden in der Regel von einem Mediendienstanbieter (Media Service Provider, MSP) implementiert, und Terminalobjekte sind nicht verfügbar, wenn einer Kommunikationssitzung kein MSP zugeordnet ist. Eine Ausnahme besteht darin, dass eine Anwendung mit Windows 2000 SP1 und höher eine Form von austauschbarem Terminal implementieren kann. Dadurch kann ein Konferenzserver Brückenterminals erstellen, sodass Nicht-Windows 2000 SP1- oder Nicht-Multicast-H323-Clients zu TAPI 3 Multi-Party-SDP/IP-Multicastkonferenzen hinzugefügt werden können.
Jedes Terminal gehört zu einer Terminalklasse. Eine Terminalklasse stellt einen Satz von Quell- oder Renderfeatures dar. Beispielsweise würde ein Terminal, das einem Satz von Audiolautsprechern zugeordnet ist, als CLSID_SpeakersTerminal identifiziert, und es wird erwartet, dass der Dienstanbieter die Lautstärkeregelung implementiert. TAPI 3 definiert eine Reihe von Terminalklassen, ein MSP kann zusätzliche Klassen definieren, und eine Anwendung kann neue Terminalklassen registrieren. Jeder Terminalklasse wird eine GUID (Globally Unique Identifier) zugewiesen.
Aus Der Sicht einer Anwendung wird ein Terminal durch seinen Terminaltyp und seine Richtung beschrieben. Der Typ kann statisch oder dynamisch sein. Ein statisches Terminal ist Hardware zugeordnet, z. B. einem Telefon oder Mikrofon. Ein dynamisches Terminal wird einem vorübergehenden Objekt zugeordnet, z. B. einer Datei oder einem Videofenster. Die Richtung beschreibt, ob ein bestimmtes Terminal eine Quelle oder ein Renderer ist.
Die Funktionen eines bestimmten Terminalobjekts können je nach verwendetem Dienstanbieterpaar erheblich variieren. Der MSP für ein spezialisiertes Gerät kann eine Schnittstelle mit methoden implementieren, die für dieses Gerät geeignet sind. Diese Schnittstelle kann auf das Terminalobjekt und die Methoden aggregiert werden, die einer Anwendung zur Verfügung gestellt werden. Weitere Informationen und Referenzmaterial finden Sie in der Dokumentation zum Mediendienstanbieter.
Weitere Informationen zu Terminalschnittstellen und methoden, die von TAPI 3 implementiert werden, finden Sie unter Terminalobjektschnittstellen.
Wenn die Autoren eines Mediendienstanbieters die MSP-Basisklassen verwenden, können sie einige der Features des Medienstreamingterminals implementieren.
Weitere Informationen und Codebeispiele, die Abbildungen der Verwendung eines Terminal-Objekts zeigen, finden Sie unter Tätigen eines Anrufs und Empfangen eines Anrufs.
Windows XP: Weitere Informationen dazu, wie das Terminal-Objekt in Windows XP erweitert wurde, finden Sie unter Dateiterminals, Multitrack-Terminals und steckbare Terminals.
Weitere Informationen und Codebeispiele finden Sie unter Verwenden von Dateiterminals, Verwenden von Multitrack-Terminals und standardauswahlmechanismus und austauschbare Terminalregistrierung.