IProviderAdmin::GetProviderTable
S’applique à : Outlook 2013 | Outlook 2016
Fournit l’accès à la table du fournisseur du service de messagerie, une liste des fournisseurs de services dans le service de messagerie.
HRESULT GetProviderTable(
ULONG ulFlags,
LPMAPITABLE FAR * lppTable
);
Paramètres
ulFlags
[in] Masque de bits d’indicateurs qui contrôle le type des chaînes retournées dans les colonnes de la table de fournisseur. L’indicateur suivant peut être défini :
MAPI_UNICODE
Les colonnes de chaîne sont au format Unicode. Si l’indicateur MAPI_UNICODE n’est pas défini, les colonnes sont au format ANSI.
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 IProviderAdmin ::GetProviderTable récupère un pointeur vers la table du fournisseur du service de message, une table que MAPI gère et qui contient des informations sur chaque fournisseur de services dans le service de messagerie.
Contrairement à la table de fournisseurs retournée par la méthode IMsgServiceAdmin ::GetProviderTable , la table du fournisseur retournée par IProviderAdmin ::GetProviderTable peut inclure des lignes supplémentaires qui représentent des informations associées à un ou plusieurs fournisseurs de services dans le service de messagerie. Ces informations supplémentaires sont ajoutées au profil avec le mot clé « Sections » du fichier Mapisvc.inf. Lorsqu’un fournisseur a des sections de profil supplémentaires, il stocke les structures 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 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 service de message ne sont pas répercutés dans la table.
Si le service de message n’a pas de fournisseur, IProviderAdmin ::GetProviderTable retourne une table avec zéro ligne et la valeur de retour S_OK.
La définition de l’indicateur MAPI_UNICODE dans le paramètre ulFlags affecte le format des colonnes retournées par les méthodes IMAPITable ::QueryColumns et IMAPITable ::QueryRows .
Cet indicateur contrôle également les types de propriétés dans l’ordre de tri retourné par la méthode IMAPITable ::QuerySortOrder .
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, triez la table en fonction de la colonne PR_PROVIDER_ORDINAL (PidTagProviderOrdinal).
Pour récupérer uniquement les lignes qui représentent des fournisseurs de services (sans inclure de lignes supplémentaires), limitez votre récupération aux lignes dont la valeur est PT_ERROR dans leur colonne PR_RESOURCE_TYPE (PidTagResourceType).
Référence MFCMAPI
Pour voir un exemple de code MFCMAPI, consultez le tableau suivant.
Fichier | Fonction | Commentaire |
---|---|---|
MsgServiceTableDlg.cpp |
CMsgServiceTableDlg ::OnDisplayItem |
MFCMAPI utilise la méthode IProviderAdmin ::GetProviderTable pour obtenir la table des fournisseurs à afficher dans une nouvelle boîte de dialogue. |