Freigeben über


IMAPISession::OpenMsgStore

Gilt für: Outlook 2013 | Outlook 2016

Öffnet einen Nachrichtenspeicher und gibt einen IMsgStore-Zeiger für weiteren Zugriff zurück.

HRESULT OpenMsgStore(
  ULONG_PTR ulUIParam,
  ULONG cbEntryID,
  LPENTRYID lpEntryID,
  LPCIID lpInterface,
  ULONG ulFlags,
  LPMDB FAR * lppMDB
);

Parameter

ulUIParam

[in] Ein Handle für das übergeordnete Fenster des Dialogfelds "Allgemeine Adresse" und andere zugehörige Anzeigen.

cbEntryID

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

lpEntryID

[in] Ein Zeiger auf den Eintragsbezeichner des zu öffnenden Nachrichtenspeichers. Der lpEntryID-Parameter darf nicht NULL sein.

lpInterface

[in] Ein Zeiger auf den Schnittstellenbezeichner (Interface Identifier, IID), der die Schnittstelle darstellt, die für den Zugriff auf den Nachrichtenspeicher verwendet werden soll. Die Übergabe von NULL bewirkt, dass der lppMDB-Parameter einen Zeiger auf die Standardschnittstelle für einen Nachrichtenspeicher (IMsgStore) zurückgibt.

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 der Nachrichtenspeicher mit den maximal zulässigen Netzwerkberechtigungen für den Benutzer und den maximalen Clientanwendungsberechtigungen geöffnet wird. Wenn der Client beispielsweise über Lese-/Schreibberechtigungen verfügt, sollte der Nachrichtenspeicher mit Lese-/Schreibberechtigung geöffnet werden. Wenn der Client über schreibgeschützte Berechtigungen verfügt, sollte der Nachrichtenspeicher mit schreibgeschützter Berechtigung geöffnet werden.

  • MAPI_DEFERRED_ERRORS: Ermöglicht die erfolgreiche Rückgabe von OpenMsgStore , möglicherweise bevor der Nachrichtenspeicher für den aufrufenden Client vollständig verfügbar ist. Wenn der Nachrichtenspeicher nicht verfügbar ist, kann durch einen nachfolgenden Objektaufruf ein Fehler ausgelöst werden.

  • MDB_NO_DIALOG: Verhindert die Anzeige von Anmeldedialogfeldern. Wenn dieses Flag festgelegt ist und OpenMsgStore nicht über genügend Konfigurationsinformationen verfügt, um den Nachrichtenspeicher ohne Die Hilfe des Benutzers zu öffnen, wird MAPI_E_LOGON_FAILED zurückgegeben. Wenn dieses Flag nicht festgelegt ist, kann der Nachrichtenspeicheranbieter den Benutzer auffordern, einen Namen oder ein Kennwort zu korrigieren oder andere Aktionen auszuführen, die zum Herstellen einer Verbindung mit dem Nachrichtenspeicher erforderlich sind.

  • MDB_NO_MAIL: Der Nachrichtenspeicher sollte nicht zum Senden oder Empfangen von E-Mails verwendet werden. Wenn dieses Flag festgelegt ist, benachrichtigt MAPI den MAPI-Spooler nicht darüber, dass dieser Nachrichtenspeicher geöffnet wird.

  • MDB_ONLINE: Im Exchange-Cachemodus kann ein Client oder Dienstanbieter diese Methode mit MDB_ONLINE aufrufen, um die Verbindung mit dem lokalen Nachrichtenspeicher außer Kraft zu setzen und den Speicher auf dem Remoteserver zu öffnen. Sie können einen Exchange-Speicher nicht gleichzeitig in derselben MAPI-Sitzung im zwischengespeicherten Modus und im nicht zwischengespeicherten Modus öffnen. Wenn Sie den zwischengespeicherten Nachrichtenspeicher bereits geöffnet haben, müssen Sie entweder den Speicher schließen, bevor Sie ihn mit dieser Kennzeichnung öffnen, oder eine neue MAPI-Sitzung öffnen, in der Sie den Exchange-Speicher auf dem Remoteserver mit dieser Kennzeichnung öffnen können.

  • MDB_TEMPORARY: Weist MAPI an, dass der Nachrichtenspeicher nicht dauerhaft ist und der Nachrichtenspeichertabelle nicht hinzugefügt werden soll. Dieses Flag wird verwendet, um sich beim Nachrichtenspeicher anzumelden, sodass Informationen programmgesteuert aus dem Profilabschnitt abgerufen werden können.

  • MDB_WRITE: Fordert Lese-/Schreibberechtigungen für den Nachrichtenspeicher an.

lppMDB

[out] Zeiger auf einen Zeiger des Nachrichtenspeichers.

Rückgabewert

S_OK

Der Nachrichtenspeicher wurde erfolgreich geöffnet.

MAPI_E_NO_ACCESS

Es wurde versucht, auf einen Nachrichtenspeicher zuzugreifen, für den der Benutzer über unzureichende Berechtigungen verfügt.

MAPI_E_NOT_FOUND

Der durch lpEntryID angegebene Nachrichtenspeicher ist nicht vorhanden.

MAPI_E_UNKNOWN_CPID

Der Server ist nicht für die Unterstützung der Codepage des Clients konfiguriert.

MAPI_E_UNKNOWN_LCID

Der Server ist nicht für die Unterstützung der Gebietsschemainformationen des Clients konfiguriert.

MAPI_W_ERRORS_RETURNED

Der Aufruf war erfolgreich, aber der Nachrichtenspeicheranbieter verfügt über Fehlerinformationen. Wenn diese Warnung zurückgegeben wird, sollte der Aufruf als erfolgreich behandelt werden. Rufen Sie die IMAPISession::GetLastError-Methode auf, um die Fehlerinformationen vom Anbieter abzurufen. 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::OpenMsgStore-Methode öffnet einen bestimmten Nachrichtenspeicher.

Hinweise für Aufrufer

Die Standardberechtigungsstufe für Nachrichtenspeicher ist schreibgeschützt. Wenn Sie das MDB_WRITE-Flag festlegen, wird Ihnen möglicherweise keine Lese-/Schreibberechtigung erteilt. Die endgültige Zugriffsebene, die MAPI dem Nachrichtenspeicher zuweist, hängt von Ihrer Berechtigungsstufe, dem Nachrichtenspeicher selbst und dem Nachrichtenspeicheranbieter ab.

Wenn Sie OpenMsgStore aufrufen, um einen Nachrichtenspeicher mit schreibgeschützter Berechtigung zu öffnen, geschieht Folgendes:

MFCMAPI-Referenz

Einen MFCMAP-Beispielcode finden Sie in der folgenden Tabelle.

Datei Funktion Kommentar
MAPIStoreFunctions.cpp
CallOpenMsgStore
MFCMAPI verwendet die IMAPISession::OpenMsgStore-Methode , um einen Nachrichtenspeicher zu öffnen.

Siehe auch