MAPISAVEMAIL-Rückruffunktion (mapi.h)

[Die Verwendung dieser Funktion wird abgeraten. Sie kann in nachfolgenden Versionen von Windows geändert oder nicht verfügbar sein.]

Die MAPISaveMail-Funktion speichert eine Nachricht im Nachrichtenspeicher.

Syntax

MAPISAVEMAIL Mapisavemail;

ULONG Mapisavemail(
  [in] LHANDLE lhSession,
  [in] ULONG_PTR ulUIParam,
  [in] lpMapiMessage lpMessage,
  [in] FLAGS flFlags,
       ULONG ulReserved,
  [in] LPSTR lpszMessageID
)
{...}

Parameter

[in] lhSession

Handle für eine einfache MAPI-Sitzung oder null. Der Wert des lhSession-Parameters darf nicht null sein, wenn der lpszMessageID-Parameter einen gültigen Nachrichtenbezeichner enthält. Wenn lpszMessageID jedoch keinen gültigen Nachrichtenbezeichner enthält und der Wert von lhSession null ist, meldet sich MAPI beim Benutzer an und erstellt eine Sitzung, die nur für die Dauer des Aufrufs vorhanden ist. Bei dieser temporären Sitzung kann es sich um eine vorhandene freigegebene Sitzung oder eine neue Sitzung handelt. Bei Bedarf wird das Anmeldedialogfeld angezeigt.

[in] ulUIParam

Ziehpunkt des übergeordneten Fensters oder null, was angibt, dass es sich bei der Anzeige eines Dialogfelds um eine modale Anwendung handelt. Wenn der ulUIParam-Parameter ein übergeordnetes Fensterhandle enthält, ist er vom Typ HWND (in eine ULONG_PTR umgewandelt). Wenn während des Aufrufs kein Dialogfeld angezeigt wird, wird ulUIParam ignoriert.

[in] lpMessage

Eingabeparameter, der auf eine MapiMessage-Struktur zeigt, die den Inhalt der zu speichernden Nachricht enthält. Das lpOriginator-Element wird ignoriert. Anwendungen können entweder den flFlags-Member ignorieren oder wenn die Nachricht noch nie gespeichert wurde, die MAPI_SENT und MAPI_UNREAD-Flags festlegen.

[in] flFlags

Bitmaske von Optionsflags. Die folgenden Flags können festgelegt werden.

Wert Bedeutung
MAPI_LOGON_UI
Es sollte ein Dialogfeld angezeigt werden, in dem der Benutzer bei Bedarf zur Anmeldung aufgefordert wird. Wenn das flag MAPI_LOGON_UI nicht festgelegt ist, zeigt die Clientanwendung kein Anmeldedialogfeld an und gibt einen Fehlerwert zurück, wenn der Benutzer nicht angemeldet ist. MAPISaveMail ignoriert dieses Flag, wenn der parameter lpszMessageID leer ist.
MAPI_LONG_MSGID
Der zurückgegebene Nachrichtenbezeichner sollte 512 Zeichen lang sein. Wenn dieses Flag festgelegt ist, muss der lpszMessageID-Parameter groß genug sein, um 512 Zeichen aufzunehmen.
MAPI_NEW_SESSION
Es sollte versucht werden, eine neue Sitzung zu erstellen, anstatt die freigegebene Sitzung der Umgebung zu erhalten. Wenn das flag MAPI_NEW_SESSION nicht festgelegt ist, verwendet MAPISaveMail eine vorhandene freigegebene Sitzung.

ulReserved

Reserviert; muss null sein.

[in] lpszMessageID

Zeiger auf den Nachrichtenbezeichner, der durch den Speichervorgang ersetzt werden soll, oder auf eine leere Zeichenfolge, die angibt, dass eine neue Nachricht erstellt werden soll. Die Zeichenfolge muss vom Aufrufer zugeordnet werden und mindestens 512 Zeichen enthalten können, wenn der flFlags-Parameter auf MAPI_LONG_MSGID festgelegt ist. Wenn der flFlags-Parameter nicht auf MAPI_LONG_MSGID festgelegt ist, kann die Nachrichtenbezeichnerzeichenfolge 64 Zeichen enthalten.

Rückgabewert

Diese Funktion gibt einen der folgenden Werte zurück.

Rückgabecode Beschreibung
MAPI_E_ATTACHMENT_NOT_FOUND
Eine Anlage konnte nicht am angegebenen Pfad gefunden werden. Entweder war der Laufwerkbuchstabe ungültig, der Pfad wurde auf diesem Laufwerk nicht gefunden, oder die Datei wurde in diesem Pfad nicht gefunden.
MAPI_E_BAD_RECIPTYPE
Der Empfängertyp in der lpMessage war ungültig.
MAPI_E_FAILURE
Mindestens ein nicht angegebener Fehler ist beim Speichern der Nachricht aufgetreten. Es wurde keine Nachricht gespeichert.
MAPI_E_INSUFFICIENT_MEMORY
Es war nicht genügend Arbeitsspeicher vorhanden, um die Nachricht zu speichern. Es wurde keine Nachricht gespeichert.
MAPI_E_INVALID_MESSAGE
Im LpszMessageID-Parameter wurde ein ungültiger Nachrichtenbezeichner übergeben. Es wurde keine Nachricht gespeichert.
MAPI_E_INVALID_RECIPS
Mindestens ein Empfänger der Nachricht war ungültig oder konnte nicht identifiziert werden.
MAPI_E_INVALID_SESSION
Im lhSession-Parameter wurde ein ungültiges Sitzungshandle übergeben. Es wurde keine Nachricht gespeichert.
MAPI_E_LOGIN_FAILURE
Es gab keine Standardanmeldung, und der Benutzer konnte sich nicht erfolgreich anmelden, wenn das Anmeldedialogfeld angezeigt wurde. Es wurde keine Nachricht gespeichert.
MAPI_E_NOT_SUPPORTED
Der Vorgang wurde vom zugrunde liegenden Messagingsystem nicht unterstützt.
MAPI_E_USER_ABORT
Der Benutzer hat eines der Dialogfelder abgebrochen. Es wurde keine Nachricht gespeichert.
SUCCESS_SUCCESS
Der Aufruf war erfolgreich, und die Nachricht wurde gespeichert.

Hinweise

Die MAPISaveMail-Funktion speichert eine Nachricht und ersetzt optional eine vorhandene Nachricht. Verwenden Sie vor dem Aufrufen von MAPISaveMail die MAPIFindNext-Funktion , um zu überprüfen, ob die zu speichernde Nachricht die zu speichernde Nachricht ist. Die Elemente der Nachricht, die durch den lpszMessageID-Parameter identifiziert werden, werden durch die Elemente im lpMessage-Parameter ersetzt. Wenn lpszMessageID leer ist, wird eine neue Nachricht erstellt. Alle ersetzten Nachrichten werden in den entsprechenden Ordnern gespeichert. Neue Nachrichten werden in dem Ordner gespeichert, der für eingehende Nachrichten dieser Klasse geeignet ist.

Nicht alle Messagingsysteme unterstützen das Speichern von Nachrichten. Wenn das zugrunde liegende Messagingsystem den Nachrichtenspeicher nicht unterstützt, gibt MAPISaveMail den MAPI_E_NOT_SUPPORTED Wert zurück.

Da Nachrichtenbezeichner systemspezifisch und undurchsichtig sind und jederzeit ungültig werden können, betrachtet MAPISaveMail einen Nachrichtenbezeichner nur für die aktuelle Simple MAPI-Sitzung. MAPISaveMail verarbeitet ungültige Nachrichtenbezeichner, indem der MAPI_E_INVALID_MESSAGE-Wert zurückgegeben wird.

Requirements (Anforderungen)

   
Zielplattform Windows
Kopfzeile mapi.h

Weitere Informationen

MAPIFindWeiter

MAPILogon

MapiMessage

Einfache MAPI