Tables de fournisseurs
S’applique à : Outlook 2013 | Outlook 2016
Une table de fournisseurs contient des informations sur les fournisseurs de services. Il existe deux tables de fournisseurs différentes, toutes deux implémentées par MAPI et utilisées par les clients. La première table, accessible en appelant la méthode IMsgServiceAdmin ::GetProviderTable , contient des informations sur tous les fournisseurs du profil actuel. La deuxième table, accessible via IProviderAdmin ::GetProviderTable, crée une table qui stocke des informations sur tous les fournisseurs de services pour un service de messagerie.
Ces deux tables présentent une autre différence. La table de fournisseurs disponible via IMsgServiceAdmin ::GetProviderTable contient uniquement des lignes qui représentent des fournisseurs de services, tandis que la table disponible via IProviderAdmin ::GetProviderTable peut inclure des lignes qui représentent des informations supplémentaires associées à un fournisseur de services. Ces informations supplémentaires sont ajoutées au profil avec les mot clé « Sections » de MAPISVC.INF. Lorsqu’un fournisseur a des sections de profil supplémentaires, il stocke les valeurs MAPIUID pour ces sections dans la propriété PR_SERVICE_EXTRA_UIDS (PidTagServiceExtraUids). PR_SERVICE_EXTRA_UIDS est enregistré dans la section profil de service de messagerie.
Les propriétés suivantes composent l’ensemble de colonnes requis dans les deux types de tables de fournisseur :
Propriété | Valeur |
---|---|
PR_INSTANCE_KEY (PidTagInstanceKey) |
PR_DISPLAY_NAME (PidTagDisplayName) |
PR_PROVIDER_DISPLAY (PidTagProviderDisplay) |
PR_PROVIDER_DLL_NAME (PidTagProviderDllName) |
PR_PROVIDER_ORDINAL (PidTagProviderOrdinal) |
PR_PROVIDER_UID (PidTagProviderUid) |
PR_RESOURCE_FLAGS (PidTagResourceFlags) |
PR_RESOURCE_TYPE (PidTagResourceType) |
PR_SERVICE_NAME (PidTagServiceName) |
PR_SERVICE_UID (PidTagServiceUid) |
La table du fournisseur peut être utilisée pour afficher l’ordre de transport actuel ou pour le modifier. Pour afficher l’ordre actuel, créez une restriction pour récupérer uniquement ces lignes avec la propriété PR_RESOURCE_TYPE définie sur MAPI_TRANSPORT_PROVIDER. Utilisez ensuite PR_PROVIDER_ORDINAL comme clé de tri pour trier la table et récupérer toutes les lignes à l’aide de la méthode IMAPITable ::QueryRows ou de la fonction HrQueryAllRows .
Pour modifier l’ordre de transport, appliquez la même restriction et récupérez les lignes. Créez ensuite un tableau de valeurs à partir de la propriété PR_PROVIDER_UID qui représente les identificateurs uniques des fournisseurs de transport. Lorsque les identificateurs sont dans l’ordre souhaité, transmettez-les à la méthode IMsgServiceAdmin ::MsgServiceTransportOrder .
Une fois qu’une table de fournisseur a été mise à disposition, elle ne reflète pas les modifications suivantes, telles que l’ajout ou la suppression d’un fournisseur.