Compartilhar via


Desligar um provedor de serviços

Aplica-se a: Outlook 2013 | Outlook 2016

Quando um cliente chama o método IMAPISession::Logoff para encerrar a sessão e desligar todos os provedores de serviços ativos, o MAPI, por sua vez, chama os seguintes métodos:

Esses métodos têm implementações semelhantes. As tarefas main executadas por um método logoff são as seguintes:

  • Liberando todos os objetos abertos, incluindo subobjetos e objetos status.

  • Chamando o método IUnknown::Release do objeto de suporte para descretar sua contagem de referência.

  • Removendo todas as estruturas MAPIUID registradas do provedor.

  • Removendo a linha do provedor na tabela status.

  • Executando todas as tarefas relacionadas à limpeza de recursos, como o seguinte:

    • Encerrando uma conexão com um servidor remoto.

    • Decrementando a contagem de referência no objeto logon.

    • Removendo o objeto logon da lista de objetos de logon que seu provedor armazena.

    • No modo de depuração, emitindo rastreamentos para localizar objetos que vazaram memória.

Quando o método logoff retornar, o MAPI chama o seguinte:

  • O método IUnknown::Release do objeto logon.

  • O método Shutdown do objeto provedor para executar todas as tarefas finais de limpeza. Dependendo do tipo do provedor, um dos seguintes métodos é chamado:

  • Método IUnknown::Release do objeto provedor.

Se o provedor for um repositório de mensagens, uma chamada do cliente para IMsgStore::StoreLogoff também iniciará o processo de desligamento. O StoreLogoff desliga um provedor de armazenamento de mensagens específico e não tem efeito na sessão. Somente um provedor de armazenamento de mensagens pode ser desligado com esse método; não há nenhuma maneira explícita de desligar um catálogo de endereços ou um provedor de transporte específico. Para obter informações sobre como responder a uma chamada storeLogoff , consulte Desligar um provedor de repositório de mensagens.

A DLL do provedor será descarregada quando o MAPI chamar a função de API Win32 FreeLibrary, uma chamada feita após o último cliente ativo ter chamado MAPIUninitialize. A essa altura, seu provedor de serviços terá terminado de desligar.

Confira também

Provedores de Serviços MAPI