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
Fonctions de service de ligne supplémentaires