实现通讯簿提供程序入口点函数

适用于:Outlook 2013 | Outlook 2016

当客户端应用程序调用 MAPILogonEx 以使用包含通讯簿提供程序的配置文件开始会话时,MAPI 将加载提供程序以及属于该配置文件的所有其他配置文件。 MAPI 通过查看配置文件来了解提供程序入口点函数的名称。 请记住,此函数与 DLL 入口点函数不同;请参阅 Win32 文档中 DllMain 的文档。

有几个条目,其中一些条目必须出现在 mapisvc.inf 配置文件中,这些条目包含在每个通讯簿提供程序的配置文件部分中。 下表列出了这些配置文件节条目以及 mapisvc.inf 文件是否必须包含它们。

配置文件部分条目 mapisvc.inf 要求
PR_DISPLAY_NAME= string
可选
PR_PROVIDER_DISPLAY= string
必需
PR_PROVIDER_DLL_NAME= DLL 文件名
必需
PR_RESOURCE_TYPE= long
必需
PR_RESOURCE_FLAGS= 位掩码
可选

通讯簿提供程序可以通过调用其配置文件部分的 IMAPIProp::SetProps 方法或通过修改 MAPISVC.INF 间接将此信息放入配置文件中。 配置文件是使用 MAPISVC 中的相关信息生成的。所选服务提供商或消息服务的 INF。 有关 MAPISVC 的组织和内容的详细信息。INF,请参阅 MapiSvc.inf 的文件格式

通讯簿提供程序的 DLL 入口点函数的名称必须是 ABProviderInit ,并且它必须符合 ABProviderInit 原型。 在提供程序的 DLL 入口点函数中执行以下任务:

  • 检查服务提供程序接口 (SPI) 的版本,以确保 MAPI 使用的版本与通讯簿提供程序使用的版本兼容。

  • 实例化通讯簿提供程序对象。

请勿在此函数中调用 MAPIInitializeMAPIUninitialize

DLL 入口点函数实例化提供程序对象,并向 MAPI 返回指向该对象的指针。