funzione TSPI_lineSetMediaControl (tspi.h)
La funzione TSPI_lineSetMediaControl abilita e disabilita le azioni di controllo nel flusso multimediale associato alla riga, all'indirizzo o alla chiamata specificati. Le azioni di controllo multimediale possono essere attivate dal rilevamento di cifre specificate, tipi di supporti, toni personalizzati e stati di chiamata. I nuovi controlli multimediali specificati sostituiscono tutti quelli che sono stati effettivi per questa riga, indirizzo o chiamata prima di questa richiesta.
Sintassi
LONG TSPIAPI TSPI_lineSetMediaControl(
HDRVLINE hdLine,
DWORD dwAddressID,
HDRVCALL hdCall,
DWORD dwSelect,
LPLINEMEDIACONTROLDIGIT const lpDigitList,
DWORD dwDigitNumEntries,
LPLINEMEDIACONTROLMEDIA const lpMediaList,
DWORD dwMediaNumEntries,
LPLINEMEDIACONTROLTONE const lpToneList,
DWORD dwToneNumEntries,
LPLINEMEDIACONTROLCALLSTATE const lpCallStateList,
DWORD dwCallStateNumEntries
);
Parametri
hdLine
Handle a una riga.
dwAddressID
Indirizzo nel dispositivo open line specificato. Un identificatore di indirizzo è associato definitivamente a un indirizzo; l'identificatore rimane costante tra gli aggiornamenti del sistema operativo. TAPI non convalida questo parametro quando questa funzione viene chiamata.
hdCall
Handle a una chiamata. Lo stato della chiamata di hdCall può essere qualsiasi stato.
dwSelect
Specifica se il controllo multimediale viene richiesto è associato a una singola chiamata, è l'impostazione predefinita per tutte le chiamate in un indirizzo o è l'impostazione predefinita per tutte le chiamate in una riga. Questo parametro usa le costanti LINECALLSELECT_ seguenti.
lpDigitList
Puntatore alla matrice contenente le cifre che devono attivare azioni di controllo multimediale, di tipo LINEMEDIACONTROLDIGIT. Ogni volta che viene rilevata una cifra elencata nell'elenco cifre, l'azione di controllo multimediale specificata viene eseguita nel flusso multimediale della chiamata.
Le cifre valide per la modalità di impulso sono '0' fino a '9'. Le cifre valide per la modalità DTMF sono '0' a '9', 'A', 'B', 'C', 'D', '*', '#'.
dwDigitNumEntries
Numero di voci nell'elenco lpDigitList. TAPI non convalida questo parametro quando questa funzione viene chiamata.
lpMediaList
Puntatore a una matrice con voci di tipo LINEMEDIACONTROLMEDIA. La matrice include voci dwMediaNumEntries . Ogni voce contiene un tipo di supporto da monitorare, informazioni specifiche del tipo di supporto (ad esempio durata) e un campo di controllo multimediale. Se viene rilevato un tipo di supporto nell'elenco, l'azione di controllo multimediale corrispondente viene eseguita nel flusso multimediale della chiamata.
dwMediaNumEntries
Numero di voci in lpMediaList. TAPI non convalida questo parametro quando questa funzione viene chiamata.
lpToneList
Puntatore a una matrice con voci di tipo LINEMEDIACONTROLTONE. La matrice include voci dwToneNumEntries . Ogni voce contiene una descrizione di un tono da monitorare, durata del tono e un campo di controllo multimediale. Se viene rilevato un tono nell'elenco, l'azione di controllo multimediale corrispondente viene eseguita nel flusso multimediale della chiamata.
dwToneNumEntries
Numero di voci in lpToneList. TAPI non convalida questo parametro quando questa funzione viene chiamata.
lpCallStateList
Puntatore a una matrice con voci di tipo LINEMEDIACONTROLCALLSTATE. La matrice include voci dwCallStateNumEntries . Ogni voce contiene uno stato di chiamata e un'azione di controllo multimediale.
dwCallStateNumEntries
Numero di voci in lpCallStateList. TAPI non convalida questo parametro quando questa funzione viene chiamata.
Valore restituito
Restituisce zero se la funzione ha esito positivo o un numero di errore se si verifica un errore. I valori restituiti possibili sono i seguenti:
LINEERR_INVALADDRESSID, LINEERR_INVALPOINTER, LINEERR_INVALCALLHANDLE, LINEERR_INVALTONELIST, LINEERR_INVALCALLSELECT, LINEERR_NOMEM, LINEERR_INVALCALLSTATELIST LINEERR_OPERATIONUNAVAIL, LINEERR_INVALDIGITLIST, LINEERR_INVALDIGITLIST, LINEERR_OPERATIONFAILED, LINEERR_INVALLINEHANDLE, LINEERR_RESOURCEUNAVAIL, LINEERR_INVALMEDIALIST.
Commenti
Questa funzione restituisce zero (esito positivo) quando il controllo multimediale viene avviato correttamente, non quando un controllo multimediale ha effetto. Il controllo multimediale in corso viene modificato o viene annullato quando questa funzione viene chiamata di nuovo con parametri diversi o NULLs.
Solo una singola richiesta di controllo multimediale può essere in sospeso in una chiamata alla volta. Una richiesta sostituisce qualsiasi elemento che potrebbe essere in sospeso.
A seconda del provider di servizi e di altre attività che competono per tali risorse, la quantità di rilevamenti simultanei che possono essere effettuati può variare nel tempo. Se le risorse del provider di servizi vengono sovracommesse, restituisce LINEERR_RESOURCEUNAVAIL.
Se il controllo multimediale è supportato dal provider di servizi è una funzionalità del dispositivo indicata in LINEDEVCAPS.
Ogni volta che viene chiamato TSPI_lineSetMediaControl , la nuova richiesta esegue l'override di qualsiasi controllo multimediale attualmente attivo. Se uno o più parametri lpDigitList, lpMediaList,lpToneList e lpCallStateList sono NULL, la cifra corrispondente, il tipo di supporto, il tono o il controllo multimediale attivato dallo stato è disabilitato. Per modificare solo una parte dei parametri del controllo multimediale lasciando in effetti le impostazioni rimanenti, l'applicazione deve richiamare TSPI_lineSetMediaControl specificare i parametri precedenti per tali parti che devono rimanere effettivi e nuovi parametri per tali parti da modificare.
Requisiti
Requisito | Valore |
---|---|
Piattaforma di destinazione | Windows |
Intestazione | tspi.h |