Freigeben über


IAddrBook::OpenEntry

Gilt für: Outlook 2013 | Outlook 2016

Öffnet einen Adressbucheintrag und gibt einen Zeiger auf eine Schnittstelle zurück, die für den Zugriff auf den Eintrag verwendet werden kann.

HRESULT OpenEntry(
  ULONG cbEntryID,
  LPENTRYID lpEntryID,
  LPCIID lpInterface,
  ULONG ulFlags,
  ULONG FAR * lpulObjType,
  LPUNKNOWN FAR * lppUnk
);

Parameter

cbEntryID

[in] Die Byteanzahl im Eintragsbezeichner, auf die der lpEntryID-Parameter verweist.

lpEntryID

[in] Ein Zeiger auf den Eintragsbezeichner, der den zu öffnenden Adressbucheintrag darstellt.

lpInterface

[in] Ein Zeiger auf den Schnittstellenbezeichner (Interface Identifier, IID) der Schnittstelle, die für den Zugriff auf den geöffneten Eintrag verwendet werden soll. Das Übergeben von NULL gibt die Standardschnittstelle des Objekts zurück. Für Messagingbenutzer ist die Standardschnittstelle IMailUser: IMAPIProp. Bei Verteilerlisten lautet dies IDistList : IMAPIContainer und für Container IABContainer : IMAPIContainer. Aufrufer können lpInterface auf die entsprechende Standardschnittstelle oder eine Schnittstelle in der Vererbungshierarchie festlegen.

ulFlags

[in] Eine Bitmaske von Flags, die steuert, wie der Eintrag geöffnet wird. Die folgenden Flags können festgelegt werden.

MAPI_BEST_ACCESS

Fordert an, dass der Eintrag mit den maximal zulässigen Netzwerk- und Clientberechtigungen geöffnet wird. Wenn der Client beispielsweise über Lese-/Schreibberechtigungen verfügt, sollte der Adressbuchanbieter versuchen, den Eintrag mit Lese-/Schreibberechtigung zu öffnen. Der Client kann die Zugriffsebene abrufen, die gewährt wurde, indem die IMAPIProp::GetProps-Methode des geöffneten Eintrags aufgerufen und die eigenschaft PR_ACCESS_LEVEL (PidTagAccessLevel) abgerufen wird.

MAPI_CACHE_ONLY

Öffnet einen Adressbucheintrag und greift nur aus dem Cache darauf zu. Sie können dieses Flag beispielsweise verwenden, um einer Clientanwendung das Öffnen der globalen Adressliste (GAL) im zwischengespeicherten Austauschmodus und den Zugriff auf einen Eintrag in diesem Adressbuch aus dem Cache zu ermöglichen, ohne Datenverkehr zwischen Client und Server zu erzeugen. Dieses Flag wird nur vom Exchange-Adressbuchanbieter unterstützt.

MAPI_DEFERRED_ERRORS

Ermöglicht den erfolgreichen Aufruf, möglicherweise bevor der Eintrag vollständig geöffnet und verfügbar ist, was impliziert, dass spätere Aufrufe des Eintrags einen Fehler zurückgeben können.

MAPI_GAL_ONLY

Verwenden Sie nur die GAL, um die Namensauflösung durchzuführen. Dieses Flag wird nur vom Exchange-Adressbuchanbieter unterstützt.

Hinweis

Die ulFlags-MAPI_GAL_ONLY möglicherweise nicht in der herunterladbaren Headerdatei definiert, über die Sie derzeit verfügen. In diesem Fall können Sie sie Ihrem Code mithilfe des folgenden Werts hinzufügen: #define MAPI_GAL_ONLY (0x00000080)

MAPI_MODIFY

Fordert an, dass der Eintrag mit Lese-/Schreibberechtigung geöffnet wird. Da Einträge standardmäßig mit schreibgeschütztem Zugriff geöffnet werden, sollten Clients nicht davon ausgehen, dass lese-/schreibberechtigungen erteilt wurden, unabhängig davon, ob MAPI_MODIFY festgelegt ist.

MAPI_NO_CACHE

Verwenden Sie nicht das Offlineadressbuch, um die Namensauflösung durchzuführen. Dieses Flag wird nur vom Exchange-Adressbuchanbieter unterstützt.

lpulObjType

[out] Ein Zeiger auf den Typ des geöffneten Eintrags.

lppUnk

[out] Ein Zeiger auf einen Zeiger auf den geöffneten Eintrag.

Rückgabewert

S_OK

Der Eintrag wurde erfolgreich geöffnet.

MAPI_E_NO_ACCESS

Es wurde versucht, einen Eintrag zu öffnen, für den der Benutzer nicht über ausreichende Berechtigungen verfügt.

MAPI_E_NOT_FOUND

Der durch lpEntryID dargestellte Eintrag ist nicht vorhanden.

MAPI_E_UNKNOWN_ENTRYID

Der in lpEntryID angegebene Eintragsbezeichner wird nicht erkannt. Dieser Wert wird in der Regel zurückgegeben, wenn der für den entsprechenden Eintrag zuständige Adressbuchanbieter nicht geöffnet ist.

Hinweise

Clients und Dienstanbieter rufen die IAddrBook::OpenEntry-Methode auf, um einen Adressbucheintrag zu öffnen. MAPI leitet den Aufruf an den entsprechenden Adressbuchanbieter weiter, basierend auf der MAPIUID-Struktur , die im Eintragsbezeichner enthalten ist, der im lpEntryID-Parameter übergeben wird. Der Adressbuchanbieter öffnet den Eintrag als schreibgeschützt, es sei denn, das MAPI_MODIFY- oder MAPI_BEST_ACCESS-Flag im ulFlags-Parameter ist festgelegt. Diese Flags sind jedoch Vorschläge. Wenn der Adressbuchanbieter keine Änderung des angeforderten Eintrags zulässt, wird MAPI_E_NO_ACCESS zurückgegeben.

Der lpInterface-Parameter gibt an, welche Schnittstelle für den Zugriff auf den geöffneten Eintrag verwendet werden soll. Die Übergabe von NULL in lpInterface gibt an, dass die MAPI-Standardschnittstelle für diesen Eintragstyp verwendet werden soll. Da der Adressbuchanbieter möglicherweise eine andere Schnittstelle als die vom lpInterface-Parameter vorgeschlagene zurückgibt, sollte der Aufrufer den im lpulObjType-Parameter zurückgegebenen Wert überprüfen, um zu bestimmen, ob der zurückgegebene Objekttyp den Erwartungen entspricht. Wenn der Objekttyp nicht vom erwarteten Typ ist, kann der Aufrufer den lppUnk-Parameter in einen typ umwandeln, der besser geeignet ist.

Siehe auch