Abrufen der primären Identität und der Anbieteridentität
Gilt für: Outlook 2013 | Outlook 2016
Dienstanbieter, in der Regel Adressbuchanbieter, haben die Möglichkeit, eine Identität anzugeben, die verwendet werden kann, um die Sitzung in einer Vielzahl von Situationen darzustellen. Drei Eigenschaften beschreiben die Identität eines Anbieters:
PR_IDENTITY_ENTRYID (PidTagIdentityEntryId)
PR_IDENTITY_DISPLAY (PidTagIdentityDisplay)
PR_IDENTITY_SEARCH_KEY (PidTagIdentitySearchKey)
Diese Eigenschaften werden auf den Eintragsbezeichner, den Anzeigenamen und den Suchschlüssel des entsprechenden Identitätsobjekts festgelegt, bei dem es sich in der Regel um einen Messagingbenutzer handelt. Anbieter, die eine Identität bereitstellen, legen auch das STATUS_PRIMARY_IDENTITY-Flag in ihrer PR_RESOURCE_FLAGS-Eigenschaft (PidTagResourceFlags) fest.
Je nach Ihren Anforderungen können Sie die Identität eines bestimmten Anbieters oder die primäre Identität für die Sitzung verwenden. Sie können die Identität eines Anbieters auch zu Anzeigezwecken oder zum Abrufen von Eigenschaften wie PR_RESOURCE_PATH (PidTagResourcePath) verwenden. PR_RESOURCE_PATH enthält, sofern festgelegt, den Pfad zu Dateien, die vom Anbieter verwendet oder erstellt wurden. Rufen Sie die eigenschaft PR_RESOURCE_PATH für den Anbieter ab, der die primäre Identität bereitstellt, wenn Sie Dateien suchen möchten, die sich auf den Benutzer der Sitzung beziehen.
So rufen Sie die Identität eines bestimmten Anbieters ab
Rufen Sie IMAPISession::GetStatusTable auf, um auf die status Tabelle zuzugreifen.
Erstellen Sie eine Einschränkung mithilfe einer SPropertyRestriction-Struktur , um die PR_PROVIDER_DLL_NAME (PidTagProviderDllName)-Spalte mit dem Namen des angegebenen Anbieters abzugleichen.
Rufen Sie IMAPITable::FindRow auf, um die Zeile des Anbieters zu suchen. Die Identität des Anbieters wird in der spalte PR_IDENTITY_ENTRYID gespeichert, sofern vorhanden.
So rufen Sie die primäre Identität für eine Sitzung ab
- Rufen Sie IMAPISession::QueryIdentity auf. QueryIdentity basiert auf der Sitzungsidentität auf dem Vorhandensein des STATUS_PRIMARY_IDENTITY Werts in der PR_RESOURCE_FLAGS Spalte für eine der Zeilen in der status Tabelle. Wenn in keiner der status Zeilen dieser Wert festgelegt ist, weist QueryIdentity dem ersten Dienstanbieter, der die drei PR_IDENTITY Eigenschaften festlegt, identität zu. Wenn kein Dienstanbieter eine Identität bereitstellt, gibt QueryIdentity MAPI_W_NO_SERVICE zurück. In diesem Fall sollten Sie eine Zeichenfolge erstellen, die einen generischen Benutzer darstellt, der als primäre Identität dienen kann.
So legen Sie die primäre Identität für eine Sitzung explizit fest
- Rufen Sie IMsgServiceAdmin::SetPrimaryIdentity auf. Übergeben Sie die MAPIUID für den Zieldienstanbieter.