如何以编程方式在Outlook中创建全局地址列表文件夹?
问题描述:
我有Outlook插件(用Visual C++编写)与DAV服务器(它充当Exchange的替代品)同步联系人。个人联系人很好,但我不知道如何模仿全球通讯簿(GAL)的行为。如何以编程方式在Outlook中创建全局地址列表文件夹?
理想情况下,我想要创建GAL文件夹,用户将能够搜索就像Outlook连接到Exchange时发生的情况一样。它有可能吗?也许,使用Outlook对象模型是不可能的,但MAPI仍然可行?任何人都可以指引我如何开始正确的方向?
我需要支持Outlook 2007+,但只支持最新版本(对于此特定功能)也是一种选择。
最初,我只是同步整个GAL文件夹,并使其成为只读,以便Outlook存储整个GAL的本地副本。当GAL大小延伸到数千条记录时,这不起作用。
我不知道我理解你的问题 - 你有什么问题?从GAL中检索数千个条目的性能? –
@DmitryStreblechenko一家大公司在他们的GAL(在DAV服务器上)有500K个条目。我不允许将DAV服务器中的所有500K条目加载到Outlook的本地数据库中。在Exchange上,Outlook都不这样做。每当我需要GAL的东西时,它就会让我查询Exchange服务器。它从来没有得到所有的条目,但可以运行特定的搜索查询等我需要做同样的事情。在Outlook中创建GAL文件夹,以便当用户在GAL搜索字段中输入内容时,我会得到该字符串并将其发送给DAV服务器,该服务器将只返回符合给定条件的条目。 – Alex