IMAPIFolder::CreateMessage

Gilt für: Outlook 2013 | Outlook 2016

Erstellt eine neue Nachricht.

HRESULT CreateMessage(
  LPCIID lpInterface,
  ULONG ulFlags,
  LPMESSAGE FAR * lppMessage
);

Parameter

lpInterface

[in] Ein Zeiger auf den Schnittstellenbezeichner (Interface Identifier, IID), der die Schnittstelle darstellt, die für den Zugriff auf die neue Nachricht verwendet werden soll. Gültige Schnittstellenbezeichner sind IID_IUnknown, IID_IMAPIProp, IID_IMAPIContainer und IID_IMAPIFolder. Die Übergabe von NULL bewirkt, dass der Nachrichtenspeicheranbieter die Standardnachrichtenschnittstelle IMessage : IMAPIProp zurückgibt.

ulFlags

[in] Eine Bitmaske von Flags, die steuert, wie die Nachricht erstellt wird. Die folgenden Flags können festgelegt werden:

ITEMPROC_FORCE

Gibt dem persönlichen Ordnerspeicher (PST) an, dass die Nachricht für die Regelverarbeitung berechtigt ist, bevor der Speicher einen lauschenden Client über das Eintreffen der neuen Nachricht benachrichtigt. Die Regelverarbeitung gilt nur für neue Nachrichten, die auf einem Server erstellt werden, der keine Microsoft Exchange Server ist, da Exchange Server Regeln für Nachrichten auf dem Server verarbeitet. Daher muss der Anbieter oder Client, der die Nachricht erstellt, dieses Flag in Kombination mit dem Speichern einer Nachricht mit IMAPIPProp::SaveChanges mithilfe von NON_EMS_XP_SAVE übergeben, was angibt, dass der Server kein Exchange Server ist.

MAPI_ASSOCIATED

Die zu erstellende Nachricht sollte in der zugeordneten Inhaltstabelle anstelle der Standardinhaltstabelle enthalten sein. Zugeordnete Nachrichten werden in der Benutzerinteraktion ausgeblendet.

MAPI_DEFERRED_ERRORS

CreateMessage kann auch dann erfolgreich ausgeführt werden, wenn der Erstellungsvorgang noch nicht vollständig abgeschlossen wurde. Dies bedeutet, dass die neue Nachricht möglicherweise nicht sofort für den Aufrufer verfügbar ist.

lppMessage

[out] Ein Zeiger auf einen Zeiger auf die neu erstellte Nachricht.

Rückgabewert

S_OK

Die Nachricht wurde erfolgreich erstellt.

Hinweise

Die IMAPIFolder::CreateMessage-Methode erstellt eine neue Nachricht mit generischem oder zugeordnetem Inhalt und weist einen Eintragsbezeichner zu. Der Eintragsbezeichner besteht aus einem Teil, der den Nachrichtenspeicheranbieter darstellt, und einem Teil, der die einzelne Nachricht darstellt.

Hinweise für Implementierer

Sie können auswählen, ob alle erforderlichen Nachrichteneigenschaften in CreateMessage oder in der IMAPIProp::SaveChanges-Methode der Nachricht festgelegt werden sollen. Sie müssen diese Eigenschaften erst verfügbar machen, wenn eine erfolgreiche Speicherung erfolgt ist.

Weitere Informationen zum Arbeiten mit zugeordneten Informationen finden Sie unter Ordner-Zugeordnete Informationstabellen und Inhaltstabellen.

Hinweise für Aufrufer

Einige Nachrichtenspeicheranbieter lassen zu, dass der Eintragsbezeichner der neuen Nachricht sofort verfügbar ist, nachdem CreateMessage zurückgegeben wurde. Andere Nachrichtenspeicheranbieter verzögern die Verfügbarkeit, bis die Nachricht gespeichert ist. Da nicht alle Nachrichtenspeicheranbieter einen Eintragsbezeichner für eine neue Nachricht generieren, bis Sie die IMAPIProp::SaveChanges-Methode der Nachricht aufgerufen haben, können Sie möglicherweise nicht auf den Eintragsbezeichner zugreifen, wenn CreateMessage zurückgibt. Außerdem ist die neue Nachricht möglicherweise erst in der Inhaltstabelle des Ordners enthalten, wenn das Speichern erfolgt.

Erwarten Sie, dass der der neuen Nachricht zugewiesene Eintragsbezeichner nicht nur im aktuellen Nachrichtenspeicher eindeutig ist, sondern höchstwahrscheinlich in allen Gleichzeitig geöffneten Nachrichtenspeichern. Eine Ausnahme von dieser Regel tritt auf, wenn mehrere Einträge für einen Nachrichtenspeicher im Profil angezeigt werden. Dies führt dazu, dass der Nachrichtenspeicher mehrmals geöffnet und Eingabebezeichner dupliziert werden.

Um eine ausgehende Nachricht zu erstellen, rufen Sie die IMAPIFolder::CreateMessage-Methode des Postausgangsordners auf.

Wenn Sie einen Ordner löschen, der eine neue Nachricht enthält, bevor die Nachricht gespeichert wird, sind die Ergebnisse nicht definiert.

MFCMAPI-Referenz

Einen MFCMAP-Beispielcode finden Sie in der folgenden Tabelle.

Datei Funktion Kommentar
FolderDlg.cpp
CFolder::OnNewMessage
MFCMAPI verwendet die IMAPIFolder::CreateMessage-Methode , um eine neue Nachricht zu erstellen und zu speichern.

Siehe auch

IMAPIProp::SaveChanges

IMAPIFolder : IMAPIContainer

MFCMAPI (engl.) als ein Codebeispiel