IMsgStore::OpenEntry
Gilt für: Outlook 2013 | Outlook 2016
Öffnet einen Ordner oder eine Nachricht und gibt einen Schnittstellenzeiger für weiteren Zugriff zurück.
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 des zu öffnenden Objekts oder NULL. Wenn lpEntryID auf NULL festgelegt ist, öffnet OpenEntry den Stammordner für den Nachrichtenspeicher.
lpInterface
[in] Ein Zeiger auf den Schnittstellenbezeichner (Interface Identifier, IID), der die Schnittstelle darstellt, die für den Zugriff auf das geöffnete Objekt verwendet werden soll. Die Übergabe von NULL führt dazu, dass die Standardschnittstelle des Objekts (IMAPIFolder für Ordner und IMessage für Nachrichten) zurückgegeben wird.
ulFlags
[in] Eine Bitmaske von Flags, die steuert, wie das Objekt geöffnet wird. Die folgenden Flags können verwendet werden:
MAPI_BEST_ACCESS
Fordert an, dass das Objekt mithilfe der maximal zulässigen Netzwerkberechtigungen für den Benutzer und des maximalen Clientanwendungszugriffs geöffnet wird. Wenn der Client beispielsweise über Lese-/Schreibberechtigungen verfügt, sollte das Objekt mithilfe der Lese-/Schreibberechtigung geöffnet werden. Wenn der Client über schreibgeschützte Berechtigungen verfügt, sollte das Objekt mithilfe der Schreibschutzberechtigung geöffnet werden.
MAPI_DEFERRED_ERRORS
Ermöglicht openEntry die erfolgreiche Rückgabe, möglicherweise bevor das Objekt vollständig für den aufrufenden Client verfügbar ist. Wenn das Objekt nicht verfügbar ist, kann durch einen nachfolgenden Objektaufruf ein Fehler ausgelöst werden.
MAPI_MODIFY
Fordert Lese-/Schreibberechtigungen an. Standardmäßig werden Objekte mit schreibgeschützter Berechtigung geöffnet, und Clients sollten nicht unter der Annahme funktionieren, dass Lese-/Schreibberechtigungen erteilt werden.
lpulObjType
[out] Ein Zeiger auf den Typ des geöffneten Objekts.
lppUnk
[out] Ein Zeiger auf einen Zeiger auf das geöffnete Objekt.
Rückgabewert
S_OK
Der Aufruf erfolgreich ausgef�hrt und der erwartete Wert oder Werte zur�ckgegeben hat.
MAPI_E_NO_ACCESS
Es wurde versucht, ein schreibgeschütztes Objekt zu ändern oder auf ein Objekt zuzugreifen, für das der Benutzer nicht über ausreichende Berechtigungen verfügt.
MAPI_NO_CACHE
Wenn ein Speicher im Cachemodus geöffnet wird, kann ein Client oder Dienstanbieter IMsgStore::OpenEntry aufrufen und das MAPI_NO_CACHE-Flag festlegen, um ein Element oder einen Ordner im Remotespeicher zu öffnen. Wenn Sie den Nachrichtenspeicher mit dem MDB_ONLINE-Flag auf dem Remoteserver öffnen, müssen Sie das MAPI_NO_CACHE-Flag nicht verwenden.
Hinweise
Die IMsgStore::OpenEntry-Methode öffnet einen Ordner oder eine Nachricht und gibt einen Zeiger auf eine Schnittstelle zurück, die für den weiteren Zugriff verwendet werden kann.
Wichtig
Verwenden Sie beim Öffnen von Ordnereinträgen in einem öffentlichen Speicher, z. B. Ordner und Nachrichten, IMsgStore::OpenEntry anstelle von IMAPISession::OpenEntry. Dadurch wird sichergestellt, dass öffentliche Ordner ordnungsgemäß funktionieren, wenn mehrere Exchange-Konten in einem Profil definiert sind.
Hinweise für Aufrufer
Ordner und Nachrichten werden automatisch mit schreibgeschützter Berechtigung geöffnet, es sei denn, Sie legen das flag MAPI_MODIFY oder MAPI_BEST_ACCESS im ulFlags-Parameter fest. Das Festlegen einer dieser Flags garantiert keinen bestimmten Berechtigungstyp. Welche Berechtigungen Ihnen erteilt werden, hängt vom Nachrichtenspeicheranbieter, ihrer Zugriffsebene und dem -Objekt ab. Um die Zugriffsebene des geöffneten Objekts zu bestimmen, rufen Sie dessen PR_ACCESS_LEVEL -Eigenschaft (PidTagAccessLevel) ab.
Obwohl IMsgStore::OpenEntry zum Öffnen beliebiger Ordner oder Nachrichten verwendet werden kann, ist es in der Regel schneller, die IMAPIContainer::OpenEntry-Methode zu verwenden, wenn Sie Zugriff auf den übergeordneten Ordner des zu öffnenden Ordners oder der Nachricht haben.
Überprüfen Sie den im Parameter lpulObjType zurückgegebenen Wert, um zu ermitteln, ob der zurückgegebene Objekttyp den Erwartungen entspricht. Wenn der Objekttyp nicht der erwartete Typ ist, wandeln Sie den Zeiger vom lppUnk-Parameter in einen Zeiger des entsprechenden Typs um. Wenn Sie beispielsweise einen Ordner öffnen, wandeln Sie lppUnk in einen Zeiger vom Typ LPMAPIFOLDER um.
MFCMAPI-Referenz
Einen MFCMAP-Beispielcode finden Sie in der folgenden Tabelle.
Datei | Funktion | Kommentar |
---|---|---|
MAPIFunctions.cpp |
CallOpenEntry |
MFCMAPI verwendet die IMsgStore::OpenEntry-Methode , um das Einer Eintrags-ID zugeordnete Objekt zu öffnen. |