Observação
O acesso a essa página exige autorização. Você pode tentar entrar ou alterar diretórios.
O acesso a essa página exige autorização. Você pode tentar alterar os diretórios.
Aplica-se a: Outlook 2013 | Outlook 2016
Cada DLL de provedor de serviços tem uma função de ponto de entrada que MAPI chama para carregá-la. Lembre-se de que essa função de ponto de entrada não é o mesmo que DllMain, a função de ponto de entrada DLL do Win32.
Dependendo do tipo de seu provedor, a função de ponto de entrada do provedor está em conformidade com um protótipo diferente. O MAPI define diferentes protótipos de função de ponto de entrada para provedores de serviços.
| Provider | Protótipo de função de ponto de entrada |
|---|---|
| Provedores do repositório de mensagens |
MSProviderInit |
| Provedores de transporte |
XPProviderInit |
| Provedores de catálogo de endereços |
ABProviderInit |
Grande parte da funcionalidade nesses protótipos é a mesma para todos os tipos de provedores de serviços.
Os provedores de catálogo de endereços, armazenamento de mensagens e transporte executam as duas tarefas principais a seguir em suas funções de ponto de entrada:
- 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 serviços está usando. Use o parâmetro lpulMAPIVer, que contém a versão MAPI SPI, e o parâmetro lpulProviderVer, que contém sua versão SPI, para executar a marcar. Esses parâmetros são inteiros sem sinal de 32 bits compostos por três partes:
Os bits 24 a 31 representam a versão principal.
Os bits de 16 a 23 representam a versão secundária.
Os bits de 0 a 15 representam o identificador de atualização. Embora o número da versão principal raramente seja alterado, o número da versão secundária é alterado sempre que o MAPI é lançado e o SPI é alterado. O identificador de atualização é a versão de build interna da Microsoft; Ele é usado para rastrear alterações durante o processo de desenvolvimento. O MAPI define a constante CURRENT_SPI_VERSION, documentada no arquivo de cabeçalho Mapispi.h, para indicar a versão SPI atual. Resolva sua marcar com a MAPI_E_VERSION de erro se você estiver usando uma versão do SPI mais recente do que a versão que MAPI está usando.
Crie uma instância de um objeto de provedor. Como o provedor pode ser iniciado e inicializado várias vezes, você deve criar uma nova instância sempre que isso ocorrer. Os provedores são iniciados várias vezes quando aparecem em vários perfis que estão em uso simultaneamente por um ou mais clientes ou quando aparecem várias vezes em um único perfil. Assim como o protótipo da função de ponto de entrada difere dependendo do tipo do seu provedor, o mesmo acontece com o tipo de objeto do provedor.
Se você estiver escrevendo um provedor de catálogo de endereços, implemente IABProvider : IUnknown. Se você estiver escrevendo um provedor de repositório de mensagens, implemente IMSProvider : IUnknown. Para obter mais informações, consulte Carregando provedores de repositório de mensagens.
Se você estiver escrevendo um provedor de transporte, implemente IXPProvider : IUnknown. Para obter mais informações, consulte Inicializando o provedor de transporte.