Provedores de Serviço MAPI

Aplica-se a: Outlook 2013 | Outlook 2016

Há três tipos comuns de provedores de serviços:

  • Provedores de catálogo de endereços.

  • Provedores do repositório de mensagens.

  • Provedores de transporte.

Os provedores de catálogo de endereços e repositório de mensagens têm muitas semelhanças. Eles registram um identificador exclusivo com MAPI que usam para construir identificadores de entrada para seus objetos. Eles fornecem uma hierarquia de objetos e propriedades que os clientes podem acessar e manipular. Para seus objetos de contêiner, eles dão suporte a uma tabela de hierarquia e uma tabela de conteúdo. Eles dão suporte à notificação de eventos nessas tabelas e, opcionalmente, em objetos individuais para que os clientes possam ser informados sobre as alterações que ocorrem durante a sessão. Quando as operações se tornam longas, elas podem exibir um indicador de progresso para informar o usuário sobre o status da operação. Os clientes podem se comunicar com os provedores de catálogo de endereços e repositório de mensagens indiretamente por meio de MAPI usando as interfaces IAddrBook : IMAPIProp e IMAPISession : IUnknown ou diretamente usando uma das interfaces do provedor de serviços na tabela a seguir.

Interfaces do provedor de catálogo de endereços Interfaces do provedor do repositório de mensagens
IABContainer : IMAPIContainer
IMsgStore : IMAPIProp
IDistList : IMAPIContainer
IMAPIFolder : IMAPIContainer
IMailUser : IMAPIProp
IMessage : IMAPIProp

IAttach : IMAPIProp

Os provedores de transporte diferem dos provedores de catálogo de endereços e repositório de mensagens na maneira como se comunicam com o MAPI e com os clientes. Os provedores de transporte normalmente aguardam que o MAPI solicite informações em vez de iniciar a comunicação. Ao contrário dos outros provedores, os provedores de transporte não dão suporte a uma variedade de objetos e tabelas que são comumente acessados pelos clientes. No entanto, eles suportam um objeto status, assim como todos os provedores de serviços, e publicam suas propriedades na tabela status. Enquanto os provedores de catálogo de endereços e repositório de mensagens chamam o método IMAPISupport::SetProviderUID para registrar identificadores exclusivos para construir seus identificadores de entrada, os provedores de transporte chamam o método IXPLogon::AddressTypes para registrar identificadores exclusivos, bem como tipos de endereço para assumir a responsabilidade pela entrega de mensagens específicas.

Seu provedor de serviços deve ter três arquivos de cabeçalho: um arquivo de cabeçalho público e dois arquivos internos. Use o arquivo de cabeçalho público para configuração e documentação de propriedades e seus valores. Incluir em um dos arquivos de cabeçalho interno todos os cabeçalhos MAPI públicos necessários; Esse arquivo de cabeçalho deve ser incluído em todos os arquivos de origem do provedor de serviços. Use o outro arquivo interno para definir identificadores de recursos.

O catálogo de endereços, o repositório de mensagens e os provedores de transporte realizam as seguintes tarefas:

  • Forneça uma função de ponto de entrada.

  • Forneça um provedor e um objeto de logon para lidar com o logon e a inicialização.

  • Se o provedor pertencer a um serviço de mensagens, forneça uma função de ponto de entrada do serviço de mensagens.

  • Configuração de suporte implementando uma folha de propriedades.

  • Implemente um objeto de status e suporte a tabela de status.

  • Manipular desligamento.

Confira também

Conceitos de MAPI