2017-05-30 2 views
0

Ich habe Outlook-Plugin (geschrieben mit Visual C++), die Kontakte mit DAV-Server synchronisiert (die als Ersatz für Exchange fungiert). Persönliche Kontakte sind in Ordnung, aber ich weiß nicht, wie man das Verhalten der globalen Adressliste (GAL) nachahmt.Wie den globalen Adresslistenordner in Outlook programmgesteuert erstellen?

Idealerweise möchte ich einen GAL-Ordner erstellen, in dem der Benutzer genau so suchen kann, wie es passiert, wenn Outlook mit Exchange verbunden ist. Ist es überhaupt möglich? Vielleicht ist es mit Outlook Object Model nicht möglich, aber mit MAPI noch möglich? Kann mir jemand in die richtige Richtung zeigen, wie ich anfangen soll?

Ich muss Outlook 2007+ unterstützen, aber nur die neuesten Versionen (für diese spezielle Funktionalität) zu unterstützen, ist ebenfalls eine Option.

Ursprünglich habe ich nur den gesamten GAL-Ordner synchronisiert und schreibgeschützt gemacht, damit Outlook die lokale Kopie der gesamten GAL speichert. Dies funktioniert nicht gut, wenn sich die GAL-Größe zu Tausenden von Datensätzen erstreckt.

+0

Ich bin mir nicht sicher, ob ich Ihre Frage verstehe - womit haben Sie ein Problem? Die Leistung beim Abrufen von Tausenden von Einträgen aus GAL? –

+0

@DmitryStreblechenko Eine große Firma hat, sagen wir, 500K Einträge in ihrer GAL (auf dem DAV-Server). Ich darf nicht alle 500K Einträge vom DAV-Server in die lokale db von Outlook laden. Weder Outlook tut dies bei Exchange. Es lässt mich jedes Mal Exchange-Server abfragen, wenn ich etwas von GAL brauche. Es bekommt nie alle Einträge, kann aber bestimmte Suchanfragen ausführen usw. Ich muss dasselbe tun. Erstellen Sie den GAL-Ordner in Outlook. Wenn der Benutzer also etwas in das GAL-Suchfeld eingibt, erhalte ich diese Zeichenfolge und sende sie an den DAV-Server, der mir nur Einträge zurückgibt, die den angegebenen Kriterien entsprechen. – Alex

Antwort

1

Sie können das nicht tun - der Adressbuch-Anbieter kann Outlook anweisen, nur Suchvorgänge zuzulassen und den tatsächlichen Inhalt des Containers nie anzuzeigen.

Sie können das nicht mit einem Outlook-Ordner tun, wenn Sie nicht Ihren eigenen MAPI-Speicheranbieter erstellen: Sie können dann alle gewünschten Daten zurückgeben, je nachdem, was der Benutzer gerade macht.

+0

Nun, das sagt mir zumindest, dass ich einen MAPI-Provider erstellen muss. Das ist ein Anfang. Vielen Dank! – Alex

+0

Auch wenn Sie irgendeine Erfahrung mit MAPI hatten, ist das Erstellen eines Anbieters weit von einem schnellen Nachmittagsprojekt entfernt ... –

+0

Ich verstehe. Aber jetzt kann ich dem Kunden zumindest sagen, welche Optionen er hat. Danke noch einmal. – Alex

Verwandte Themen