0
votes

I have Outlook plugin (written with Visual C++) which syncs contacts with DAV server (which acts as a replacement to Exchange). Personal contacts are fine but I don't know how to mimic the behavior of Global Address List (GAL).

Ideally, I want to create GAL folder the user will be able to search just like how it happens when Outlook is connected to Exchange. Is it possible at all? Perhaps, it's not possible with Outlook Object Model but still possible with MAPI? Can anybody point me in the right direction on how to start?

I need to support Outlook 2007+ but supporting only the newest versions (for this particular functionality) is an option, too.

Originally, I just synced the entire GAL folder and made it read-only so that Outlook stored the local copy of the entire GAL. This does not work well when the GAL size stretches to thousands of records.

1
I am not sure I understand your question - what are you having problem with? The performance of retrieving thousands of entries from GAL?Dmitry Streblechenko
@DmitryStreblechenko A big company has, let's say, 500K entries in their GAL (on the DAV server). I'm not allowed to load all 500K entries from DAV server into Outlook's local db. Neither Outlook does this when on Exchange. It rather lets me query Exchange server each time when I need something from GAL. It never gets all entries but can run specific search queries, etc. I need to do the same. Create GAL folder in Outlook so when the user enters something in the GAL search field, I get this string and send it to the DAV server which will return me only entries matching the criteria given.Alex

1 Answers

1
votes

You cannot do that - the address book provider can tell Outlook to only allow searches and never display the actual contents of the container.

You cannot do that with an Outlook folder unless you create your own MAPI store provider: then you can return any data you want depending on what the user is doing.