Partager via


fonction TSPI_lineDial (tspi.h)

La fonction TSPI_lineDial compose le numéro de numérotation spécifié sur l’appel spécifié.

Syntaxe

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

Paramètres

dwRequestID

Identificateur de la requête asynchrone.

hdCall

Le handle du fournisseur de services pour l’appel à composer. L’état de l’appel de hdCall peut être n’importe quel état, sauf inactif et déconnecté.

lpszDestAddress

Pointeur vers une chaîne Unicode terminée par null qui spécifie la destination à composer à l’aide du format de numéro à composer standard.

dwCountryCode

Code de pays ou de région de la destination. L’implémentation l’utilise pour sélectionner les protocoles de progression de l’appel pour l’adresse de destination. Si la valeur 0 est spécifiée, un protocole de progression des appels par défaut défini par le fournisseur de services est utilisé. TAPI ne valide pas ce paramètre lorsque cette fonction est appelée.

Valeur retournée

Retourne dwRequestID ou un numéro d’erreur si une erreur se produit. Le paramètre réel lResult de la ASYNC_COMPLETION correspondante est zéro si la fonction réussit ou un numéro d’erreur si une erreur se produit. Les valeurs de retour possibles sont les suivantes :

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.

Remarques

Le fournisseur de services retourne LINEERR_INVALCALLSTATE si l’état actuel de l’appel n’autorise pas la numérotation.

Le fournisseur de services n’effectue aucune numérotation s’il retourne LINEERR_INVALADDRESS.

Si le fournisseur de services retourne LINEERR_DIALBILLING, LINEERR_DIALQUIET, LINEERR_DIALDIALTONE ou LINEERR_DIALPROMPT, il ne doit effectuer aucune des actions effectuées par TSPI_lineDial (par exemple, aucune numérotation partielle et aucun offhook). Cela est dû au fait que le fournisseur de services doit d’abord analyser au préalable le nombre de caractères non pris en charge.

TSPI_lineDial est utilisé pour composer une apparence d’appel existante ; par exemple, les handles d’appel retournés par TSPI_lineMakeCall avec NULL comme lpszDestAddress ou se terminant par « ; », les handles d’appel retournés par TSPI_lineSetupTransfer ou TSPI_lineSetupConference. TSPI_lineDial peut être appelé plusieurs fois au cours de la numérotation dans le cas d’une numérotation en plusieurs étapes, si les fonctionnalités de l’appareil de la ligne le permettent.

Si la chaîne pointée par le paramètre lpszDestAddress dans l’appel précédent à la fonction TSPI_lineMakeCall ou TSPI_lineDial est terminée par un point-virgule, une chaîne vide dans l’appel actuel à TSPI_lineDial indique que la numérotation est terminée.

Plusieurs adresses peuvent être fournies dans une chaîne de numérotation unique séparée par CRLF. Les fournisseurs de services qui fournissent un multiplexage inverse peuvent établir des appels physiques individuels avec chacune des adresses et renvoyer un handle d’appel unique à l’agrégation de tous les appels à l’application. Toutes les adresses utilisent le même code de pays ou de région.

La numérotation est considérée comme terminée une fois que l’adresse a été acceptée par le fournisseur de services, et non après la connexion de l’appel. Les fournisseurs de services qui fournissent un multiplexage inverse peuvent autoriser la fourniture de plusieurs adresses à la fois. Le fournisseur de services doit envoyer LINE_CALLSTATE messages à TAPI pour l’informer de la progression de l’appel.

Configuration requise

Condition requise Valeur
Plateforme cible Windows
En-tête tspi.h

Voir aussi

ASYNC_COMPLETION

LINE_CALLSTATE

TSPI_lineMakeCall