Partager via


Inscription des identificateurs uniques du fournisseur de services

S’applique à : Outlook 2013 | Outlook 2016

Les fournisseurs de carnet d’adresses, de magasin de messages et de transport utilisent un identificateur unique appelé MAPIUID pour s’inscrire auprès d’objets de service de différents types. Un MAPIUID est un identificateur de 16 octets qui contient un GUID. Vous pouvez créer un MAPIUID à l’aide de la procédure suivante :

  1. Définissez une constante.

  2. Appelez l’outil Visual Studio*Create GUID**.

Par exemple, un fournisseur de carnet d’adresses peut inclure la constante suivante dans un fichier d’en-tête pour définir un MAPIUID :

#define AB_UID_PROVIDER { 0Xe3, 0x3c, 0x67, 0xa0, \ 0xc8, 0x1f, 0x11, 0xce, \ 0xb2, 0xe4, 0x0, 0xaa, \ 0x0, 0x51, 0xe, 0x3b }

Pour inscrire un MAPIUID si votre fournisseur est un fournisseur de carnet d’adresses ou de magasin de messages

  1. Appelez IMAPISupport ::SetProviderUID.

  2. Inscrivez un MAPIUID pour chaque objet d’ouverture de session que vous instanciez et incluez ce MAPIUID dans les 16 premiers octets du membre ab de chaque identificateur d’entrée que vous créez. MAPI utilise des structures MAPIUID pour associer des objets à des fournisseurs de services. Lorsqu’un client appelle la méthode IMAPISession ::OpenEntry pour ouvrir un objet, MAPI examine la partie MAPIUID de l’identificateur d’entrée, en la faisant correspondre au MAPIUID inscrit, pour déterminer quel objet d’ouverture de session doit recevoir la demande ouverte.

  3. Si votre fournisseur est un transport, inscrivez une ou plusieurs structures MAPIUID lorsque MAPI appelle votre méthode IXPLogon ::AddressTypes . MAPI utilise les structures MAPIUID inscrites par les fournisseurs de transport pour attribuer la responsabilité de la remise des messages.

Bien que les fournisseurs de services inscrivent généralement un seul MAPIUID, vous pouvez inscrire plusieurs structures MAPIUID . Si votre fournisseur de carnet d’adresses ou de magasin de messages prend en charge plusieurs objets d’ouverture de session, peut-être en autorisant un utilisateur à ajouter plusieurs instance de votre fournisseur à son profil, vous souhaiterez peut-être implémenter un MAPIUID différent pour chaque objet d’ouverture de session. Il existe d’autres raisons de prendre en charge plusieurs MAPIUID :

  • Vous devez prendre en charge plusieurs versions de votre fournisseur et les identificateurs d’entrée doivent représenter la version appropriée. Affectez un MAPIUID différent pour chaque version.

  • Vous souhaitez faire la distinction entre les types d’objets que vous prenez en charge. Par exemple, un fournisseur de carnet d’adresses peut souhaiter inscrire un MAPIUID à utiliser dans les identificateurs d’entrée de ses objets utilisateur de messagerie et un AUTRE MAPIUID à utiliser pour les listes de distribution.

Quand plusieurs objets d’ouverture de session sont actifs simultanément, il est logique d’avoir des structures MAPIUID uniques pour chacun d’eux. Cela augmente la précision avec laquelle MAPI met en correspondance les identificateurs d’entrée aux fournisseurs de services et permet d’économiser du travail. Lorsque chaque objet d’ouverture de session a son propre identificateur unique, MAPI peut garantir que toute requête qu’il achemine vers un objet d’ouverture de session peut être gérée par cet objet. Lorsque les objets d’ouverture de session partagent des structures MAPIUID , MAPI achemine la requête vers le premier objet d’ouverture de session identifié par mapIUID. Si l’un de vos objets d’ouverture de session reçoit une requête qu’il ne peut pas traiter, car il ne gère pas l’identificateur d’entrée, transmettez la demande à votre objet d’ouverture de session suivant avant de renvoyer une erreur.

Voir aussi

Implémentation de l’ouverture de session du fournisseur de services