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

Vedi anche

LINEDEVCAPS

costanti LINEDIGITMODE_

LINEMEDIACONTROLCALLSTATE

LINEMEDIACONTROLDIGIT

LINEMEDIACONTROLMEDIA

LINEMEDIACONTROLTONE

costanti LINEMEDIAMODE_

TSPI_lineGetDevCaps