Comment faire pour ouvrir la section de profil global

Traductions disponibles Traductions disponibles
Numéro d'article: 188482 - Voir les produits auxquels s'applique cet article
Agrandir tout | Réduire tout

Sommaire

Résumé

Cet article fournit un code qui montre comment ouvrir la section de profil global et de récupérer une des propriétés qui existent dans cette section. Il fournit également une liste complète de propriétés qui existent dans la section de profil global. La touche pour cela consiste à demander la section de profil qui a pbGlobalProfileSectionGuid pour son identificateur unique. Il s'agit d'une constante définie dans le fichier EDKMDB.h.

Plus d'informations

Il peut être nécessaire récupérer ou modifier les valeurs des propriétés qui existent dans la section de profil global d'un profil MAPI (Messaging Application Programming Interface). Il existe une section du profil global pour chaque profil qui utilise le service de messagerie Microsoft Exchange. Cette «section globale» est utilisée pour stocker des données communes plus individuelles sections pour le fournisseur de transport, une seule banque fournisseur pour l'utilisateur, une seule banque fournisseur pour la banque de dossiers publics et une banque fournisseur pour chaque boîte aux lettres supplémentaire auquel l'utilisateur a accès délégué.

Le code suivant est un exemple de l'ouverture de la section de profil global d'un profil MAPI et en extraire la propriété PR_PROFILE_HOME_SERVER :

Exemple de code

   #include <objbase.h>
   #include <mapix.h>
   #include <mapidefs.h>
   #include <mapiguid.h>
   #include <edk.h>
   #include <edkmdb.h>


   HRESULT GetServerName()
   {
     HRESULT hRes = S_OK;   // HRESULT returned by this method
     LPPROFADMIN pAdminProfiles = NULL; // Pointer to IProfAdmin object
     LPSERVICEADMIN pSvcAdmin = NULL;  // Pointer to IServiceAdmin object
     LPPROFSECT pGlobalProfSect = NULL; // Pointer to IProfSect object
     LPSPropValue pProps = NULL; // Pointer to PropValue
                                // PR_PROFILE_HOME_SERVER
     char szServerName[256]; // String that will contain the server name
     // If your app doesn't already initialize the MAPI subsystem,
     // do it now.
     if ( FAILED ( hRes = MAPIInitialize ( NULL ) ) )
        return hRes;

     // Get a Profile admin object
     if ( FAILED ( hRes = MAPIAdminProfiles ( 0L, &pAdminProfiles ) ) )
        goto CleanUp;

     // Get a ServiceAdmin object
     if ( FAILED ( hRes = pAdminProfiles -> AdminServices (
                                           "<profile name>",
                                           NULL,
                                           0L,  // Your app's window handle
                                           0L,
                                           &pSvcAdmin ) ) )
       goto CleanUp;

      // Get the Global Profile Section by calling
      // IServiceAdmin::OpenProfileSection use pbGlobalProfileSectionGuid
      // defined in EDKMDB.H as the entry ID to request
      // The default return is an IProfSect interface.
      if ( FAILED ( hRes = pSvcAdmin -> OpenProfileSection (
                                  (LPMAPIUID)pbGlobalProfileSectionGuid,
                                  NULL,
                                  0L,
                                  &pGlobalProfSect ) ) )
         goto CleanUp;


      // Call HrGetOneProp to get PR_PROFILE_HOME_SERVER
      if ( FAILED ( hRes = HrGetOneProp ( pGlobalProfSect,
                                          PR_PROFILE_HOME_SERVER,
                                          &pProps ) ) )
         goto CleanUp;


      // Set Server name pointer to string equal to value returned from
      // HrGetOneProp
      strcpy ( szServerName, "PR_PROFILE_HOME_SERVER == " );
      strcat ( szServerName, pProps -> Value.lpszA );

      // Replace window handle param with your application's window handle
      MessageBox ( 0L, szServerName, "Exchange Server Name", MB_OK );

      CleanUp:

      // Free all memory allocated by any MAPI calls

      if ( NULL != pAdminProfiles )
         pAdminProfiles -> Release ();

      if ( NULL != pSvcAdmin )
         pSvcAdmin -> Release ( );

      if ( NULL != pGlobalProfSect )
         pGlobalProfSect -> Release ( );

      if ( NULL != pProps )
         MAPIFreeBuffer ( &pProps );

      pSvcAdmin = NULL;
      pGlobalProfSect = NULL;
      pProps = NULL;
      pAdminProfiles = NULL;

      // Return the HRESULT to the calling function
      return hRes;
      }
				
Remarque : Veillez à inclure les bibliothèques suivantes dans le processus de liaison :
Kernel32.lib, User32.lib, Msvcrt.lib, Mapi32.lib, Edkguid.lib, Edkdebug.lib Edkutils.lib, Edkmapi.lib.
Vous devez également activer l'option pour ignorer les bibliothèques par défaut dans les paramètres généraux du projet du processus de liaison. Pour ce faire, choisissez les paramètres dans le menu Projet, cliquez sur l'onglet lien, définissez la zone Catégorie pour général et à sélectionner l'option souhaitée.

Voici une liste des propriétés qui existent dans la section de profil global :
  • PR_PROFILE_VERSION
  • PR_PROFILE_CONFIG_FLAGS
  • PR_PROFILE_HOME_SERVER
  • PR_PROFILE_HOME_SERVER_DN
  • PR_PROFILE_HOME_SERVER_ADDRS
  • PR_PROFILE_USER
  • PR_PROFILE_CONNECT_FLAGS
  • PR_PROFILE_TRANSPORT_FLAGS
  • PR_PROFILE_UI_STATE
  • PR_PROFILE_UNRESOLVED_NAME
  • PR_PROFILE_UNRESOLVED_SERVER
  • PR_PROFILE_BINDING_ORDER
  • PR_PROFILE_MAX_RESTRICT
  • PR_PROFILE_AB_FILES_PATH
  • PR_PROFILE_OFFLINE_STORE_PATH
  • PR_PROFILE_OFFLINE_INFO
  • PR_PROFILE_ADDR_INFO
  • PR_PROFILE_OPTIONS_DATA
  • PR_PROFILE_SECURE_MAILBOX
  • PR_DISABLE_WINSOCK
Veuillez lire le Kit de développement logiciel de la plate-forme pour plus d'informations sur ces propriétés et d'autres.

Propriétés

Numéro d'article: 188482 - Dernière mise à jour: jeudi 18 août 2005 - Version: 2.5
Les informations contenues dans cet article s'appliquent au(x) produit(s) suivant(s):
  • Microsoft Office Outlook 2007
  • Microsoft Exchange Development Kit 5.5
  • Microsoft Exchange Development Kit 5.5
  • Microsoft Messaging Application Programming Interface
Mots-clés : 
kbmt kbapi kbhowto kbmsg KB188482 KbMtfr
Traduction automatique
IMPORTANT : Cet article est issu du système de traduction automatique mis au point par Microsoft (http://support.microsoft.com/gp/mtdetails). Un certain nombre d?articles obtenus par traduction automatique sont en effet mis à votre disposition en complément des articles traduits en langue française par des traducteurs professionnels. Cela vous permet d?avoir accès, dans votre propre langue, à l?ensemble des articles de la base de connaissances rédigés originellement en langue anglaise. Les articles traduits automatiquement ne sont pas toujours parfaits et peuvent comporter des erreurs de vocabulaire, de syntaxe ou de grammaire (probablement semblables aux erreurs que ferait une personne étrangère s?exprimant dans votre langue !). Néanmoins, mis à part ces imperfections, ces articles devraient suffire à vous orienter et à vous aider à résoudre votre problème. Microsoft s?efforce aussi continuellement de faire évoluer son système de traduction automatique.
La version anglaise de cet article est la suivante: 188482
L'INFORMATION CONTENUE DANS CE DOCUMENT EST FOURNIE PAR MICROSOFT SANS GARANTIE D'AUCUNE SORTE, EXPLICITE OU IMPLICITE. L'UTILISATEUR ASSUME LE RISQUE DE L'UTILISATION DU CONTENU DE CE DOCUMENT. CE DOCUMENT NE PEUT ETRE REVENDU OU CEDE EN ECHANGE D'UN QUELCONQUE PROFIT.

Envoyer des commentaires

 

Contact us for more help

Contact us for more help
Connect with Answer Desk for expert help.
Get more support from smallbusiness.support.microsoft.com