Registrieren eindeutiger Bezeichner des Dienstanbieters
Gilt für: Outlook 2013 | Outlook 2016
Adressbuch-, Nachrichtenspeicher- und Transportanbieter verwenden einen eindeutigen Bezeichner, der als MAPIUID bezeichnet wird, um sich bei Dienstobjekten verschiedener Typen zu registrieren. Eine MAPIUID ist ein 16-Byte-Bezeichner, der eine GUID enthält. Sie können eine MAPIUID mit dem folgenden Verfahren erstellen:
Definieren Sie eine Konstante.
Rufen Sie das Visual Studio*Create GUID**-Tool auf.
Beispielsweise kann ein Adressbuchanbieter die folgende Konstante in eine Headerdatei einschließen, um eine MAPIUID zu definieren:
#define AB_UID_PROVIDER { 0Xe3, 0x3c, 0x67, 0xa0, \ 0xc8, 0x1f, 0x11, 0xce, \ 0xb2, 0xe4, 0x0, 0xaa, \ 0x0, 0x51, 0xe, 0x3b }
So registrieren Sie eine MAPIUID, wenn Ihr Anbieter ein Adressbuch- oder Nachrichtenspeicheranbieter ist
Rufen Sie IMAPISupport::SetProviderUID auf.
Registrieren Sie eine MAPIUID für jedes Anmeldeobjekt, das Sie instanziieren, und fügen Sie diese MAPIUID in die ersten 16 Byte des ab-Elements jedes Eintragsbezeichners ein, den Sie erstellen. MAPI verwendet MAPIUID-Strukturen , um Dienstanbietern Objekte zuzuordnen. Wenn ein Client die IMAPISession::OpenEntry-Methode aufruft, um ein Objekt zu öffnen, untersucht MAPI den MAPIUID-Teil des Eintragsbezeichners und vergleicht ihn mit der registrierten MAPIUID, um zu bestimmen, welches Anmeldeobjekt die offene Anforderung empfangen soll.
Wenn es sich bei Ihrem Anbieter um einen Transport handelt, registrieren Sie eine oder mehrere MAPIUID-Strukturen , wenn MAPI Ihre IXPLogon::AddressTypes-Methode aufruft . MAPI verwendet die von Transportanbietern registrierten MAPIUID-Strukturen , um die Verantwortung für die Nachrichtenübermittlung zuzuweisen.
Obwohl Dienstanbieter in der Regel eine einzelne MAPIUID registrieren, können Sie mehrere MAPIUID-Strukturen registrieren. Wenn Ihr Adressbuch- oder Nachrichtenspeicheranbieter mehrere Anmeldeobjekte unterstützt, z. B. indem sie einem Benutzer das Hinzufügen mehrerer instance Ihres Anbieters zu ihrem Profil erlauben, sollten Sie für jedes Anmeldeobjekt eine andere MAPIUID implementieren. Es gibt noch einige andere Gründe, mehr als eine MAPIUID zu unterstützen:
Sie müssen mehr als eine Version Ihres Anbieters unterstützen, und die Eintragsbezeichner müssen die entsprechende Version darstellen. Weisen Sie für jede Version eine andere MAPIUID zu.
Sie möchten zwischen den Typen von Objekten unterscheiden, die Sie unterstützen. Beispielsweise kann ein Adressbuchanbieter eine MAPIUID registrieren, die in den Eintragsbezeichnern seiner Messagingbenutzerobjekte verwendet werden soll, und eine andere MAPIUID , die für Verteilerlisten verwendet werden soll.
Wenn mehrere Anmeldeobjekte gleichzeitig aktiv sind, ist es sinnvoll, für jedes Einzelne eindeutige MAPIUID-Strukturen zu verwenden. Dies erhöht die Genauigkeit, mit der MAPI Eintragsbezeichner mit Dienstanbietern abgleicht, und spart einige Arbeit. Wenn jedes Anmeldeobjekt über einen eigenen eindeutigen Bezeichner verfügt, kann MAPI garantieren, dass jede Anforderung, die an ein Anmeldeobjekt weitergeleitet wird, von diesem Objekt verarbeitet werden kann. Wenn Anmeldeobjekte MAPIUID-Strukturen gemeinsam nutzen, leitet MAPI die Anforderung an das erste Anmeldeobjekt weiter, das durch die MAPIUID identifiziert wird. Wenn eines Ihrer Anmeldeobjekte eine Anforderung empfängt, die nicht verarbeitet werden kann, weil es den Eintragsbezeichner nicht verarbeitet, übergeben Sie die Anforderung an Ihr nächstes Anmeldeobjekt, bevor ein Fehler zurückgegeben wird.