Implementando uma função de ponto de entrada de provedor de catálogo de endereços

Aplica-se a: Outlook 2013 | Outlook 2016

Quando um aplicativo cliente chama MAPILogonEx para iniciar uma sessão usando um perfil que contém seu provedor de catálogo de endereços, o MAPI carrega seu provedor e todos os outros que fazem parte do perfil. O MAPI descobre o nome da função de ponto de entrada do provedor examinando o perfil. Lembre-se de que essa função não é o mesmo que uma função de ponto de entrada de DLL; consulte a documentação do DllMain na documentação do Win32.

Existem várias entradas, algumas das quais devem aparecer no arquivo de configuração mapisvc.inf, que estão incluídas na seção de perfil de cada provedor de catálogo de endereços. A tabela a seguir lista essas entradas da seção de perfil e se o arquivo mapisvc.inf deve ou não incluí-las.

Entrada da seção do perfil Requisito MAPISVC.INF
PR_DISPLAY_NAME= string
Opcional
PR_PROVIDER_DISPLAY= string
Obrigatório
PR_PROVIDER_DLL_NAME= DLL filename
Obrigatório
PR_RESOURCE_TYPE= longo
Obrigatório
PR_RESOURCE_FLAGS= máscara de bits
Opcional

Seu provedor de catálogo de endereços pode colocar essas informações em um perfil diretamente chamando o método IMAPIProp::SetProps da seção de perfil ou indiretamente modificando MAPISVC.INF. Os perfis são criados usando as informações relevantes no MAPISVC. INF para os provedores de serviços ou serviços de mensagens selecionados. Para mais informações sobre a organização e conteúdos do MAPISVC. INF, consulte Formato de arquivo de MapiSvc.inf.

O nome da função de ponto de entrada DLL do provedor de catálogo de endereços deve ser ABProviderInit e deve estar em conformidade com o protótipo ABProviderInit . Execute as seguintes tarefas na função de ponto de entrada de DLL do seu provedor:

  • Verifique a versão da interface do provedor de serviços (SPI) para garantir que o MAPI esteja usando uma versão compatível com a versão que seu provedor de catálogo de endereços está usando.

  • Crie uma instância de um objeto provedor de catálogo de endereços.

Não chame MAPIInitialize ou MAPIUninitialize nesta função.

A função de ponto de entrada de DLL instancia um objeto provedor e retorna ao MAPI um ponteiro para esse objeto.