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

O método RegisterCallNotifications define quais novas notificações de chamada um aplicativo receberá. O aplicativo deve chamar o método para cada endereço, indicando o tipo de mídia ou os tipos que ele pode manipular e especificando os privilégios solicitados.

Um aplicativo que fará apenas chamadas de saída não precisa chamar esse método.

A interface de saída ITTAPIEventNotification deve ser registrada antes de chamar esse método.

Se os privilégios de proprietário e monitor forem necessários para um endereço, esse método deverá ser chamado apenas uma vez, com fMonitor e fOwner definidos como TRUE.

Sintaxe

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

Ponteiro para a interface ITAddress .

[in] fMonitor

Valor booliano que indica se o aplicativo monitorará as chamadas. VARIANT_TRUE indica que o aplicativo monitorará chamadas; VARIANT_FALSE que não vai.

[in] fOwner

Valor booliano que indica se o aplicativo terá chamadas de entrada. VARIANT_TRUE indica que o aplicativo terá chamadas de entrada; VARIANT_FALSE indica que não.

[in] lMediaTypes

Tipos de mídia que podem ser manipulados pelo aplicativo.

[in] lCallbackInstance

Instância de retorno de chamada a ser usada pela DLL do TAPI 3. Pode ser o valor gulAdvise retornado por IConnectionPoint::Advise durante o registro da interface de saída ITTAPIEventNotification .

[out] plRegister

Em caso de êxito, o valor retornado usado por ITTAPI::UnregisterNotifications.

Retornar valor

Esse método pode retornar um desses valores.

Código de retorno Descrição
S_OK
O método foi bem-sucedido.
E_POINTER
O parâmetro plRegister não é um ponteiro válido.
TAPI_E_NOT_INITIALIZED
O objeto TAPI não foi inicializado.
E_OUTOFMEMORY
Há memória insuficiente para executar a operação.

Comentários

Se várias chamadas desse método forem usadas em um endereço, as informações sobre chamadas de participantes de um hub de chamadas poderão ser confusas se uma chamada que já está sendo monitorada pelo aplicativo for entregue a ele.

O método RegisterCallNotifications registra o aplicativo como tendo interesse em monitorar chamadas ou receber a propriedade de chamadas que são dos tipos de mídia especificados. Esses privilégios de chamada são definidos nos parâmetros fMonitor e fOwner . Um aplicativo pode especificar vários sinalizadores para lidar com vários tipos de mídia. Conflitos podem surgir se vários aplicativos se registrarem para o mesmo endereço e tipo de mídia. Esses conflitos são resolvidos por um esquema de prioridade no qual o usuário atribui prioridades relativas aos aplicativos. Os usuários podem definir prioridades do aplicativo chamando a função ITTAPI::SetApplicationPriority . Somente o aplicativo de prioridade mais alta para um determinado tipo de mídia receberá a propriedade (não solicitada) de uma chamada desse tipo de mídia. A propriedade pode ser recebida quando uma chamada de entrada chega pela primeira vez ou quando uma chamada é entregue. As funções ITBasicCallControl::HandoffDirect e ITBasicCallControl::HandoffIndirect são chamadas para entregar a propriedade de uma chamada a outro aplicativo. Se o usuário não atribuir prioridades ao aplicativo e vários aplicativos abrirem o mesmo dispositivo de linha, por padrão, o aplicativo que chamou RegisterCallNotifications primeiro terá a prioridade mais alta.

Requisitos

Requisito Valor
Plataforma de Destino Windows
Cabeçalho tapi3if.h (inclua Tapi3.h)
Biblioteca Uuid.lib
DLL Tapi3.dll

Confira também

Visão geral de eventos

ITCallNotificationEvent

ITTAPI

ITTAPIEventNotification

Registrar snippet de código de eventos

Objeto TAPI