Registrar-se para uma notificação
Aplica-se a: Outlook 2013 | Outlook 2016
Um cliente pode se registrar para o catálogo de endereços ou notificações do repositório de mensagens como parte de seu processo de inicialização.
O MAPI dá suporte à notificação no catálogo de endereços, independentemente de qualquer um dos provedores de catálogo de endereços dar suporte a ele. O suporte para notificação em armazenamentos de mensagens depende do provedor de armazenamento de mensagens específico. Para determinar se um provedor de armazenamento de mensagens específico dá suporte a notificações, marcar sua propriedade PR_STORE_SUPPORT_MASK (PidTagStoreSupportMask). Se o repositório de mensagens der suporte a notificações, o bit STORE_NOTIFY_OK será definido.
Registre-se para notificações chamando o método Desaconselhável de um objeto de origem. Muitos objetos implementam o Advise e os clientes podem se registrar com esses objetos de várias maneiras.
Para registrar-se para uma notificação
Crie um objeto de coletor de consultoria MAPI e incremente sua contagem de referência.
Se apropriado, chame HrThisThreadAdviseSink para criar um objeto de coletor de aconselhamento que embrulhe o coletor de aconselhamento original e libere o coletor de conselhos original.
Chame um dos seguintes métodos de aconselhamento para concluir o registro:
Chame IMAPISession::Aconselhar a registrar-se para notificações de sessão ou para notificações em um catálogo de endereços ou objeto do repositório de mensagens.
Chame IAddrBook::Aconselhar a registrar-se para notificações do catálogo de endereços ou para notificações em um usuário de mensagens, contêiner ou lista de distribuição.
Chame IABLogon::Aconselhar a registrar-se diretamente com um provedor de catálogo de endereços para notificações em um usuário de mensagens, contêiner ou lista de distribuição.
Chame IMsgStore::Aconselhar a registrar-se para notificações do repositório de mensagens ou para notificações em uma pasta ou mensagem.
Chame IMSLogon::Aconselhar a registrar-se diretamente com um provedor de repositório de mensagens para notificações em uma pasta ou mensagem.
Chame IMAPITable::Aconselhável registrar-se para notificações de tabela.
Armazene o número de conexão retornado de Aconselhar.
Se estiver usando um coletor de aconselhamento embrulhado, solte-o. Depois que o coletor de aconselhamento embrulhado for registrado, você não precisará mais dele.
Chamar IMAPISession::Advise permite que você se registre para notificações de erro críticas na sessão geral ou para várias notificações em objetos individuais. As sessões enviam notificações de erro críticas para clientes conectados a sessões compartilhadas quando outro cliente que usa a sessão compartilhada chama o método IMAPISession::Logoff . Para se registrar para notificações de sessão, passe NULL para o parâmetro identificador de entrada. Para registrar notificações em um objeto individual, passe o identificador de entrada do objeto. O método IMAPISession encaminha a chamada para o provedor de serviços apropriado, conforme determinado pela parte MAPIUID do identificador de entrada. Chamar IMAPISession::Aconselhar para registrar notificações de objeto é mais simples do que chamar o método Desaconselhável de um provedor de serviços.
Registrar-se com o catálogo de endereços é semelhante ao registro com a sessão. Para registrar-se para uma notificação de erro crítica do catálogo de endereços, passe NULL para o identificador de entrada. Para se registrar para notificações em um objeto específico do catálogo de endereços, especifique o identificador de entrada e o evento ou eventos de interesse apropriados. Lembre-se de que muitos provedores de catálogo de endereços não dão suporte a notificações em objetos individuais. Em vez disso, eles dão suporte a notificações de tabela em seu conteúdo e tabelas de hierarquia.
É uma boa prática liberar o coletor de aconselhamento que você implementa ou cria com HrAllocAdviseSink imediatamente após um retorno bem-sucedido de uma chamada de Aconselhamento . Isso ocorre porque é possível que os provedores de serviços liberem seu coletor de aconselhamento após a chamada Desaconselhe , mas antes que uma chamada do Unadvise seja feita. Depois de dar à fonte de aconselhamento um ponteiro para o coletor de aconselhamento e a contagem de referências tiver sido incrementada neste coletor de aconselhamento, é sábio liberá-lo, a menos que você tenha um uso de longo prazo para ele.
Observação
Todos os números de conexão que representam registros de consultoria válidos não serão liberados até que a chamada unadvise seja feita.