Gewusst wie: globale Benutzerprofilabschnitts öffnen

SPRACHE AUSWÄHLEN SPRACHE AUSWÄHLEN
Artikel-ID: 188482 - Produkte anzeigen, auf die sich dieser Artikel bezieht
Alles erweitern | Alles schließen

Auf dieser Seite

Zusammenfassung

Dieser Artikel enthält Code, der veranschaulicht, wie globale Benutzerprofilabschnitts öffnen und rufen eine der Eigenschaften, die in diesem Abschnitt vorhanden. Darüber hinaus eine umfassende Liste der Eigenschaften, die im Abschnitt globale Profile vorhanden sind. Der Schlüssel dazu ist der Profilabschnitt anfordern, die PbGlobalProfileSectionGuid für den eindeutigen Bezeichner verfügt. Dies ist eine Konstante, die in der Edkmdb.h-Datei definiert ist.

Weitere Informationen

Sie müssen möglicherweise zum Abrufen oder ändern die Werte der Eigenschaften, die in der globalen Benutzerprofilabschnitts eines Profils MAPI (Messaging Application Programming Interface) vorhanden sind. Globale Profilabschnitt existiert für jedes Profil, das den Microsoft Exchange-Messaging-Dienst verwendet. Diese "globale Abschnitt" wird zum Speichern allgemeiner Daten plus einzelne Abschnitte für Transportanbieter, einen Anbieter für den Benutzer, einen Anbieter für den öffentlichen Informationsspeicher und einen Anbieter für jedes zusätzliche Postfach auf dem der Benutzer Zugriffsrechte für Stellvertretung hat.

Der folgende Code ist ein Beispiel von globalen Benutzerprofilabschnitts mit einem MAPI-Profil öffnen und die PR_PROFILE_HOME_SERVER-Eigenschaft extrahieren:

Beispielcode

   #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;
      }
				
Hinweis: Achten Sie die folgenden Bibliotheken in der Verknüpfung-Prozess aufnehmen:
Kernel32.lib, User32.lib, MSVCRT.lib, Mapi32.lib, Edkguid.lib, Edkutils.lib, Edkmapi.lib, Edkdebug.lib.
Außerdem müssen Sie die Option zum ignorieren Standardbibliotheken in den allgemeinen Projekteinstellungen des Prozesses Link überprüfen. Dazu, im Menü Projekt Einstellungen auswählen, klicken Sie auf die Registerkarte Verbindung, festgelegt im Feld Kategorie auf Allgemein und als Wählen Sie die gewünschte Option.

Der folgende Code ist eine Liste der Eigenschaften, die in der globalen Benutzerprofilabschnitts vorhanden sind:
  • 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
Bitte lesen Sie im Platform Software Developers Kit Weitere Informationen über diese und andere Eigenschaften.

Eigenschaften

Artikel-ID: 188482 - Geändert am: Donnerstag, 18. August 2005 - Version: 2.5
Die Informationen in diesem Artikel beziehen sich auf:
  • Microsoft Office Outlook 2007
  • Microsoft Exchange Development Kit 5.5
  • Microsoft Exchange Development Kit 5.5
  • Microsoft Messaging Application Programming Interface
Keywords: 
kbmt kbapi kbhowto kbmsg KB188482 KbMtde
Maschinell übersetzter Artikel
Wichtig: Dieser Artikel wurde maschinell und nicht von einem Menschen übersetzt. Die Microsoft Knowledge Base ist sehr umfangreich und ihre Inhalte werden ständig ergänzt beziehungsweise überarbeitet. Um Ihnen dennoch alle Inhalte auf Deutsch anbieten zu können, werden viele Artikel nicht von Menschen, sondern von Übersetzungsprogrammen übersetzt, die kontinuierlich optimiert werden. Doch noch sind maschinell übersetzte Texte in der Regel nicht perfekt, insbesondere hinsichtlich Grammatik und des Einsatzes von Fremdwörtern sowie Fachbegriffen. Microsoft übernimmt keine Gewähr für die sprachliche Qualität oder die technische Richtigkeit der Übersetzungen und ist nicht für Probleme haftbar, die direkt oder indirekt durch Übersetzungsfehler oder die Verwendung der übersetzten Inhalte durch Kunden entstehen könnten.
Den englischen Originalartikel können Sie über folgenden Link abrufen: 188482
Microsoft stellt Ihnen die in der Knowledge Base angebotenen Artikel und Informationen als Service-Leistung zur Verfügung. Microsoft übernimmt keinerlei Gewährleistung dafür, dass die angebotenen Artikel und Informationen auch in Ihrer Einsatzumgebung die erwünschten Ergebnisse erzielen. Die Entscheidung darüber, ob und in welcher Form Sie die angebotenen Artikel und Informationen nutzen, liegt daher allein bei Ihnen. Mit Ausnahme der gesetzlichen Haftung für Vorsatz ist jede Haftung von Microsoft im Zusammenhang mit Ihrer Nutzung dieser Artikel oder Informationen ausgeschlossen.

Ihr Feedback an uns

 

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