fonction linePark (tapi.h)
La fonction linePark gare l’appel spécifié en fonction du mode de parc spécifié.
Syntaxe
LONG linePark(
HCALL hCall,
DWORD dwParkMode,
LPCSTR lpszDirAddress,
LPVARSTRING lpNonDirAddress
);
Paramètres
hCall
Gérer l’appel à stationner. L’application doit être propriétaire de l’appel. L’état de l’appel de hCall doit être connecté.
dwParkMode
Mode de stationnement avec lequel l’appel doit être garé. Ce paramètre ne peut avoir qu’un seul jeu d’indicateurs et utilise l’une des constantes LINEPARKMODE_.
lpszDirAddress
Pointeur vers une chaîne terminée par null qui indique l’adresse où l’appel doit être garé lors de l’utilisation du parc dirigé. L’adresse est au format de numéro de numérotation. Ce paramètre est ignoré pour le parc non dirigé.
lpNonDirAddress
Pointeur vers une structure de type VARSTRING. Pour le parc non dirigé, l’adresse où l’appel est garé est retournée dans cette structure. Ce paramètre est ignoré pour le parc dirigé. Dans la structure VARSTRING , dwStringFormat doit être défini sur STRINGFORMAT_ASCII (une mémoire tampon de chaîne ASCII contenant une chaîne terminée par null), et la valeur NULL de fin doit être prise en compte dans le dwStringSize. Avant d’appeler linePark, l’application doit définir le membre dwTotalSize de cette structure pour indiquer la quantité de mémoire disponible sur TAPI pour retourner des informations.
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_NOTOWNER, LINEERR_INVALCALLHANDLE, LINEERR_OPERATIONUNAVAIL, LINEERR_INVALCALLSTATE, LINEERR_OPERATIONFAILED, LINEERR_INVALPARKMODE, LINEERR_RESOURCEUNAVAIL, LINEERR_INVALPOINTER, LINEERR_STRUCTURETOOSMALL, LINEERR_NOMEM, LINEERR_UNINITIALIZED.
Remarques
Avec le parc dirigé, l’application détermine l’adresse à laquelle elle souhaite stationner l’appel. Avec le parc non dirigé, le commutateur détermine l’adresse et le fournit à l’application. Dans les deux cas, un appel parqué peut être annulé en spécifiant cette adresse.
L’appel parqué passe généralement à l’état inactif une fois qu’il a été correctement garé, et l’application doit ensuite libérer son handle vers l’appel. Si l’application effectue un lineUnpark sur l’appel parqué, un nouveau handle d’appel est créé pour l’appel non affecté même si l’application n’a pas libéré son ancien handle d’appel.
Certains commutateurs peuvent rappeler à l’utilisateur une fois qu’un appel a été garé pendant une longue période. L’application voit un appel d’offre avec une raison d’appel définie sur rappel.
Sur un parc non dirigé, si le membre dwTotalSize de la structure VARSTRING ne spécifie pas une quantité de mémoire suffisante pour recevoir l’adresse de parc, le message de réponse correspondant renvoie une valeur d’erreur LINEERR_STRUCTURETOOSMALL. Dans ce cas, il n’existe aucun moyen de récupérer l’adresse complète du parc. Lorsqu’une valeur d’erreur LINEERR_STRUCTURETOOSMALL est retournée, le membre dwNeededSize de la structure NonDirAddress ne contient pas de valeur valide. Si une valeur d’erreur LINEERR_STRUCTURETOOSMALL est reçue à partir d’un linePark non dirigé, augmentez la taille de la mémoire tampon et appelez à nouveau linePark jusqu’à ce qu’il retourne un résultat de réussite ou un résultat LINEERR_XXX différent.
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