lineMakeCallW, fonction (tapi.h)

La fonction lineMakeCall place un appel sur la ligne spécifiée à l’adresse de destination spécifiée. Si vous le souhaitez, les paramètres d’appel peuvent être spécifiés si des paramètres de configuration d’appel par défaut sont demandés.

Syntaxe

LONG lineMakeCallW(
  HLINE                  hLine,
  LPHCALL                lphCall,
  LPCWSTR                lpszDestAddress,
  DWORD                  dwCountryCode,
  LPLINECALLPARAMS const lpCallParams
);

Paramètres

hLine

Gérez l’appareil en ligne ouverte sur lequel un appel doit provenir.

lphCall

Pointeur vers un handle HCALL. Le handle n’est valide qu’une fois le message LINE_REPLY reçu par l’application indiquant que la fonction lineMakeCall a réussi. Utilisez ce handle pour identifier l’appel lors de l’appel d’autres opérations de téléphonie sur l’appel. L’application est initialement le seul propriétaire de cet appel. Ce handle est void si la fonction retourne une erreur (de façon synchrone ou asynchrone par le message de réponse).

lpszDestAddress

Pointeur vers l’adresse de destination. Ceci suit le format de numéro rendez-vous standard. Ce pointeur peut être NULL pour les adresses non rendez-vous (comme avec un téléphone chaud) ou lorsque toutes les numérotations sont effectuées à l’aide de lineDial . Dans ce dernier cas, lineMakeCall alloue une apparence d’appel disponible qui resterait généralement dans l’état numérotation jusqu’au début de la numérotation. Les fournisseurs de services qui ont des fonctionnalités de multiplexage inverse peuvent permettre à une application de spécifier plusieurs adresses à la fois.

dwCountryCode

Code pays ou région du tiers appelé. Si la valeur 0 est spécifiée, une valeur par défaut est utilisée par l’implémentation.

lpCallParams

Pointeur vers une structure LINECALLPARAMS . Cette structure permet à l’application de spécifier la façon dont elle souhaite que l’appel soit configuré. Si NULL est spécifié, un appel vocal par défaut de 3,1 kHz est établi et une adresse d’origine arbitraire sur la ligne est sélectionnée. Cette structure permet à l’application de sélectionner des éléments tels que le mode porteur de l’appel, le taux de données, le mode multimédia attendu, l’adresse d’origine, le blocage des informations d’ID de l’appelant et les paramètres de numérotation.

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_INVALLINEHANDLE, LINEERR_BEARERMODEUNAVAIL, LINEERR_INVALLINESTATE, LINEERR_CALLUNAVAIL, LINEERR_INVALMEDIAMODE, LINEERR_DIALBILLING, LINEERR_INVALPARAM, LINEERR_DIALDIALTONE, LINEERR_INVALPOINTER, LINEERR_DIALPROMPT, LINEERR_INVALRATE, LINEERR_DIALQUIET, LINEERR_NOMEM, LINEERR_INUSE, LINEERR_OPERATIONFAILED, LINEERR_INVALADDRESS, LINEERR_OPERATIONUNAVAIL, LINEERR_INVALADDRESSID, LINEERR_RATEUNAVAIL, LINEERR_INVALADDRESSMODE, LINEERR_ RESOURCEUNAVAIL, LINEERR_INVALBEARERMODE, LINEERR_STRUCTURETOOSMALL, LINEERR_INVALCALLPARAMS, LINEERR_UNINITIALIZED, LINEERR_INVALCOUNTRYCODE, LINEERR_USERUSERINFOTOOBIG.

Remarques

Si LINEERR_INVALLINESTATE est retourné, la ligne n’est actuellement pas dans un état dans lequel cette opération peut être effectuée. Vous trouverez la liste des opérations actuellement valides dans le membre dwLineFeatures (du type LINEFEATURE_) dans la structure LINEDEVSTATUS. Appeler lineGetLineDevStatus met à jour les informations dans LINEDEVSTATUS. Si LINEERR_DIALBILLING, LINEERR_DIALQUIET, LINEERR_DIALDIALTONE ou LINEERR_DIALPROMPT est retourné, aucune des actions effectuées par lineMakeCall ne s’est produite ; par exemple, aucune adresse rendez-vous avant le caractère incriminé n’a été composer, aucun état de commutateur de crochet n’a changé, et ainsi de suite.

Une fois la numérotation terminée, plusieurs messages LINE_CALLSTATE sont généralement envoyés à l’application pour l’informer de la progression de l’appel. Aucune séquence généralement valide de transitions d’état d’appel n’est spécifiée, car aucune séquence fixe unique de transitions ne peut être garantie dans la pratique. Une séquence classique peut entraîner une transition d’un appel de de numérotation, de de numérotation, de de continuer, de sonnerie , à connecté . Avec des lignes non dialées, l’appel peut généralement passer directement à 'état de connecté.

Une application a la possibilité de spécifier une adresse d’origine sur l’appareil de ligne spécifié. Un fournisseur de services qui modélise toutes les stations sur un commutateur en tant qu’adresses sur un seul appareil de ligne permet à l’application d’revenir à l’une de ces stations à l’aide de lineMakeCall.

Les paramètres d’appel permettent à l’application d’effectuer des appels non vocaux ou de demander des options de configuration d’appel spéciales qui ne sont pas disponibles par défaut.

Une application peut composer partiellement à l’aide de lineMakeCall et continuer la numérotation à l’aide de lineDial. Pour plus d’informations sur la numérotation partielle, consultez lineDial et TSPI_lineMakeCall. Pour abandonner une tentative d’appel, utilisez lineDrop.

Après lineMakeCall retourne un message de réponse réussi à l’application, un message LINE_CALLSTATE est envoyé à l’application pour indiquer l’état actuel de l’appel. Cet état n’est pas nécessairement LINECALLSTATE_DIALTONE.

Cette fonction peut envoyer des données sur le réseau sous forme non chiffrée ; par conséquent, quelqu’un qui écoute sur le réseau peut être en mesure de lire les données. Le risque de sécurité lié à l’envoi des données en texte clair doit être pris en compte avant d’utiliser cette méthode.

Attention TAPI écrit les données retournées dans la mémoire tampon référencée par lphCall lorsque le message LINE_REPLY est retourné. Cela signifie que la mémoire tampon doit rester valide jusqu’à ce que le message LINE_REPLY soit retourné ; sinon, l’altération des données et les exceptions peuvent se produire.
 

Note

L’en-tête tapi.h définit lineMakeCall 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

adresses rendez-vous

LINECALLPARAMS

LINEDEVSTATUS

LINE_CALLSTATE

LINE_REPLY

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

lineDial

lineDrop

lineGetLineDevStatus