Compartir a través de


Método ITTAPI::RegisterCallNotifications (tapi3if.h)

El método RegisterCallNotifications establece qué nuevas notificaciones de llamada recibirá una aplicación. La aplicación debe llamar al método para cada dirección, lo que indica el tipo de medio o los tipos que puede controlar y especificar los privilegios que solicita.

Una aplicación que realizará solo llamadas salientes no necesita llamar a este método.

La interfaz saliente ITTAPIEventNotification debe registrarse antes de llamar a este método.

Si se necesitan privilegios de propietario y monitor para una dirección, este método solo se debe llamar una vez, con fMonitor y fOwner establecido en TRUE.

Sintaxis

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

Parámetros

[in] pAddress

Puntero a la interfaz ITAddress .

[in] fMonitor

Valor booleano que indica si la aplicación supervisará las llamadas. VARIANT_TRUE indica que la aplicación supervisará las llamadas; VARIANT_FALSE que no lo hará.

[in] fOwner

Valor booleano que indica si la aplicación posee llamadas entrantes. VARIANT_TRUE indica que la aplicación poseerá llamadas entrantes; VARIANT_FALSE indica que no lo hará.

[in] lMediaTypes

Tipos de medios que la aplicación puede controlar.

[in] lCallbackInstance

Instancia de devolución de llamada que va a usar el archivo DLL tapi 3. Puede ser el valor gulAdvise devuelto por IConnectionPoint::Advise durante el registro de la interfaz saliente ITTAPIEventNotification .

[out] plRegister

Si se ejecuta correctamente, el valor devuelto que usa ITTAPI::UnregisterNotifications.

Valor devuelto

Este método puede devolver uno de estos valores.

Código devuelto Descripción
S_OK
El método se realizó correctamente.
E_POINTER
El parámetro plRegister no es un puntero válido.
TAPI_E_NOT_INITIALIZED
El objeto TAPI no se ha inicializado.
E_OUTOFMEMORY
Existe memoria insuficiente para realizar la operación.

Comentarios

Si se usan varias llamadas de este método en una dirección, la información sobre las llamadas de los participantes desde un centro de llamadas puede resultar confusa si se le entrega una llamada que ya está supervisada por la aplicación.

El método RegisterCallNotifications registra la aplicación como interesada en supervisar las llamadas o recibir la propiedad de las llamadas que son de los tipos de medios especificados. Estos privilegios de llamada se establecen en los parámetros fMonitor y fOwner . Una aplicación puede especificar varias marcas para controlar varios tipos de medios. Pueden surgir conflictos si varias aplicaciones se registran para la misma dirección y tipo de medio. Estos conflictos se resuelven mediante un esquema de prioridad en el que el usuario asigna prioridades relativas a las aplicaciones. Los usuarios pueden establecer prioridades de aplicación llamando a la función ITTAPI::SetApplicationPriority . Solo la aplicación de prioridad más alta para un tipo de medio determinado recibirá la propiedad (no solicitada) de una llamada de ese tipo de medio. La propiedad se puede recibir cuando llega por primera vez una llamada entrante o cuando se entrega una llamada. Se llama a las funciones ITBasicCallControl::HandoffDirect y ITBasicCallControl::HandoffIndirect para entregar la propiedad de una llamada a otra aplicación. Si el usuario no asigna prioridades a la aplicación y varias aplicaciones abren el mismo dispositivo de línea de forma predeterminada, la aplicación que llamó a RegisterCallNotifications primero tendrá la prioridad más alta.

Requisitos

Requisito Value
Plataforma de destino Windows
Encabezado tapi3if.h (include Tapi3.h)
Library Uuid.lib
Archivo DLL Tapi3.dll

Consulte también

Introducción a los eventos

ITCallNotificationEvent

ITTAPI

ITTAPIEventNotification

Registrar fragmento de código de eventos

Objeto TAPI