Freigeben über


IMAPIMessageSite::DeleteMessage

Gilt für: Outlook 2013 | Outlook 2016

Löscht die aktuelle Nachricht.

HRESULT DeleteMessage(
  LPMAPIVIEWCONTEXT pViewContext,
  LPCRECT prcPosRect
);

Parameter

pViewContext

[in] Ein Zeiger auf ein Ansichtskontextobjekt.

prcPosRect

[in] Ein Zeiger auf eine RECT-Struktur, die die Fenstergröße und -position des aktuellen Formulars enthält. Das nächste angezeigte Formular verwendet ebenfalls dieses Fensterrechteck.

Rückgabewert

S_OK

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

MAPI_E_NO_SUPPORT

Der Vorgang wird von dieser Nachrichtenwebsite nicht unterstützt.

Hinweise

Ein Formularobjekt ruft die IMAPIMessageSite::DeleteMessage-Methode auf, um die Meldung zu löschen, die das Formular derzeit anzeigt.

Hinweise für Aufrufer

Nach der Rückgabe von DeleteMessagemüssen Formularobjekte nach einer neuen Nachricht suchen und sich dann selbst schließen, wenn keine vorhanden ist. Um zu bestimmen, ob die Nachricht, auf die DeleteMessage reagiert hat, gelöscht oder in einen Ordner Gelöschte Elemente verschoben wurde, kann ein Formularobjekt die IMAPIMessageSite::GetSiteStatus-Methode aufrufen, um zu bestimmen, ob die DELETE_IS_MOVE-Kennzeichnung zurückgegeben wurde.

Hinweise für Implementierer

Wenn die Implementierung der DeleteMessage-Methode einer Formularanzeige zur nächsten Nachricht wechselt, nachdem eine Nachricht gelöscht wurde, sollte die Implementierung die IMAPIViewContext::ActivateNext-Methode aufrufen und die VCDIR_DELETE-Kennzeichnung übergeben, bevor der eigentliche Löschvorgang vorgenommen wird. Wenn die Implementierung von DeleteMessage der Formularanzeige die gelöschte Nachricht verschiebt (z. B. in einen Ordner Gelöschte Elemente), muss die Implementierung Änderungen an der Nachricht speichern, wenn die Nachricht geändert wurde.

Eine typische Implementierung von DeleteMessage führt die folgenden Aufgaben aus:

  1. Wenn die Implementierung die Nachricht verschiebt, ruft sie die IPersistMessage::Save-Methode auf und übergibt null im pMessage-Parameter und TRUE im fSameAsLoad-Parameter.

  2. Sie ruft die IMAPIViewContext::ActivateNext-Methode auf und übergibt die VCDIR_DELETE-Kennzeichnung im ulDir-Parameter.

  3. Wenn der ActivateNext-Aufruf fehlschlägt, wird er zurückgegeben. Wenn ActivateNext S_FALSE zurückgibt, wird die IPersistMessage::HandsOffMessage-Methode aufgerufen.

  4. Die Nachricht wird gelöscht oder verschoben.

Um die RECT-Struktur abzurufen, die vom Fenster eines Formulars verwendet wird, rufen Sie die Windows-Funktion GetWindowRect auf.

Eine Liste der Schnittstellen im Zusammenhang mit Formularservern finden Sie unter MAPI-Formularschnittstellen.

MFCMAPI-Referenz

Einen MFCMAP-Beispielcode finden Sie in der folgenden Tabelle.

Datei Funktion Kommentar
MyMAPIFormViewer.cpp
CMyMAPIFormViewer::DeleteMessage
Nicht implementiert.

Siehe auch

IMAPIMessageSite::GetSiteStatus

IMAPIViewContext::ActivateNext

IPersistMessage::HandsOffMessage

IPersistMessage::Save

IMAPIMessageSite : IUnknown

MFCMAPI (engl.) als ein Codebeispiel

MAPI-Formularschnittstellen