lineParkA, fonction (tapi.h)

La fonction linePark parcs l’appel spécifié en fonction du mode de parc spécifié.

Syntaxe

LONG lineParkA(
  HCALL       hCall,
  DWORD       dwParkMode,
  LPCSTR      lpszDirAddress,
  LPVARSTRING lpNonDirAddress
);

Paramètres

hCall

Gérer l’appel à être garé. L’application doit être propriétaire de l’appel. L’état d’appel de hCall doit être connecté.

dwParkMode

Mode de parc 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 null-terminated qui indique l’adresse où l’appel doit être garé lors de l’utilisation du parc dirigé. L’adresse est au format numérique rendez-vous. 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 parqué est retournée dans cette structure. Ce paramètre est ignoré pour le parc dirigé. Dans la structure VARSTRING, dwStringFormat doit être définie sur STRINGFORMAT_ASCII (une mémoire tampon de chaîne ASCII contenant une chaîne null-terminated string) et la NULL de fin doit être prise en compte dans la dwStringSize. Avant d’appeler linePark, l’application doit définir le membre dwTotalSize de cette structure pour indiquer la quantité de mémoire disponible pour TAPI pour renvoyer des informations.

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_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 nonparké en spécifiant cette adresse.

L’appel parqué entre généralement dans l’état inactif une fois qu’il a été correctement parké, et l’application doit ensuite libérer son handle à l’appel. Si l’application effectue une lineUnpark sur l’appel parqué, un nouveau handle d’appel est créé pour l’appel nonparké même si l’application n’a pas désalloué son ancien handle d’appel.

Certains commutateurs peuvent rappeler à l’utilisateur une fois qu’un appel a été garé pendant un certain temps. L’application voit une offrant appel avec une raison d’appel définie sur rappel.

Sur un parc non dirigé, si le dwTotalSize membre dans la structure VARSTRING ne spécifie pas une quantité suffisante de mémoire pour recevoir l’adresse de parc, le message de réponse correspondant retourne 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, la dwNeededSize membre de la structure NonDirAddress ne contient pas de valeur valide. Si une valeur d’erreur de LINEERR_STRUCTURETOOSMALL est reçue d’un linePark non dirigé, augmentez la taille de la mémoire tampon et appelez à nouveau linePark jusqu’à ce qu’elle retourne une réussite ou un résultat LINEERR_XXX différent.

Note

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

LINE_REPLY

Vue d’ensemble du parc

fonctions de service de ligne supplémentaires

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

VARSTRING

lineUnpark