IMAPIFolder::DeleteMessages
Gilt für: Outlook 2013 | Outlook 2016
Löscht eine oder mehrere Nachrichten.
HRESULT DeleteMessages(
LPENTRYLIST lpMsgList,
ULONG_PTR ulUIParam,
LPMAPIPROGRESS lpProgress,
ULONG ulFlags
);
Parameter
lpMsgList
[in] Ein Zeiger auf eine ENTRYLIST-Struktur , die die Anzahl der zu löschenden Nachrichten und ein Array von ENTRYID-Strukturen enthält, die die Nachrichten identifizieren.
ulUIParam
[in] Ein Handle für das übergeordnete Fenster der Statusanzeige. Der ulUIParam-Parameter wird ignoriert, es sei denn, das MESSAGE_DIALOG-Flag ist im ulFlags-Parameter festgelegt.
lpProgress
[in] Ein Zeiger auf ein Statusobjekt, das eine Statusanzeige anzeigt. Wenn NULL in lpProgress übergeben wird, zeigt der Nachrichtenspeicheranbieter mithilfe der MAPI-Statusobjektimplementierung eine Statusanzeige an. Der lpProgress-Parameter wird ignoriert, es sei denn, das MESSAGE_DIALOG-Flag ist im ulFlags-Parameter festgelegt.
ulFlags
[in] Eine Bitmaske von Flags, die steuert, wie die Nachrichten gelöscht werden. Die folgenden Flags können festgelegt werden:
DELETE_HARD_DELETE
Entfernt dauerhaft alle Nachrichten, einschließlich vorläufig gelöschter Nachrichten.
MESSAGE_DIALOG
Zeigt eine Statusanzeige an, während der Vorgang fortgesetzt wird.
Rückgabewert
S_OK
Die angegebenen Nachrichten wurden erfolgreich gelöscht.
MAPI_W_PARTIAL_COMPLETION
Der Aufruf war erfolgreich, aber nicht alle Nachrichten wurden erfolgreich gelöscht. Wenn diese Warnung zurückgegeben wird, sollte der Aufruf als erfolgreich behandelt werden. 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 IMAPIFolder::D eleteMessages-Methode löscht Nachrichten aus einem Ordner. Nachrichten, die nicht vorhanden sind, die an einen anderen Ort verschoben wurden, die mit Lese-/Schreibberechtigung geöffnet sind oder die derzeit übermittelt werden, können nicht gelöscht werden.
Hinweise für Implementierer
Wenn der Löschvorgang mehrere Nachrichten umfasst, führen Sie den Vorgang so vollständig wie möglich für jeden Ordner aus, auch wenn eine oder mehrere der Nachrichten nicht gelöscht werden können. Beenden Sie den Vorgang nicht vorzeitig, es sei denn, es tritt ein Fehler auf, der außerhalb Ihrer Kontrolle liegt, z. B. nicht genügend Arbeitsspeicher, nicht genügend Speicherplatz auf dem Datenträger oder beschädigung im Nachrichtenspeicher.
Hinweise für Aufrufer
Erwarten Sie diese Rückgabewerte unter den folgenden Bedingungen.
Bedingung | R�ckgabewert |
---|---|
DeleteMessages hat erfolgreich jede Nachricht gelöscht. | S_OK |
DeleteMessages konnte nicht alle Nachrichten und Unterordner erfolgreich löschen. | MAPI_W_PARTIAL_COMPLETION oder MAPI_E_NOT_FOUND |
DeleteMessages konnte nicht abgeschlossen werden. | Beliebiger Fehlerwert außer MAPI_E_NOT_FOUND |
Wenn DeleteMessages nicht abgeschlossen werden kann, gehen Sie nicht davon aus, dass keine Arbeit erledigt wurde. DeleteMessages konnte möglicherweise eine oder mehrere der Nachrichten löschen, bevor der Fehler auftritt.
DeleteMessages gibt abhängig von der Implementierung des Nachrichtenspeichers MAPI_W_PARTIAL_COMPLETION oder MAPI_E_NOT_FOUND zurück.
MFCMAPI-Referenz
Einen MFCMAP-Beispielcode finden Sie in der folgenden Tabelle.
Datei | Funktion | Kommentar |
---|---|---|
FolderDlg.cpp |
CFolderDlg::OnDeleteselectedItem |
MFCMAPI verwendet die IMAPIFolder::D eleteMessages-Methode , um die angegebenen Nachrichten zu löschen. |