lineDialA, fonction (tapi.h)

La fonction lineDial compose le numéro rendez-vous spécifié sur l’appel spécifié.

Syntaxe

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

Paramètres

hCall

Gérez l’appel sur lequel un numéro doit être composé. L’application doit être propriétaire de l’appel. L’état d’appel de hCall peut être n’importe quel état, sauf inactif et déconnecté.

lpszDestAddress

Destination à composer à l’aide du format de numéro rendez-vous standard.

dwCountryCode

Code pays ou région de la destination. Cette méthode est utilisée par l’implémentation pour sélectionner les protocoles de progression des appels 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é.

Valeur de retour

Retourne un identificateur de requête positif si la fonction est terminée de manière asynchrone ou un numéro d’erreur négatif si une erreur se produit. Le paramètre dwParam2 du message de LINE_REPLY correspondant est égal à zéro si la fonction réussit ou s’il s’agit d’un numéro d’erreur négatif si une erreur se produit. Les valeurs de retour possibles sont les suivantes :

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.

Remarques

Si LINEERR_INVALADDRESS est retourné, aucune numérotation n’a été effectuée. Si LINEERR_DIALBILLING, LINEERR_DIALQUIET, LINEERR_DIALDIALTONE ou LINEERR_DIALPROMPT est retourné, aucune des actions effectuées par lineDial n’a eu lieu. Par exemple, aucune des adresses rendez-vous avant le caractère incriminé n’a été composer, aucun état de commutateur de crochet n’a changé, et ainsi de suite.

La fonction lineDial est utilisée pour composer sur une apparence d’appel existante. Par exemple, une fois qu’un appel a été configuré pour le transfert ou la conférence, un appel de consultation est automatiquement alloué et la fonction de lineDial sera utilisée pour effectuer la numérotation de cet appel de consultation. La fonction lineDial peut être appelée plusieurs fois au cours de la numérotation multistage, si les fonctionnalités d’appareil de la ligne l’autorisent. De plus, plusieurs adresses peuvent être fournies dans une seule chaîne de numérotation 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 peuvent retourner 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é transmise au fournisseur de services ; pas après la connexion de l’appel. Les fournisseurs de services qui fournissent un multiplexage inverse peuvent permettre à plusieurs adresses d’être fournies simultanément. Le fournisseur de services envoie LINE_CALLSTATE messages à l’application pour l’informer de la progression de l’appel. Pour abandonner une tentative d’appel lors de l’établissement d’un appel, l’application appelante doit utiliser lineDrop.

Une application peut définir le paramètre lpszDestAddress de la fonction lineDial à l’adresse d’une chaîne vide pour indiquer que la numérotation est terminée, mais uniquement si les appels précédents aux lineMakeCall et fonctions lineDial ont spécifié les chaînes spécifiées par lpszDestAddress se terminant par des points-virgules.

La fonction lineDial peut également être utilisée dans la numérotation partielle. Pour lancer un appel à l’aide de la numérotation partielle, l’application appelle lineMakeCall et spécifie une chaîne de numérotation partielle. Une chaîne de numérotation partielle est n’importe quelle chaîne de numérotation terminée par un point-virgule. L’appel passe généralement à LINECALLSTATE_DIALING après quoi lineDial peut être appelé pour spécifier davantage de chaînes de numérotation, chacune se terminant par un point-virgule. La numérotation est terminée en appelant ligneDial avec une chaîne de numérotation qui n’est pas terminée par un point-virgule (par exemple, une chaîne vide). Cette technique permet aux applications d’effectuer une numérotation partielle interactive avec l’utilisateur ou d’activer la numérotation plus sophistiquée qu’un TSP peut être capable.

Si une chaîne de destination Null ou une chaîne vide se termine par un point-virgule (« ; ») est entrée dans lineMakeCall l’application passe à LINE_CALLSTATE_DIALTONE. La fonction lineDial peut être appelée dans cet état pour entrer une chaîne de numérotation unique ou plusieurs chaînes de numérotation partielles, chacune séparées par un point-virgule. L’application passe à l’état LINECALLSTATE_DIALING une fois le premier chiffre entré.

Remarque La fonction de lineDial n’est disponible que lorsqu’un appel se trouve dans LINECALLSTATE_DIALING ou LINE_CALLSTATE_DIALTONE. Si DTMF est nécessaire pendant qu’un appel est connecté (LINECALLSTATE_CONNECTED), utilisez lineGenerateDigits.
 

Note

L’en-tête tapi.h définit lineDial comme alias qui sélectionne automatiquement la version ANSI ou Unicode de cette fonction en fonction de la définition de la constante de préprocesseur UNICODE. Le mélange de l’utilisation de l’alias neutre en encodage avec du code qui n’est pas neutre en encodage peut entraîner des incompatibilités qui entraînent des erreurs de compilation ou d’exécution. Pour plus d’informations, consultez Conventions pour les prototypes de fonction.

Exigences

Exigence Valeur
plateforme cible Windows
d’en-tête tapi.h
bibliothèque Tapi32.lib
DLL Tapi32.dll

Voir aussi

Informations de référence sur les services de téléphonie de base

Vue d’ensemble de la numérotation

adresses rendez-vous

LINE_CALLSTATE

LINE_REPLY

vue d’ensemble des informations de référence sur TAPI 2.2

lineDrop

lineMakeCall