Partager via


fonction linePickup (tapi.h)

La fonction linePickup récupère une alerte d’appel à l’adresse de destination spécifiée et retourne un handle d’appel pour l’appel récupéré. S’il est appelé avec NULL pour le paramètre lpszDestAddress , une collecte de groupe est effectuée. Si l’appareil l’exige, lpszGroupID spécifie l’identificateur de groupe auquel appartient la station d’alerte.

Syntaxe

LONG linePickup(
  HLINE   hLine,
  DWORD   dwAddressID,
  LPHCALL lphCall,
  LPCSTR  lpszDestAddress,
  LPCSTR  lpszGroupID
);

Paramètres

hLine

Gérez l’appareil de ligne ouverte sur lequel un appel doit être récupéré.

dwAddressID

Adresse sur hLine à partir de laquelle la collecte doit être créée. Un identificateur d’adresse est associé de façon permanente à une adresse ; l’identificateur reste constant entre les mises à niveau du système d’exploitation.

lphCall

Pointeur vers un emplacement de mémoire où le handle de l’appel récupéré est retourné. L’application est le seul propriétaire initial de l’appel.

lpszDestAddress

Pointeur vers une mémoire tampon de caractères null qui contient l’adresse dont l’appel doit être récupéré. L’adresse est au format d’adresse standard pouvant être composé.

lpszGroupID

Pointeur vers une mémoire tampon de caractères avec fin null contenant l’identificateur de groupe auquel appartient la station d’alerte. Ce paramètre est requis sur certains commutateurs pour récupérer des appels en dehors du groupe de prise en charge actuel.

Le paramètre lpszGroupID peut être spécifié par lui-même avec un pointeur NULL pour lpszDestAddress. Vous pouvez également spécifier lpszGroupID en plus de lpszDestAddress, si nécessaire par l’appareil.

Valeur retournée

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 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_INVALADDRESS, LINEERR_NOMEM, LINEERR_INVALADDRESSID, LINEERR_OPERATIONUNAVAIL, LINEERR_INVALGROUPID, LINEERR_OPERATIONFAILED, LINEERR_INVALLINEHANDLE, LINEERR_RESOURCEUNAVAIL, LINEERR_INVALPOINTER, LINEERR_UNINITIALIZED.

Remarques

Lorsqu’un appel a été récupéré avec succès, l’application est avertie par le message LINE_CALLSTATE des changements d’état de l’appel. La structure LINECALLINFO fournit des informations sur l’appel qui a été récupéré. Il répertorie la raison de l’appel en tant que collecte. Cette structure est disponible à l’aide de lineGetCallInfo.

Si LINEADDRCAPFLAGS_PICKUPCALLWAIT a la valeur TRUE, linePickup peut être utilisé pour récupérer un appel pour lequel l’utilisateur a détecté le signal d’attente d’appel, mais pour lequel le fournisseur n’est pas en mesure d’effectuer la détection. Cela donne à l’utilisateur un mécanisme pour « répondre » à un appel en attente même si le fournisseur de services n’a pas pu détecter le signal d’attente de l’appel. Les paramètres de pointeur lpszDestAddress et lpszGroupID doivent avoir la valeur NULL pour récupérer un appel en attente. La fonction linePickup crée un nouveau handle d’appel pour l’appel en attente et transmet ce handle à l’utilisateur. Le paramètre dwAddressID est le plus souvent égal à zéro (en particulier dans les cas résidentiels monolignes).

Une fois que linePickup a été utilisé pour récupérer le deuxième appel, lineSwapHold peut être utilisé pour basculer entre eux. La fonction lineDrop peut être utilisée pour supprimer l’une (et basculer vers l’autre), etc. Si l’utilisateur souhaite supprimer l’appel actuel et récupérer le deuxième appel, il doit appeler lineDrop lorsqu’il reçoit le bip d’attente de l’appel, attendre que le deuxième appel sonne, puis appeler lineAnswer sur le nouveau handle d’appel. L’indicateur LINEADDRFEATURE_PICKUP dans le membre dwAddressFeatures dans LINEADDRESSSTATUS indique quand le retrait est réellement possible.

Configuration requise

Condition requise Valeur
Plateforme cible Windows
En-tête tapi.h
Bibliothèque Tapi32.lib
DLL Tapi32.dll

Voir aussi

LINEADDRESSSTATUS

LINECALLINFO

LINE_CALLSTATE

LINE_REPLY

Vue d’ensemble de la collecte

Fonctions de service de ligne supplémentaires

Vue d’ensemble de la référence TAPI 2.2

lineAnswer

lineDrop

lineGetCallInfo

lineSwapHold