Partager via


Recherche d’un nom de profil

S’applique à : Outlook 2013 | Outlook 2016

Les clients doivent parfois trouver le nom du profil actuellement utilisé pour la session, le nom du profil par défaut ou le nom d’un autre profil installé sur l’ordinateur.

Il existe plusieurs façons de récupérer le nom d’un profil au cours d’une session. Si vous avez besoin de trouver le nom d’un profil qui n’est pas nécessairement celui utilisé pour la session, utilisez la première procédure. Si vous avez besoin de trouver le nom du profil par défaut, utilisez la deuxième procédure. Si vous avez besoin de trouver le nom du profil actuel pour la session, utilisez la dernière procédure.

Pour rechercher le nom d’un profil

  1. Appelez MAPIAdminProfiles pour récupérer un pointeur d’interface IProfAdmin .

  2. Appelez IProfAdmin ::GetProfileTable pour accéder à la table de profil.

  3. Appelez la méthode IMAPITable ::QueryRows de la table de profil pour récupérer toutes les lignes de la table et examinez-les pour déterminer si elles représentent votre profil cible.

Pour rechercher le nom du profil par défaut

  1. Appelez MAPIAdminProfiles.

  2. Appelez IProfAdmin ::GetProfileTable pour accéder à la table de profil.

  3. Générez une restriction de propriété avec une structure SPropertyRestriction pour faire correspondre PR_DEFAULT_PROFILE (PidTagDefaultProfile) avec la valeur TRUE.

  4. Appelez IMAPITable ::FindRow pour localiser la ligne dans la table de profils qui représente le profil par défaut. La colonne PR_DISPLAY_NAME (PidTagDisplayName) contient le nom du profil par défaut.

Pour rechercher le nom du profil actuel

Pour trouver le nom du profil actuel, effectuez l’une des étapes suivantes :

  • En supposant que vous disposez de la structure MAPIUID représentant l’une des sections du profil actuel, transmettez-la dans le paramètre lpUID à IMAPISession ::OpenProfileSection. Récupérez la propriété PR_PROFILE_NAME (PidTagProfileName) de la section de profil à l’aide de sa méthode IMAPIProp ::GetProps .

  • Appelez IMAPISession ::GetStatusTable pour accéder à la table status et rechercher la ligne dont la colonne PR_RESOURCE_TYPE (PidTagResourceType) est définie sur MAPI_SUBSYSTEM. La colonne PR_DISPLAY_NAME de cette ligne est le nom du profil. N’utilisez pas la table status au démarrage, car elle bloque une application jusqu’à ce que le spouleur MAPI ait terminé l’initialisation de tous les fournisseurs de transport. Cela peut dégrader vos performances.