Partager via


fonction lineDeallocateCall (tapi.h)

La fonction lineDeallocateCall libère le handle d’appel spécifié.

Syntaxe

LONG lineDeallocateCall(
  HCALL hCall
);

Paramètres

hCall

Handle d’appel à libérer. Une application avec des privilèges de surveillance pour un appel peut toujours libérer son handle pour cet appel. Une application disposant du privilège de propriétaire pour un appel peut libérer son handle, sauf s’il s’agit du seul propriétaire de l’appel et que l’appel n’est pas à l’état inactif . Le handle d’appel n’est plus valide une fois qu’il a été libéré.

Valeur retournée

Retourne zéro si la requête réussit ou un numéro d’erreur négatif si une erreur se produit. Les valeurs de retour possibles sont les suivantes :

LINEERR_INVALCALLHANDLE, LINEERR_OPERATIONFAILED, LINEERR_INVALCALLSTATE, LINEERR_RESOURCEUNAVAIL, LINEERR_NOMEM, LINEERR_UNINITIALIZED.

Remarques

La désallocation n’affecte pas l’état de l’appel physique. Toutefois, il libère des ressources internes liées à l’appel.

Dans les versions d’API antérieures à 2.0, si l’application est le seul propriétaire d’un appel et que l’appel n’est pas à l’état inactif , LINEERR_INVALCALLSTATE est retourné. Dans ce cas, l’application peut d’abord supprimer l’appel à l’aide de lineDrop et libérer son handle d’appel par la suite. Une application qui dispose d’un privilège de surveillance pour un appel peut toujours libérer son handle pour l’appel.

Dans les versions d’API 2.0 ou ultérieures, le seul propriétaire de l’appel peut libérer son handle même si l’appel n’est pas à l’état inactif . Cela permet un contrôle distribué de l’appel dans un environnement client/serveur.

Note Le fait de quitter l’appel sans propriétaire peut empêcher l’utilisateur d’arrêter l’appel s’il existe des applications de surveillance ouvertes empêchant TAPI d’appeler TSPI_lineCloseCall. Utilisez cette fonctionnalité uniquement si l’application peut déterminer que l’appel peut être contrôlé en externe par l’utilisateur. Pour plus d’informations, consultez LINEADDRCAPFLAGS_CLOSEDROP.
 
Dans les versions d’API antérieures à 2.0, lorsque la fonction lineDeallocateCall libère un handle d’appel, elle suspend également le traitement des messages LINE_REPLY en suspens pour l’appel. Une application doit être conçue pour ne pas attendre indéfiniment LINE_REPLY messages pour chaque appel correspondant à une fonction asynchrone si elle utilise également la fonction lineDeallocateCall pour libérer les handles.

Dans les versions d’API 2.0 ou ultérieures, lineDeallocateCall ne suspend pas les messages LINE_REPLY en attente ; chaque fonction asynchrone qui retourne un dwRequestID à l’application entraîne toujours la remise du message LINE_REPLY associé, sauf si l’application appelle lineShutdown.

Configuration requise

   
Plateforme cible Windows
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

LINE_REPLY

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

Vue d’ensemble de l’arrêt d’une session

lineDrop

lineShutdown