Fournisseurs de services MAPI
S’applique à : Outlook 2013 | Outlook 2016
Il existe trois types courants de fournisseurs de services :
Fournisseurs de carnets d’adresses.
Fournisseurs de magasins de messages.
Fournisseurs de transport.
Les fournisseurs de carnet d’adresses et de magasin de messages présentent de nombreuses similitudes. Ils inscrivent un identificateur unique auprès de MAPI qu’ils utilisent pour construire des identificateurs d’entrée pour leurs objets. Ils fournissent une hiérarchie d’objets et de propriétés auxquels les clients peuvent accéder et manipuler. Pour leurs objets conteneur, ils prennent en charge une table de hiérarchie et une table de contenu. Ils prennent en charge la notification d’événements sur ces tables et éventuellement sur des objets individuels afin que les clients puissent être informés des modifications qui se produisent pendant la session. Lorsque les opérations deviennent longues, elles peuvent afficher un indicateur de progression pour informer l’utilisateur des status de l’opération. Les clients peuvent communiquer avec les fournisseurs de carnet d’adresses et de magasin de messages, soit indirectement via MAPI à l’aide des interfaces IAddrBook : IMAPIProp et IMAPISession : IUnknown , soit directement à l’aide de l’une des interfaces de fournisseur de services dans le tableau suivant.
Interfaces du fournisseur de carnet d’adresses | Interfaces du fournisseur de magasin de messages |
---|---|
IABContainer : IMAPIContainer |
IMsgStore : IMAPIProp |
IDistList : IMAPIContainer |
IMAPIFolder : IMAPIContainer |
IMailUser : IMAPIProp |
IMessage : IMAPIProp |
IAttach : IMAPIProp |
Les fournisseurs de transport diffèrent des fournisseurs de carnets d’adresses et de magasins de messages par leur façon de communiquer avec MAPI et avec les clients. Les fournisseurs de transport attendent généralement que MAPI les invite à entrer des informations au lieu de lancer la communication. Contrairement aux autres fournisseurs, les fournisseurs de transport ne prennent pas en charge une variété d’objets et de tables couramment accessibles par les clients. Toutefois, ils prennent en charge un objet status, comme tous les fournisseurs de services, et publient ses propriétés dans la table status. Alors que les fournisseurs de carnet d’adresses et de magasin de messages appellent la méthode IMAPISupport ::SetProviderUID pour inscrire des identificateurs uniques afin de construire leurs identificateurs d’entrée, les fournisseurs de transport appellent la méthode IXPLogon ::AddressTypes pour inscrire des identificateurs uniques, ainsi que des types d’adresses pour assumer la responsabilité de la remise de messages particuliers.
Votre fournisseur de services doit avoir trois fichiers d’en-tête : un fichier d’en-tête public et deux fichiers internes. Utilisez le fichier d’en-tête public pour la configuration et pour documenter les propriétés et leurs valeurs. Inclure dans l’un des fichiers d’en-tête internes tous les en-têtes MAPI publics nécessaires ; ce fichier d’en-tête doit être inclus dans tous les fichiers sources de votre fournisseur de services. Utilisez l’autre fichier interne pour définir des identificateurs de ressource.
Les fournisseurs de carnet d’adresses, de magasin de messages et de transport effectuent les tâches suivantes :
Fournissez une fonction de point d’entrée.
Fournissez un fournisseur et un objet d’ouverture de session pour gérer l’ouverture de session et l’initialisation.
Si le fournisseur appartient à un service de messagerie, fournissez une fonction de point d’entrée de service de message.
Prise en charge de la configuration en implémentant une feuille de propriétés.
Implémentez un objet status et prenez en charge la table status.
Gérer l’arrêt.