Partager via


IMsgServiceAdmin::GetProviderTable

S’applique à : Outlook 2013 | Outlook 2016

Fournit l’accès à la table du fournisseur, une liste des fournisseurs de services dans le profil.

HRESULT GetProviderTable(
  ULONG ulFlags,
  LPMAPITABLE FAR * lppTable
);

Paramètres

ulFlags

[in] Toujours NULL.

lppTable

[out] Pointeur vers un pointeur vers la table du fournisseur.

Valeur renvoyée

S_OK

La table du fournisseur a été retournée avec succès.

Remarques

La méthode IMsgServiceAdmin ::GetProviderTable permet d’accéder à la table du fournisseur MAPI, une table qui répertorie tous les fournisseurs de carnet d’adresses, de magasin de messages et de transport actuellement installés dans le profil.

Contrairement à la table de fournisseur retournée par le biais de la méthode IProviderAdmin ::GetProviderTable , la table de fournisseur retournée par le biais de IMsgServiceAdmin ::GetProviderTable ne peut pas inclure de lignes supplémentaires qui représentent des informations associées à un ou plusieurs fournisseurs de services dans le profil.

Les fournisseurs qui ont été supprimés ou qui sont en cours d’utilisation, mais qui ont été marqués pour suppression, ne sont pas inclus dans la table des fournisseurs. Les tables de fournisseur sont statiques, ce qui signifie que les ajouts ou suppressions ultérieurs du profil ne sont pas répercutés dans la table.

Si le profil n’a pas de fournisseur, GetProviderTable retourne une table avec zéro ligne et la valeur de retour S_OK.

Pour obtenir la liste complète des colonnes dans la table du fournisseur, consultez Table des fournisseurs.

Remarques pour les appelants

Pour récupérer les lignes d’une table de fournisseur dans l’ordre de transport, procédez comme suit :

  1. Appelez la méthode IMAPITable ::Restrict pour imposer une restriction de propriété qui correspond à la propriété PR_RESOURCE_TYPE (PidTagResourceType) avec MAPI_TRANSPORT_PROVIDER.

  2. Appelez la méthode IMAPITable ::SortTable pour trier la table en fonction de la colonne PR_PROVIDER_ORDINAL (PidTagProviderOrdinal).

  3. Appelez la méthode IMAPITable ::QueryRows pour obtenir les lignes de la table.

Une alternative à ces appels consiste à effectuer un seul appel à la fonction HrQueryAllRows avec toutes les structures de données appropriées passées.

Si vous récupérez les colonnes PR_SERVICE_UID (PidTagServiceUid) dans chacune des lignes, vous pouvez utiliser ce tableau de structures MAPIUID pour définir l’ordre de transport dans un appel à IMsgServiceAdmin ::MsgServiceTransportOrder.

La définition de l’indicateur MAPI_UNICODE dans le paramètre ulFlags effectue les opérations suivantes :

  • Définit le type de chaîne sur Unicode pour les données retournées pour les colonnes actives initiales de la table provider par la méthode IMAPITable ::QueryColumns . Les colonnes actives initiales d’une table de fournisseur sont celles que la méthode QueryColumns retourne avant que le fournisseur qui contient la table appelle la méthode IMAPITable ::SetColumns .

  • Définit le type de chaîne sur Unicode pour les données retournées pour les lignes actives initiales de la table provider par QueryRows. Les lignes actives initiales d’une table de fournisseur sont les lignes retournées par QueryRows avant que le fournisseur qui contient la table appelle SetColumns.

  • Contrôle les types de propriétés de l’ordre de tri retourné par la méthode IMAPITable ::QuerySortOrder avant que le client qui contient la table du fournisseur appelle la méthode IMAPITable ::SortTable .

Voir aussi

IMsgServiceAdmin::GetMsgServiceTable

IMsgServiceAdmin::MsgServiceTransportOrder

IProviderAdmin::GetProviderTable

IMsgServiceAdmin : IUnknown