如何以编程方式在Outlook中创建全局地址列表文件夹?

如何以编程方式在Outlook中创建全局地址列表文件夹?,outlook,outlook-addin,mapi,Outlook,Outlook Addin,Mapi,我有一个Outlook插件(用Visual C++编写),它可以将联系人与DAV服务器同步(作为Exchange的替代品)。个人联系人很好,但我不知道如何模仿全局地址列表(GAL)的行为 理想情况下,我希望创建GAL文件夹,用户可以像Outlook连接到Exchange时一样进行搜索。有可能吗?也许,Outlook对象模型不可能这样做,但MAPI仍然可以这样做?有人能给我指出正确的出发方向吗 我需要支持Outlook 2007+,但也可以选择仅支持最新版本(用于此特定功能) 本来,我刚刚同步了整

我有一个Outlook插件(用Visual C++编写),它可以将联系人与DAV服务器同步(作为Exchange的替代品)。个人联系人很好,但我不知道如何模仿全局地址列表(GAL)的行为

理想情况下,我希望创建GAL文件夹,用户可以像Outlook连接到Exchange时一样进行搜索。有可能吗?也许,Outlook对象模型不可能这样做,但MAPI仍然可以这样做?有人能给我指出正确的出发方向吗

我需要支持Outlook 2007+,但也可以选择仅支持最新版本(用于此特定功能)


本来,我刚刚同步了整个GAL文件夹,并将其设置为只读,以便Outlook存储整个GAL的本地副本。当GAL大小扩展到数千条记录时,这不起作用。

您不能这样做-通讯簿提供商可以告诉Outlook只允许搜索,而不显示容器的实际内容


除非创建自己的MAPI存储提供程序,否则无法使用Outlook文件夹执行此操作:然后可以根据用户的操作返回所需的任何数据

我不确定我是否理解你的问题-你有什么问题?从GAL?@DmitryStreblechenko检索数千个条目的性能一家大公司的GAL中(在DAV服务器上)有500K个条目。我不允许从DAV服务器将所有500K条目加载到Outlook的本地数据库中。Outlook在Exchange上都不会执行此操作。它允许我在每次需要GAL提供的内容时查询Exchange server。它从不获取所有条目,但可以运行特定的搜索查询等。我需要执行相同的操作。在Outlook中创建GAL文件夹,这样当用户在GAL搜索字段中输入内容时,我会获取此字符串并将其发送到DAV服务器,该服务器将只返回与给定条件匹配的条目。这至少告诉我需要创建MAPI提供程序。这是一个开始。谢谢即使您有MAPI方面的经验,创建提供程序也远不是一个简单的下午项目……我理解。但现在我至少可以告诉客户他们有哪些选择。再次感谢。