2017-05-30 8 views
0

J'ai un plugin Outlook (écrit avec Visual C++) qui synchronise les contacts avec le serveur DAV (qui remplace Exchange). Les contacts personnels sont bien, mais je ne sais pas comment imiter le comportement de la liste d'adresses globale (GAL).Comment créer un dossier Liste d'adresses globale dans Outlook par programme?

Idéalement, je veux créer un dossier GAL, l'utilisateur sera capable de rechercher exactement comment cela se passe lorsque Outlook est connecté à Exchange. Est-ce possible? Peut-être, ce n'est pas possible avec Outlook Object Model mais encore possible avec MAPI? Quelqu'un peut-il me diriger dans la bonne direction sur la façon de commencer?

Je dois prendre en charge Outlook 2007+, mais la prise en charge des versions les plus récentes (pour cette fonctionnalité particulière) est également une option.

A l'origine, je ne faisais que synchroniser tout le dossier GAL et le rendait en lecture seule afin qu'Outlook stocke la copie locale de la totalité de la liste d'adresses globale. Cela ne fonctionne pas bien lorsque la taille de la liste d'adresses globale s'étend à des milliers d'enregistrements.

+0

Je ne suis pas sûr de comprendre votre question - qu'est-ce qui vous pose problème? La performance de récupérer des milliers d'entrées de GAL? –

+0

@DmitryStreblechenko Une grande entreprise a, disons, 500K entrées dans leur liste d'adresses globale (sur le serveur DAV). Je ne suis pas autorisé à charger toutes les entrées 500K du serveur DAV dans la base de données locale d'Outlook. Outlook ne le fait pas sur Exchange. Il me permet plutôt d'interroger le serveur Exchange chaque fois que j'ai besoin de quelque chose de GAL. Il ne reçoit jamais toutes les entrées mais peut exécuter des requêtes de recherche spécifiques, etc. Je dois faire la même chose. Créer un dossier GAL dans Outlook alors quand l'utilisateur entre quelque chose dans le champ de recherche de la liste d'adresses globale, j'obtiens cette chaîne et l'envoie au serveur DAV qui me renverra seulement les entrées correspondant aux critères donnés. – Alex

Répondre

1

Vous ne pouvez pas faire cela - le fournisseur de carnet d'adresses peut demander à Outlook d'autoriser uniquement les recherches et n'afficher jamais le contenu réel du conteneur.

Vous ne pouvez pas faire cela avec un dossier Outlook à moins que vous ne créiez votre propre fournisseur de magasin MAPI: vous pouvez alors retourner toutes les données que vous voulez en fonction de ce que fait l'utilisateur.

+0

Eh bien, cela me dit au moins que je dois créer un fournisseur MAPI. C'est un début. Merci! – Alex

+0

Même si vous avez eu une expérience avec MAPI, la création d'un fournisseur est loin d'être un projet d'après-midi rapide ... –

+0

Je comprends. Mais maintenant, je peux au moins dire au client quelles options ils ont. Merci encore. – Alex