实现通讯簿提供程序入口点函数
适用于: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 使用的版本与通讯簿提供程序使用的版本兼容。
实例化通讯簿提供程序对象。
请勿在此函数中调用 MAPIInitialize 或 MAPIUninitialize 。
DLL 入口点函数实例化提供程序对象,并向 MAPI 返回指向该对象的指针。