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 |
---|---|
|
O método foi bem-sucedido. |
|
O parâmetro plRegister não é um ponteiro válido. |
|
O objeto TAPI não foi inicializado. |
|
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 |