IMAPISession::QueryIdentity

Gilt für: Outlook 2013 | Outlook 2016

Gibt den Eintragsbezeichner des Objekts zurück, das die primäre Identität für die Sitzung bereitstellt.

HRESULT QueryIdentity(
  ULONG FAR * lpcbEntryID,
  LPENTRYID FAR * lppEntryID
);

Parameter

lpcbEntryID

[out] Ein Zeiger auf die Byteanzahl im Eintragsbezeichner, auf den der lppEntryID-Parameter verweist.

lppEntryID

[out] Ein Zeiger auf einen Zeiger auf den Eintragsbezeichner des Objekts, das die primäre Identität bereitstellt.

Rückgabewert

S_OK

Die primäre Identität wurde erfolgreich zurückgegeben.

MAPI_W_NO_SERVICE

Der Aufruf war erfolgreich, aber es gibt keine primäre Identität für die Sitzung. Wenn diese Warnung zurückgegeben wird, sollte der Aufruf als erfolgreich behandelt werden. Verwenden Sie zum Testen auf diese Warnung das Makro HR_FAILED . Weitere Informationen finden Sie unter Verwenden von Makros für die Fehlerbehandlung.

Hinweise

Die IMAPISession::QueryIdentity-Methode ruft die primäre Identität für die aktuelle Sitzung ab und gibt den Wert über den lppEntryID-Parameter zurück. Die primäre Identität ist ein Objekt, in der Regel ein Messagingbenutzer, das den Benutzer einer Sitzung darstellt. lppEntryID gibt die primäre Identität für ein IMailUser-Objekt zurück, das auch als PidTagEntryID-Eigenschaft gespeichert wird. Sie können den in lppEntryID zurückgegebenen Wert verwenden, um ein IMailUser-Objekt mithilfe von IMAPISession::OpenEntry zu öffnen.

Obwohl viele Dienstanbieter in mehreren Nachrichtendiensten die primäre Identität für eine Sitzung bereitstellen können, bestimmt MAPI einen einzelnen Dienstanbieter. Der Dienstanbieter, der die primäre Identität bereitstellt, legt die folgenden Elemente fest:

Wenn der Dienstanbieter, der die primäre Identität bereitstellt, zu einem Nachrichtendienst gehört, legen die anderen Dienstanbieter im Nachrichtendienst ebenfalls die PR_IDENTITY Eigenschaften fest. Diese Eigenschaften werden in der status Tabelle der Sitzung veröffentlicht.

Wenn möglich, gibt QueryIdentity den Wert für die eigenschaft PR_IDENTITY_ENTRYID aus der status Zeile zurück, die mit STATUS_PRIMARY_IDENTITY gekennzeichnet ist. Wenn die PR_IDENTITY_ENTRYID-Eigenschaft in der zeile der primären Identität fehlt, gibt QueryIdentity einen einmaligen Eintragsbezeichner zurück, der mit anderen Informationen aus dieser Zeile erstellt wurde.

Wenn das STATUS_PRIMARY_IDENTITY-Flag in allen PR_RESOURCE_FLAG Spalten in der status Tabelle fehlt, gibt QueryIdentity den ersten Gefundenen Eintragsbezeichner zurück. Wenn kein entsprechender Eintragsbezeichner für die Rückgabe vorhanden ist, ist QueryIdentity erfolgreich mit der Warnung MAPI_W_NO_SERVICE und verweist lppEntryID auf einen hartcodierten Eintragsbezeichner.

Hinweise für Aufrufer

Sie können die IMsgServiceAdmin::SetPrimaryIdentity-Methode aufrufen, um einem Nachrichtendienst die Aufgabe zuzuweisen, die primäre Identität der Sitzung bereitzustellen.

Eine weitere Möglichkeit zum Abrufen der primären Identität besteht darin, die status Tabelle nach der Zeile zu durchsuchen, in der die PR_RESOURCE_FLAGS Spalten auf STATUS_PRIMARY_IDENTITY festgelegt sind. Weitere Informationen zu dieser alternativen Methode zum Abrufen von Identitätsinformationen finden Sie unter Statustabelle und Statusobjekte.

Wenn Sie die Verwendung des Eintragsbezeichners für die primäre Identität abgeschlossen haben, die von QueryIdentity zurückgegeben wird, geben Sie den Arbeitsspeicher frei, indem Sie die MAPIFreeBuffer-Funktion aufrufen.

Weitere Informationen zur Identität im Allgemeinen finden Sie unter Primäre MAPI-Identität.

Weitere Informationen zum Abrufen der MAPI-Sitzungsidentität finden Sie unter Abrufen der primären Und Anbieteridentität.

MFCMAPI-Referenz

Einen MFCMAP-Beispielcode finden Sie in der folgenden Tabelle.

Datei Funktion Kommentar
MainDlg.cpp
CMainDlg::OnQueryIdentity
MFCMAPI verwendet die IMAPISession::QueryIdentity-Methode , um den Adressbucheintrag für die primäre Identität der Sitzung zu öffnen.

Siehe auch

IMAPISession::OpenEntry

IMsgServiceAdmin::SetPrimaryIdentity

MAPIFreeBuffer

IMAPISession : IUnknown

MFCMAPI (engl.) als ein Codebeispiel

Primäre MAPI-Identität

Abrufen der primären Identität und der Anbieteridentität

Verwenden von Makros für die Fehlerbehandlung

Statustabelle und Statusobjekte