Partager via


ITTAPI ::RegisterCallNotifications, méthode (tapi3if.h)

La méthode RegisterCallNotifications définit les nouvelles notifications d’appel qu’une application recevra. L’application doit appeler la méthode pour chaque adresse, en indiquant le type de média ou les types qu’elle peut gérer, et en spécifiant les privilèges qu’elle demande.

Une application qui effectue uniquement des appels sortants n’a pas besoin d’appeler cette méthode.

L’interface sortante ITTAPIEventNotification doit être inscrite avant d’appeler cette méthode.

Si les privilèges de propriétaire et de surveillance sont nécessaires pour une adresse, cette méthode ne doit être appelée qu’une seule fois, avec fMonitor et fOwner définis sur TRUE.

Syntaxe

HRESULT RegisterCallNotifications(
  [in]  ITAddress    *pAddress,
  [in]  VARIANT_BOOL fMonitor,
  [in]  VARIANT_BOOL fOwner,
  [in]  long         lMediaTypes,
  [in]  long         lCallbackInstance,
  [out] long         *plRegister
);

Paramètres

[in] pAddress

Pointeur vers l’interface ITAddress .

[in] fMonitor

Valeur booléenne indiquant si l’application surveillera les appels. VARIANT_TRUE indique que l’application surveillera les appels ; VARIANT_FALSE que ce ne sera pas le cas.

[in] fOwner

Valeur booléenne indiquant si l’application sera propriétaire des appels entrants. VARIANT_TRUE indique que l’application sera propriétaire des appels entrants ; VARIANT_FALSE indique que ce n’est pas le cas.

[in] lMediaTypes

Types de médias qui peuvent être gérés par l’application.

[in] lCallbackInstance

Le rappel instance à utiliser par la DLL TAPI 3. Peut être la valeur gulAdvise retournée par IConnectionPoint ::Advise lors de l’inscription de l’interface sortante ITTAPIEventNotification .

[out] plRegister

En cas de réussite, valeur retournée utilisée par ITTAPI ::UnregisterNotifications.

Valeur retournée

Cette méthode peut retourner l’une de ces valeurs.

Code de retour Description
S_OK
La méthode a réussi.
E_POINTER
Le paramètre plRegister n’est pas un pointeur valide.
TAPI_E_NOT_INITIALIZED
L’objet TAPI n’a pas été initialisé.
E_OUTOFMEMORY
La mémoire est insuffisante pour effectuer l’opération.

Remarques

Si plusieurs appels de cette méthode sont utilisés sur une seule adresse, les informations sur les appels des participants à partir d’un hub d’appels peuvent prêter à confusion si un appel déjà surveillé par l’application lui est remis.

La méthode RegisterCallNotifications inscrit l’application comme ayant un intérêt à surveiller les appels ou à recevoir la propriété des appels qui sont des types de médias spécifiés. Ces privilèges d’appel sont définis dans les paramètres fMonitor et fOwner . Une application peut spécifier plusieurs indicateurs pour gérer plusieurs types de médias. Des conflits peuvent survenir si plusieurs applications s’inscrivent pour le même type d’adresse et de média. Ces conflits sont résolus par un schéma de priorité dans lequel l’utilisateur affecte des priorités relatives aux applications. Les utilisateurs peuvent définir les priorités des applications en appelant la fonction ITTAPI ::SetApplicationPriority . Seule l’application de priorité la plus élevée pour un type de média donné recevra la propriété (non sollicitée) d’un appel de ce type de média. La propriété peut être reçue lorsqu’un appel entrant arrive pour la première fois ou lorsqu’un appel est remis. Les fonctions ITBasicCallControl ::HandoffDirect et ITBasicCallControl ::HandoffIndirect sont appelées pour transmettre la propriété d’un appel à une autre application. Si l’utilisateur n’affecte pas de priorités à l’application et que plusieurs applications ouvrent le même appareil de ligne, par défaut, l’application qui a appelé RegisterCallNotifications aura d’abord la priorité la plus élevée.

Configuration requise

Condition requise Valeur
Plateforme cible Windows
En-tête tapi3if.h (inclure Tapi3.h)
Bibliothèque Uuid.lib
DLL Tapi3.dll

Voir aussi

Vue d’ensemble des événements

ITCallNotificationEvent

ITTAPI

ITTAPIEventNotification

Extrait de code Inscrire des événements

Objet TAPI