Oggetto Terminal
In TAPI versione 3.0 e successiva, il modello a oggetti TAPI usa oggetti terminale per rappresentare l'origine o il sink di un flusso multimediale associato a una chiamata o a una sessione di comunicazione. Questo modello a oggetti consente a un'applicazione di specificare, a livello dettagliato, la modalità di elaborazione dei supporti in una chiamata. Questo modello consente inoltre di selezionare più terminali contemporaneamente, quindi, ad esempio, una chiamata può essere restituita a un altoparlante audio e registrato simultaneamente.
L'oggetto Terminal rappresenta un'origine o un renderer, ad esempio un microfono o un altoparlante. Un'applicazione sceglie tra i terminali disponibili in base alla direzione dei supporti e al tipo o ai tipi coinvolti in una sessione di comunicazione. Ogni flusso multimediale associato viene quindi selezionato nel terminale appropriato per avviare lo streaming.
I terminali vengono normalmente implementati da un provider di servizi multimediali (MSP) e gli oggetti terminale non saranno disponibili se non esiste alcun MSP associato a una sessione di comunicazione. Un'eccezione è che con Windows 2000 SP1 e versioni successive, un'applicazione può implementare una forma di terminale pluggable. Ciò consente a un server di conferenza di creare terminali bridging in modo che sia possibile aggiungere client SDP/IP multicast non windows 2000 SP1 o non multicast H323 a TAPI 3 multi-party SDP/IP multicast.
Ogni terminale appartiene a una classe terminale. Una classe terminale rappresenta un set di funzionalità di origine o rendering. Ad esempio, un terminale che esegue il mapping a un set di altoparlanti audio verrebbe identificato come CLSID_SpeakersTerminal e il provider di servizi dovrebbe implementare il controllo del volume. TAPI 3 definisce un set di classi terminale, un MSP può definire classi aggiuntive e un'applicazione può registrare nuove classi terminale. Ogni classe del terminale viene assegnata a un identificatore univoco globale (GUID).
Dal punto di vista di un'applicazione, un terminale è descritto dal relativo tipo di terminale e direzione. Il tipo può essere statico o dinamico. Un terminale statico esegue il mapping all'hardware, ad esempio un telefono o un microfono. Un terminale dinamico esegue il mapping a un oggetto temporaneo, ad esempio un file o una finestra video. La direzione descrive se un determinato terminale è un'origine o un renderer.
Le funzionalità di un determinato oggetto terminale possono variare notevolmente a seconda della coppia di provider di servizi corrente in uso. Il MSP per un dispositivo specializzato potrebbe implementare un'interfaccia con metodi appropriati per tale dispositivo. Tale interfaccia può essere aggregata all'oggetto terminale e ai metodi resi disponibili per un'applicazione. Per altre informazioni e materiale di riferimento, vedere la documentazione del provider di servizi multimediali.
Per altre informazioni sulle interfacce del terminale e sui metodi implementati da TAPI 3, vedere Interfacce dell'oggetto terminale.
Se gli autori di un provider di servizi multimediali usano le classi di base MSP, possono implementare alcune delle funzionalità del terminale di streaming multimediale.
Per altre informazioni ed esempi di codice che mostrano illustrazioni dell'uso di un oggetto Terminal, vedere Effettuare una chiamata e ricevere una chiamata.
Windows XP: Per altre informazioni sul modo in cui l'oggetto Terminal è stato espanso in Windows XP, vedere Terminali file, terminali Multitrack e terminali pluggable.
Per altre informazioni ed esempi di codice, vedere Uso di terminali file, uso di terminali multitrack e meccanismo di selezione predefinito eregistrazione del terminale pluggable.