Funzione lineSetMediaControl (tapi.h)

La funzione 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, tipi di supporti, toni personalizzati e stati di chiamata specificati.

Sintassi

LONG lineSetMediaControl(
  HLINE                             hLine,
  DWORD                             dwAddressID,
  HCALL                             hCall,
  DWORD                             dwSelect,
  LPLINEMEDIACONTROLDIGIT const     lpDigitList,
  DWORD                             dwDigitNumEntries,
  LPLINEMEDIACONTROLMEDIA const     lpMediaList,
  DWORD                             dwMediaNumEntries,
  LPLINEMEDIACONTROLTONE const      lpToneList,
  DWORD                             dwToneNumEntries,
  LPLINEMEDIACONTROLCALLSTATE const lpCallStateList,
  DWORD                             dwCallStateNumEntries
);

Parametri

hLine

Gestire in un dispositivo a linea aperta.

dwAddressID

Identificatore dell'indirizzo nel dispositivo a riga aperta specificata. 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. L'applicazione deve essere un proprietario della chiamata. Lo stato della chiamata di hCall può essere qualsiasi stato.

dwSelect

Se il controllo multimediale richiesto è associato a una singola chiamata, è l'impostazione predefinita per tutte le chiamate in un indirizzo o è l'impostazione predefinita per tutte le chiamate su una riga. Questo parametro è uno e solo uno dei costanti LINECALLSELECT_.

lpDigitList

Puntatore alla matrice che contiene le cifre che consentono di attivare azioni di controllo multimediale, di tipo LINEMEDIACONTROLDIGIT. Ogni volta che viene rilevata una cifra nell'elenco cifre, l'azione di controllo multimediale specificata viene eseguita sul flusso multimediale della chiamata.

Le cifre valide per la modalità pulse sono da '0' a '9'. Le cifre valide per la modalità DTMF sono da '0' a '9', 'A', 'B', 'C', 'D', '*', '#'.

dwDigitNumEntries

Numero di voci in lpDigitList.

lpMediaList

Puntatore a una matrice con voci di tipo LINEMEDIACONTROLMEDIA. La matrice contiene 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 sul flusso multimediale della chiamata.

dwMediaNumEntries

Numero di voci in lpMediaList.

lpToneList

Puntatore a una matrice con voci di tipo LINEMEDIACONTROLTONE. La matrice contiene voci dwToneNumEntries . Ogni voce contiene una descrizione di un tono da monitorare, la durata del tono e un campo di controllo multimediale. Se viene rilevato un tono nell'elenco, l'azione di controllo multimediale corrispondente viene eseguita sul flusso multimediale della chiamata.

dwToneNumEntries

Numero di voci in lpToneList.

lpCallStateList

Puntatore a una matrice con voci di tipo LINEMEDIACONTROLCALLSTATE. La matrice contiene voci dwCallStateNumEntries . Ogni voce contiene uno stato di chiamata e un'azione di controllo multimediale. Ogni volta che la chiamata specificata passa a uno degli stati di chiamata nell'elenco, viene richiamata l'azione di controllo multimediale corrispondente.

dwCallStateNumEntries

Numero di voci in lpCallStateList.

Valore restituito

Restituisce zero se la richiesta ha esito positivo o negativo se si verifica un errore. I valori restituiti possibili sono:

LINEERR_INVALADDRESSID, LINEERR_NOMEM, LINEERR_INVALCALLHANDLE, LINEERR_NOTOWNER, LINEERR_INVALCALLSELECT, LINEERR_OPERATIONUNAVAIL, LINEERR_INVALCALLSTATELIST, LINEERR_OPERATIONFAILED, LINEERR_INVALDIGITLIST, LINEERR_RESOURCEUNAVAIL, LINEERR_INVALLINEHANDLE, LINEERR_UNINITIALIZED, LINEERR_INVALMEDIALIST, LINEERR_INVALPOINTER, LINEERR_INVALTONELIST.

Commenti

La funzione lineSetMediaControl viene considerata corretta se il controllo multimediale è stato avviato correttamente, non quando viene applicato alcun controllo multimediale. Il controllo multimediale in corso viene modificato o viene annullato chiamando di nuovo questa funzione con parametri diversi o NULL. 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 di chiamata è disabilitato. Per modificare solo una parte dei parametri del controllo multimediale lasciando effettive le impostazioni rimanenti, l'applicazione deve richiamare lineSetMediaControl, specificando i parametri precedenti per le parti che devono rimanere attive e nuovi parametri per le parti da modificare.

Se hCall è selezionato e la chiamata termina o l'applicazione dealloca il relativo handle, il controllo multimediale su tale chiamata viene annullato.

Tutte le applicazioni proprietari della chiamata sono in linea di principio autorizzate a effettuare richieste di controllo multimediale sulla chiamata. Solo una singola richiesta di controllo multimediale può essere in attesa in una chiamata in tutte le applicazioni proprietarie della chiamata. Ogni volta che viene chiamato lineSetMediaControl , la nuova richiesta esegue l'override di qualsiasi controllo multimediale e quindi in vigore sulla chiamata, sia imposta dall'applicazione chiamante che da qualsiasi altra applicazione proprietaria.

A seconda del provider di servizi e di altre attività che competono per tali risorse, il numero di rilevamenti simultanei che possono essere effettuati può variare nel tempo. Se le risorse del provider di servizi vengono sottoposte a overcommitted, viene restituito l'errore LINEERR_RESOURCEUNAVAIL.

Indica se il controllo multimediale è supportato dal provider di servizi è una funzionalità del dispositivo.

Requisiti

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

Vedi anche

LINEMEDIACONTROLCALLSTATE

LINEMEDIACONTROLDIGIT

LINEMEDIACONTROLMEDIA

LINEMEDIACONTROLTONE

Funzioni supplementari del servizio line

Panoramica dei riferimenti a TAPI 2.2