Funzione lineSetTerminal (tapi.h)

La funzione lineSetTerminal consente a un'applicazione di specificare le informazioni sul terminale correlate alla riga, all'indirizzo o alla chiamata specificate da instradare. La funzione lineSetTerminal può essere usata mentre le chiamate sono in corso sulla riga per consentire a un'applicazione di instradare questi eventi a dispositivi diversi in base alle esigenze.

Sintassi

LONG lineSetTerminal(
  HLINE hLine,
  DWORD dwAddressID,
  HCALL hCall,
  DWORD dwSelect,
  DWORD dwTerminalModes,
  DWORD dwTerminalID,
  DWORD bEnable
);

Parametri

hLine

Gestire in un dispositivo a linea aperta.

dwAddressID

Indirizzo nel dispositivo open line specificato. Un identificatore di indirizzo è associato in modo permanente a un indirizzo; l'identificatore rimane costante tra gli aggiornamenti del sistema operativo.

hCall

Gestire una chiamata. Lo stato della chiamata di hCall può essere qualsiasi stato, se dwSelect è CALL.

dwSelect

Indica se l'impostazione del terminale è richiesta per la riga, l'indirizzo o solo la chiamata specificata. Se si specifica la riga o l'indirizzo, gli eventi si applicano alla riga o all'indirizzo stesso oppure fungono da impostazione iniziale predefinita per tutte le nuove chiamate nella riga o nell'indirizzo. Questo parametro usa una delle costanti LINECALLSELECT_.

dwTerminalModes

Classe di eventi di basso livello da instradare al terminale specificato. Questo parametro usa una o più costanti LINETERMMODE_.

dwTerminalID

Identificatore del dispositivo terminale in cui devono essere indirizzati gli eventi specificati. Gli identificatori del terminale sono numeri interi di piccole dimensioni nell'intervallo da zero a uno minore di dwNumTerminals, dove dwNumTerminals e le modalità terminale che ogni terminale è in grado di gestire, vengono restituiti da lineGetDevCaps.

Questi identificatori del terminale non hanno alcuna relazione con altri identificatori di dispositivo e sono definiti dal provider di servizi usando le funzionalità del dispositivo.

bEnable

Se TRUE, dwTerminalID è valido e le classi di evento specificate vengono instradate a o da tale terminale. Se FALSE, questi eventi non vengono indirizzati a o dal dispositivo terminale con identificatore uguale a dwTerminalID.

Valore restituito

Restituisce un identificatore di richiesta positivo se la funzione viene completata in modo asincrono o un numero di errore negativo se si verifica un errore. Il parametro dwParam2 del messaggio di LINE_REPLY corrispondente è zero se la funzione ha esito positivo o è un numero di errore negativo se si verifica un errore. I valori restituiti possibili sono:

LINEERR_INVALADDRESSID, LINEERR_NOMEM, LINEERR_INVALCALLHANDLE, LINEERR_OPERATIONUNAVAIL, LINEERR_INVALCALLSELECT, LINEERR_OPERATIONFAILED, LINEERR_INVALLINEHANDLE, LINEERR_RESOURCEUNAVAIL, LINEERR_INVALTERMINALID, LINEERR_UNINITIALIZED, LINEERR_INVALTERMINALMODE.

Commenti

Un'applicazione può usare questa funzione per instradare determinate classi di eventi di riga di basso livello al dispositivo terminale specificato o per eliminare il routing di questi eventi. Ad esempio, la voce può essere instradata a un dispositivo di I/O audio (visore VR), le lampade e gli eventi di visualizzazione possono essere indirizzati al dispositivo telefonico locale e gli eventi del pulsante e gli eventi del ringer possono essere eliminati del tutto.

Questa funzione può essere chiamata in qualsiasi momento, anche quando una chiamata è attiva nel dispositivo di riga specificato. In questo modo un utente può passare dall'uso del set di telefono locale a un altro dispositivo di I/O audio. Questa funzione può essere chiamata più volte per instradare gli stessi eventi a più terminali contemporaneamente. Per reindirizzare gli eventi a un terminale diverso, l'applicazione deve prima disabilitare il routing al terminale esistente e quindi instradare gli eventi al nuovo terminale.

Le assegnazioni degli identificatori del terminale vengono effettuate dal provider di servizi della riga. Le funzionalità del dispositivo indicano solo gli identificatori del terminale disponibili per il provider di servizi. I provider di servizi che non supportano questo tipo di routing eventi indicano che non hanno dispositivi terminal (dwNumTerminals in LINEDEVCAPS sarebbe zero).

La chiamata di lineSetTerminal su una riga o un indirizzo influisce su tutte le chiamate esistenti su tale riga o indirizzo, ma non influisce sulle chiamate su altri indirizzi. Imposta anche l'impostazione predefinita per le chiamate future su tale riga o indirizzo. Una riga o un indirizzo con più chiamate connesse attive contemporaneamente può avere un routing diverso per ogni chiamata.

La disabilitazione del routing di eventi di basso livello a un terminale quando questi eventi non vengono attualmente indirizzati a o da tale terminale non genera necessariamente un errore purché la funzione abbia esito positivo (gli eventi specificati non vengono indirizzati a o da tale terminale).

Le route TAPI chiamano toni di stato e messaggi nella stessa posizione impostata dalla funzione lineSetTerminal per "media". Ad esempio, se i segnali audio verranno inviati al telefono, i segnali saranno occupati (analogici) o Q.931 che indicano occupato (digitale).

Requisiti

   
Piattaforma di destinazione Windows
Intestazione tapi.h
Libreria Tapi32.lib
DLL Tapi32.dll

Vedi anche

LINEDEVCAPS

LINE_REPLY

Funzioni supplementari del servizio line

Panoramica dei riferimenti a TAPI 2.2

lineGetDevCaps