Condividi tramite


Funzione lineDialA (tapi.h)

La funzione lineDial compone il numero di composizione specificato nella chiamata specificata.

Sintassi

LONG lineDialA(
  HCALL  hCall,
  LPCSTR lpszDestAddress,
  DWORD  dwCountryCode
);

Parametri

hCall

Handle per la chiamata su cui deve essere composto un numero. L'applicazione deve essere un proprietario della chiamata. Lo stato della chiamata di hCall può essere qualsiasi stato tranne inattivo e disconnesso.

lpszDestAddress

Destinazione da comporre utilizzando il formato del numero di composizione standard.

dwCountryCode

Codice paese o area geografica della destinazione. Viene usato dall'implementazione per selezionare i protocolli di stato delle chiamate per l'indirizzo di destinazione. Se viene specificato un valore pari a 0, viene utilizzato un protocollo di stato della chiamata predefinito definito dal provider di servizi.

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 possibili valori restituiti sono:

LINEERR_ADDRESSBLOCKED, LINEERR_INVALPOINTER, LINEERR_DIALBILLING, LINEERR_NOMEM, LINEERR_DIALDIALTONE, LINEERR_NOTOWNER, LINEERR_DIALPROMPT, LINEERR_OPERATIONFAILED, LINEERR_DIALQUIET, LINEERR_OPERATIONUNAVAIL, LINEERR_INVALCALLHANDLE, LINEERR_RESOURCEUNAVAIL, LINEERR_INVALCALLSTATE, LINEERR_UNINITIALIZED, LINEERR_INVALCOUNTRYCODE.

Osservazioni

Se viene restituito LINEERR_INVALADDRESS, non è stata eseguita alcuna composizione. Se vengono restituiti LINEERR_DIALBILLING, LINEERR_DIALQUIET, LINEERR_DIALDIALTONE o LINEERR_DIALPROMPT, nessuna delle azioni eseguite da lineDial si è verificata. Ad esempio, nessuno degli indirizzi chiamabili prima del carattere che causa l'errore è stato composto, non è stato modificato alcuno stato hookswitch e così via.

La funzione lineDial viene utilizzata per comporre un aspetto di chiamata esistente. Ad esempio, dopo che una chiamata è stata impostata per il trasferimento o la conferenza, una chiamata di consultazione viene allocata automaticamente e la funzione lineDial verrebbe utilizzata per eseguire la composizione di questa chiamata di consultazione. La funzione lineDial può essere richiamata più volte nel corso della composizione a più fasi, se le funzionalità del dispositivo della linea lo consentono. Inoltre, è possibile specificare più indirizzi in una singola stringa di composizione separata da CRLF. I provider di servizi che forniscono multiplexing inversa possono stabilire singole chiamate fisiche con ognuno degli indirizzi e possono restituire un singolo handle di chiamata all'aggregazione di tutte le chiamate all'applicazione. Tutti gli indirizzi usano lo stesso codice paese o area geografica.

La composizione è considerata completa dopo che l'indirizzo è stato passato al provider di servizi; non dopo che la chiamata è stata finalmente connessa. I provider di servizi che forniscono multiplexing inversa possono consentire l'inserimento di più indirizzi contemporaneamente. Il provider di servizi invia LINE_CALLSTATE messaggi all'applicazione per informarlo sullo stato di avanzamento della chiamata. Per interrompere un tentativo di chiamata durante la creazione di una chiamata, l'applicazione chiamante deve usare lineDrop.

Un'applicazione può impostare il parametro lpszDestAddress della funzione lineDial sull'indirizzo di una stringa vuota per indicare che la composizione è completa, ma solo se le chiamate precedenti al lineMakeCall e funzioni lineDial hanno le stringhe specificate da lpszDestAddress terminate con punti e virgola.

La funzione lineDial può essere usata anche nella composizione parziale. Per avviare una chiamata usando la composizione parziale, l'applicazione chiama lineMakeCall e specifica una stringa di composizione parziale. Una stringa di composizione parziale è qualsiasi stringa di composizione terminata da un punto e virgola. La chiamata in genere passerà a LINECALLSTATE_DIALING dopo la quale è possibile chiamare lineDial per specificare più stringhe di composizione, ognuna terminata da un punto e virgola. La composizione viene completata chiamando lineDial con una stringa di composizione non terminata con un punto e virgola (ad esempio una stringa vuota). Questa tecnica consente alle applicazioni di eseguire la composizione parziale interattiva con l'utente o di abilitare la composizione più sofisticata di un TSP può essere in grado di.

Se una stringa di destinazione Null o una stringa vuota terminata con un punto e virgola (";") viene immessa in lineMakeCall l'applicazione passa a LINE_CALLSTATE_DIALTONE. La funzione lineDial può essere chiamata in questo stato per immettere una singola stringa di composizione o più stringhe di composizione parziale, ognuna separata da un punto e virgola. L'applicazione passa allo stato LINECALLSTATE_DIALING dopo l'immissione della prima cifra.

Nota La funzione lineDial è disponibile solo quando una chiamata è in LINECALLSTATE_DIALING o LINE_CALLSTATE_DIALTONE. Se È necessario DTMF mentre una chiamata è connessa (LINECALLSTATE_CONNECTED), usare lineGenerateDigits.
 

Nota

L'intestazione tapi.h definisce lineDial come alias che seleziona automaticamente la versione ANSI o Unicode di questa funzione in base alla definizione della costante del preprocessore UNICODE. La combinazione dell'utilizzo dell'alias indipendente dalla codifica con il codice non indipendente dalla codifica può causare mancate corrispondenze che generano errori di compilazione o di runtime. Per altre informazioni, vedere convenzioni di per i prototipi di funzioni.

Fabbisogno

Requisito Valore
piattaforma di destinazione Finestre
intestazione tapi.h
libreria Tapi32.lib
dll Tapi32.dll

Vedere anche

di riferimento dei servizi di telefonia di base

panoramica dial

indirizzi dialable

LINE_CALLSTATE

LINE_REPLY

panoramica dei riferimenti TAPI 2.2

lineDrop

lineMakeCall