Freigeben über


IMessage::SubmitMessage

Gilt für: Outlook 2013 | Outlook 2016

Speichert alle Eigenschaften der Nachricht und markiert sie als bereit zum Senden.

HRESULT SubmitMessage(
  ULONG ulFlags
);

Parameter

ulFlags

[in] Bitmaske von Flags, die verwendet werden, um zu steuern, wie eine Nachricht übermittelt wird. Das folgende Flag kann festgelegt werden:

FORCE_SUBMIT

MAPI sollte die Nachricht sofort übermitteln. Dieses Flag wird derzeit nicht verwendet.

Rückgabewert

S_OK

Der Aufruf erfolgreich ausgeführt und der erwartete Wert oder Werte zurückgegeben hat.

MAPI_E_NO_RECIPIENTS

Die Empfängertabelle der Nachricht ist leer.

Hinweise

Die IMessage::SubmitMessage-Methode markiert eine Nachricht als bereit für die Übertragung. MAPI übergibt Nachrichten an das zugrunde liegende Nachrichtensystem in der Reihenfolge, in der sie zum Senden markiert sind. Aufgrund dieser Funktionalität kann eine Nachricht einige Zeit in einem Nachrichtenspeicher verbleiben, bevor das zugrunde liegende Nachrichtensystem die Verantwortung dafür übernehmen kann. Die Reihenfolge des Empfangs am Ziel liegt im Ermessen des zugrunde liegenden Nachrichtensystems und stimmt nicht unbedingt mit der Reihenfolge überein, in der die Nachrichten gesendet wurden.

Hinweise für Implementierer

Rufen Sie die IMAPIProp::SaveChanges-Methode der Nachricht auf, um sie zu speichern, und überprüfen Sie dann die PR_MESSAGE_FLAGS (PidTagMessageFlags)-Eigenschaft der Nachricht. Wenn das Flag MSGFLAG_RESEND festgelegt ist, rufen Sie IMAPISupport::PrepareSubmit auf. PrepareSubmit aktualisiert den Empfängertyp und die PR_RESPONSIBILITY (PidTagResponsibility)-Eigenschaft für alle Empfänger in der erneut gesendeten Nachricht.

Hinweise für Aufrufer

Wenn SubmitMessage zurückgegeben wird, sind alle Zeiger auf die Nachricht und die zugehörigen Unterobjektnachrichten, Ordner, Anlagen, Streams, Tabellen usw. nicht mehr gültig. MAPI lässt keine weiteren Vorgänge für diese Zeiger zu, mit Ausnahme des Aufrufs ihrer IUnknown::Release-Methoden. MAPI ist so konzipiert, dass Sie nach dem Aufruf von SubmitMessage die Nachricht und alle zugehörigen Unterobjekte freigeben müssen. Wenn jedoch SubmitMessage einen Fehlerwert zurückgibt, der auf fehlende oder ungültige Informationen hinweist, bleibt die Nachricht geöffnet und die Zeiger bleiben gültig.

Um einen Sendevorgang abzubrechen, rufen Sie einen Zeiger auf die PR_ENTRYID (PidTagEntryId)-Eigenschaft der Nachricht ab, und speichern Sie diesen, bevor die Nachricht übermittelt wird. Da der Eintragsbezeichner einer Nachricht ungültig wird, nachdem die Nachricht übermittelt wurde, muss sie vor dem Aufrufen von SubmitMessage gespeichert werden. Um den Sendevorgang abzubrechen, verweisen Sie den Parameter lpEntryId auf diesen Eintragsbezeichner und rufen Sie IMsgStore::AbortSubmit auf.

MFCMAPI-Referenz

Einen MFCMAP-Beispielcode finden Sie in der folgenden Tabelle.

Datei Funktion Kommentar
FolderDlg.cpp
CFolderDlg::OnSubmitMessage
MFCMAPI verwendet die IMessage::SubmitMessage-Methode, um die ausgewählte Nachricht zu übermitteln.

Siehe auch

IMsgStore::AbortSubmit

IMessage: IMAPIProp

MFCMAPI (engl.) als ein Codebeispiel