Dieser Artikel wurde maschinell übersetzt. Wenn Sie die englische Version des Artikels anzeigen möchten, aktivieren Sie das Kontrollkästchen Englisch. Sie können den englischen Text auch in einem Popupfenster anzeigen, indem Sie den Mauszeiger über den Text bewegen.
Übersetzung
Englisch

Vorgehensweise: Wählen Sie eine bestimmte Version von MAPI zu laden

Office 2013 und höher

Letzte Änderung:Montag, 9. März 2015

Gilt für:Outlook

Beim explizit auf eine Implementierung der MAPI zu verknüpfen, müssen Sie die Implementierung geladen werden sorgfältig auswählen.

Es gibt zwei Methoden zum expliziten eine Implementierung von MAPI verknüpfen.

  1. Sie können die MAPI-Stub-Bibliothek laden und geben Sie in der Registrierung, die eine benutzerdefinierte DLL zum Laden und Versenden von MAPI aufgerufen.

  2. Sie können den MAPI-Client-Lookup-Algorithmus zum Nachschlagen von der Version von MAPI, die von der standardmäßige e-Mail-Client verwendet implementieren und laden.

Da Sie die Mapi32.dll Stub Registrierungseinstellungen , um die Anwendung für jede Implementierung von MAPI zu leiten ändern können, wird empfohlen, dass Sie die Anwendung, eine Implementierung von MAPI verwenden, die Sie mit getestet haben direkte. Im folgenden werden die beiden Methoden explizit verknüpfen beschrieben.

MAPI-Implementierungsinformationen aus der Registrierung lesen

  1. Die Registrierungsschlüssel, die eine benutzerdefinierte DLL für e-Mail-Client angeben, befinden sich unter dem Schlüssel HKLM\Software\Clients\Mail des e-Mail-Clients.

    In der folgenden Tabelle werden diese Schlüssel beschrieben:

    Taste

    Description

    MSIComponentID

    Ruft auf eine Windows Installer PublishComponent Kategorie-ID (GUID), die die DLL identifiziert, die simple MAPI-als auch die MAPI exportiert. Wenn dieser Schlüssel festlegen, Vorrang vor den Schlüssel DLLPath oder DLLPathEx hat.

    MSIApplicationLCID

    Gebietsschema-ID (LCID) für Ihre Anwendung. Die erste Zeichenfolge Wert identifiziert einen Unterschlüssel aus HKLM\Software und nachfolgende Zeichenfolgenwerte identifizieren Registrierungswerte unter diesem Schlüssel, die Gebietsschemainformationen enthalten.

    MSIOfficeLCID

    LCIDs für Microsoft Office. Die erste Zeichenfolge Wert identifiziert einen Unterschlüssel aus HKLM\Software und nachfolgende Zeichenfolgenwerte Registrierungswerte unter diesem Schlüssel zu identifizieren.

    Rufen Sie die Informationen aus dieser Schlüssel.

  2. Pass the values that you obtained from the previous step to the FGetComponentPath function. FGetComponentPath is a function that is exported by the MAPI stub library Mapistub.dll. It returns the path of the custom version of MAPI.

Laden Sie die Implementierung der MAPI als Standard markiert

  1. Lesen Sie den Registrierungswert HKLM\Software\Clients\Mail::(default) .

  2. Suchen Sie die Informationen für den angegebenen Client wie oben beschrieben.

Hinweis Hinweis

Beachten Sie, dass der Standard-Mailclient Extended MAPI nicht implementiert werden kann.

Beispiel

Um MAPI gemäß der Implementierung von Outlook zu laden, die Registrierungsschlüssel unter HKLM\Software\Clients\Mail\Microsoft Outlook nachschlagen Sie und an FGetComponentPathübergeben Sie werden. FGetComponentPath gibt den Pfad für die Implementierung von Outlook MAPI-zurück.

Wenn der Schlüssel MSIComponentID, MSIApplicationLCIDund MSIOfficeLCID nicht festgelegt werden, überprüfen Sie den Registrierungswert DLLPathEx . Wenn der Schlüssel festgelegt sind, gibt FGetComponentPath den Pfad der Client-Implementierung von MAPI.

Die folgende Tabelle enthält die vier Funktionen von MFCMAPI (engl.), die zum Nachschlagen von den Pfad für eine benutzerdefinierte Implementierung der MAPI verwendet werden:

Funktion

Beschreibung

GetMAPIPath

Ruft den Pfad der MAPI-Bibliothek.

GetMailKey

Ruft den MAPI-Mail-Registrierungsschlüssel ab.

GetMapiMsiIds

Ruft die Windows Installer-ID ab.

GetComponentPath

Gets the component path using FGetComponentPath.

Da MFCMAPI (engl.) die Standardimplementierung der MAPI-standardmäßig geladen wird, wenn Sie eine andere Implementierung von MAPI verwenden möchten, müssen Sie dies explizit anweisen. Dies erfolgt mithilfe der Session\Load MAPI -Routine.

Die folgenden Schritte beschreiben, wie diese Funktionen funktionieren:

  1. MFCMAPI (engl.) Ruft GetMAPIPath, übergeben NULL für den Clientparameter, um die standardmäßige MAPI-Implementierung zu laden.

  2. GetMAPIPath ruft GetMapiMsiIds , um die Werte für MSIComponentID, MSIApplicationLCIDund MSIOfficeLCIDzu lesen.

  3. GetMapiMsiIds ruft GetMailKey , um den Registrierungsschlüssel für den Standard-Mail-Client zu öffnen.

  4. GetMapiMsiIds verwendet das Registrierung Handle GetMailKey zurückgegebene Werte für MSIComponentID, MSIApplicationLCIDund MSIOfficeLCIDnachzuschlagen.

  5. Die Werte für MSIComponentID, MSIApplicationLCIDund MSIOfficeLCID, werden an GetMAPIPathzurückgegeben. GetMAPIPath übergibt diese anschließend an GetComponentPath.

  6. GetComponentPath lädt die MAPI-Stub-Bibliothek Mapi32.dll, aus dem Verzeichnis des Systems.

  7. GetComponentPath ruft dann die Adresse der Funktion FGetComponentPath aus Mapi32.dll, vorausgesetzt, dass Mapi32.dll FGetComponentPathexportiert.

  8. Wenn die Adresse des FGetComponentPath von Mapi32.dll fehlschlägt, ruft GetComponentPath die Adresse aus Mapistub.dll.

  9. Anschließend ruft GetComponentPathFGetComponentPath, um den Pfad des die Standardversion des MAPI.

  10. GetMAPIPath then returns this path to the caller, which then loads MAPI and explicitly links to it as described in Vorgehensweise: Link zu MAPI-Funktionen.

  • Zur Unterstützung der lokalisierter Kopien der MAPI für Englisch und nicht-englischen Gebietsschemas liest GetMAPIPath die Werte für die Unterschlüssel MSIApplicationLCID und MSIOfficeLCID . Anschließend ruft GetMAPIPathFGetComponentPath, zuerst MSIApplicationLCID als szQualifierangeben und erneut MSIOfficeLCID als szQualifierangeben.

    Weitere Informationen zu Registrierungsschlüsseln für e-Mail-Clients, die nicht-englischen Sprachen unterstützen, finden Sie unter Einstellung der MSI-Schlüssel für der MAPI-DLL.

  • Wenn MFCMAPI (engl.) keinen Pfad für die MAPI mit GetMAPIPatherhalten, wird die MAPI-Stub-Bibliothek aus dem Verzeichnis des Systems geladen.

  • Der MSMapiApps Registrierungswert in Explizit Zuordnen von MAPI-Aufrufe zu MAPI-DLLs erläuterten gilt nur, wenn die MAPI-Stub-Bibliothek verwendet wird. Anwendungen, die eine bestimmte Implementierung der MAPI laden oder laden die standardmäßige Implementierung müssen nicht den MSMapiApps Registrierungsschlüssel festgelegt.

Anzeigen: