Cronometrando uma notificação

Aplica-se a: Outlook 2013 | Outlook 2016

Como a notificação de eventos é um processo assíncrono, você pode ser notificado a qualquer momento, não necessariamente imediatamente após a ocorrência do evento.

O tempo das chamadas para o método IMAPIAdviseSink::OnNotify varia dependendo do provedor de serviços que implementa a fonte de aconselhamento. Os provedores de serviços podem notificar seu cliente:

  • Simultaneamente com o evento.

  • Logo após o evento.

  • Em algum momento posterior após o evento, possivelmente após uma chamada de desaconselhamento .

A maioria dos provedores de serviços chama OnNotify depois que o método MAPI responsável pelo evento retorna ao seu chamador. Por exemplo, as notificações em mensagens são enviadas quando as alterações na mensagem são salvas, após a chamada IMAPIProp::SaveChanges ou quando a mensagem é liberada, após a chamada IUnknown::Release . Até que a notificação seja enviada, nenhuma alteração ficará visível no repositório de mensagens.

Você pode receber notificações de uma fonte de aviso depois de ligar para o Unadvise para cancelar um registro. Certifique-se de liberar o coletor de aviso somente depois que sua contagem de referência cair para zero, não após uma chamada de Unadvise bem-sucedida. Não presuma que, porque você chamou Unadvise que o dissipador de aviso não é mais necessário.