Condividi tramite


funzione TSPI_lineDial (tspi.h)

La funzione TSPI_lineDial chiama il numero chiamabile specificato nella chiamata specificata.

Sintassi

LONG TSPIAPI TSPI_lineDial(
  DRV_REQUESTID dwRequestID,
  HDRVCALL      hdCall,
  LPCWSTR       lpszDestAddress,
  DWORD         dwCountryCode
);

Parametri

dwRequestID

Identificatore della richiesta asincrona.

hdCall

Handle del provider di servizi per la chiamata da comporre. Lo stato della chiamata di hdCall può essere qualsiasi stato tranne inattivo e disconnesso.

lpszDestAddress

Puntatore a una stringa Unicode con terminazione null che specifica la destinazione da comporre usando il formato numero chiamabile standard.

dwCountryCode

Codice paese o area geografica della destinazione. L'implementazione usa questa opzione per selezionare i protocolli di stato della chiamata per l'indirizzo di destinazione. Se viene specificato un valore pari a 0, viene usato un protocollo di stato di chiamata predefinito definito dal provider di servizi. TAPI non convalida questo parametro quando questa funzione viene chiamata.

Valore restituito

Restituisce dwRequestID o un numero di errore se si verifica un errore. Il parametro effettivo lResult del ASYNC_COMPLETION corrispondente è 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_INVALCALLHANDLE, LINEERR_OPERATIONFAILED, LINEERR_INVALADDRESS, LINEERR_RESOURCEUNAVAIL, LINEERR_INVALCOUNTRYCODE, LINEERR_DIALBILLING, LINEERR_INVALCALLSTATE, LINEERR_DIALQUIET, LINEERR_ADDRESSBLOCKED, LINEERR_DIALDIALTONE, LINEERR_NOMEM, LINEERR_DIALPROMPT, LINEERR_OPERATIONUNAVAIL.

Commenti

Il provider di servizi restituisce LINEERR_INVALCALLSTATE se lo stato corrente della chiamata non consente la composizione.

Il provider di servizi non esegue alcuna chiamata se restituisce LINEERR_INVALADDRESS.

Se il provider di servizi restituisce LINEERR_DIALBILLING, LINEERR_DIALQUIET, LINEERR_DIALDIALTONE o LINEERR_DIALPROMPT, deve eseguire nessuna delle azioni altrimenti eseguite da TSPI_lineDial (ad esempio, nessuna composizione parziale e nessuna uscita). Questo perché il provider di servizi deve eseguire prima l'analisi del numero per i caratteri non supportati.

TSPI_lineDial viene usato per la composizione su un aspetto di chiamata esistente; ad esempio, gli handle di chiamata restituiti da TSPI_lineMakeCall con NULL come lpszDestAddress o terminano in ';', gli handle delle chiamate restituiti da TSPI_lineSetupTransfer o TSPI_lineSetupConference. TSPI_lineDial può essere richiamato più volte nel corso della composizione nel caso di composizione multistage, se le funzionalità del dispositivo della linea lo consentono.

Se la stringa puntata dal parametro lpszDestAddress nella chiamata precedente alla funzione TSPI_lineMakeCall o TSPI_lineDial viene terminata con un punto e virgola, una stringa vuota nella chiamata corrente a TSPI_lineDial indica che la composizione è completa.

È 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 restituire un singolo handle di chiamata all'aggregazione di tutte le chiamate all'applicazione. Tutti gli indirizzi userebbero lo stesso paese o codice di area geografica.

La chiamata viene considerata completa dopo che l'indirizzo è stato accettato dal 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 deve inviare LINE_CALLSTATE messaggi a TAPI per informarlo sullo stato di avanzamento della chiamata.

Requisiti

Requisito Valore
Piattaforma di destinazione Windows
Intestazione tspi.h

Vedi anche

ASYNC_COMPLETION

LINE_CALLSTATE

TSPI_lineMakeCall