Freigeben über


IMessage::SetReadFlag

Gilt für: Outlook 2013 | Outlook 2016

Legt das MSGFLAG_READ-Flag in der eigenschaft PR_MESSAGE_FLAGS (PidTagMessageFlags) der Nachricht fest oder löscht es und verwaltet das Senden von Leseberichten.

HRESULT SetReadFlag(
  ULONG ulFlags
);

Parameter

ulFlags

[in] Bitmaske von Flags, die die Einstellung des Leseflags einer Nachricht steuert, d. h. das MSGFLAG_READ Flag der Nachricht in der PR_MESSAGE_FLAGS-Eigenschaft und die Verarbeitung von Leseberichten. Die folgenden Flags können festgelegt werden:

  • CLEAR_READ_FLAG: Das MSGFLAG_READ-Flag sollte in PR_MESSAGE_FLAGS deaktiviert werden, und es darf kein Lesebericht gesendet werden.

  • CLEAR_NRN_PENDING: Das MSGFLAG_NRN_PENDING-Flag sollte in PR_MESSAGE_FLAGS deaktiviert und kein nicht gelesener Bericht gesendet werden.

  • CLEAR_RN_PENDING: Das MSGFLAG_RN_PENDING-Flag sollte in PR_MESSAGE_FLAGS deaktiviert werden, und es darf kein Lesebericht gesendet werden.

  • GENERATE_RECEIPT_ONLY: Ein Lesebericht sollte gesendet werden, wenn ein Bericht aussteht, der Status des MSGFLAG_READ-Flags sollte jedoch nicht geändert werden.

  • MAPI_DEFERRED_ERRORS: Ermöglicht die erfolgreiche Rückgabe von SetReadFlag , möglicherweise bevor der Vorgang abgeschlossen wurde.

  • SUPPRESS_RECEIPT: Ein ausstehender Lesebericht sollte abgebrochen werden, wenn ein Lesebericht angefordert wurde und dieser Aufruf den Status der Nachricht von ungelesen in gelesen ändert. Wenn dieser Aufruf den Status der Nachricht nicht ändert, kann der Nachrichtenspeicheranbieter dieses Flag ignorieren.

Rückgabewert

S_OK

Das Leseflag der Nachricht wurde erfolgreich festgelegt oder gelöscht.

MAPI_E_NO_SUPPRESS

Der Nachrichtenspeicheranbieter unterstützt die Unterdrückung von Leseberichten nicht.

MAPI_E_INVALID_PARAMETER

Eine der folgenden Kombinationen von Flags wird im ulFlags-Parameter festgelegt:

  • SUPPRESS_RECEIPT | CLEAR_READ_FLAG

  • SUPPRESS_RECEIPT | CLEAR_READ_FLAG | GENERATE_RECEIPT_ONLY

  • CLEAR_READ_FLAG | GENERATE_RECEIPT_ONLY

Hinweise

Die IMessage::SetReadFlag-Methode legt oder löscht das MSGFLAG_READ-Flag der Nachricht in der PR_MESSAGE_FLAGS-Eigenschaft und ruft IMAPIProp::SaveChanges auf, um die Nachricht zu speichern. Durch Festlegen des MSGFLAG_READ-Flags wird eine Nachricht als gelesen markiert, was nicht unbedingt darauf hinweist, dass der beabsichtigte Empfänger die Nachricht tatsächlich gelesen hat.

SetReadFlags verwaltet auch das Senden von Leseberichten. Ein Lesebericht wird nur gesendet, wenn der Absender einen angefordert hat.

Das Leseflag kann für Folgendes nicht geändert werden:

  • Nachrichten, die nicht vorhanden sind.

  • Nachrichten, die an einen anderen Ort verschoben wurden.

  • Nachrichten, die mit Lese-/Schreibberechtigung geöffnet sind.

  • Nachrichten, die derzeit übermittelt werden.

Hinweise für Aufrufer

Wenn keines der Flags im ulFlags-Parameter festgelegt ist, gelten die folgenden Regeln:

  • Wenn MSGFLAG_READ bereits festgelegt ist, tun Sie nichts.

  • Wenn MSGFLAG_READ nicht festgelegt ist, legen Sie es fest, und senden Sie alle ausstehenden Leseberichte, wenn die eigenschaft PR_READ_RECEIPT_REQUESTED (PidTagReadReceiptRequested) festgelegt ist.

Wenn sowohl die SUPPRESS_RECEIPT- als auch GENERATE_RECEIPT_ONLY-Flags festgelegt sind, sollte das PR_READ_RECEIPT_REQUESTED Bit gelöscht werden, sofern festgelegt, und ein Lesebericht sollte nicht gesendet werden.

Wenn das SUPPRESS_RECEIPT-Flag festgelegt ist:

  • Wenn MSGFLAG_READ bereits festgelegt ist, tun Sie nichts.

  • Wenn MSGFLAG_READ nicht festgelegt ist, legen Sie es fest, und brechen Sie alle ausstehenden Leseberichte ab.

Wenn das CLEAR_READ_FLAG-Flag festgelegt ist, deaktivieren Sie das MSGFLAG_READ-Flag in der PR_MESSAGE_FLAGS-Eigenschaft jeder Nachricht, und senden Sie keine Leseberichte.

Wenn das GENERATE_RECEIPT_ONLY-Flag festgelegt ist, senden Sie alle ausstehenden Leseberichte. Legen Sie MSGFLAG_READ nicht fest oder löschen Sie sie nicht.

Wenn sowohl die SUPPRESS_RECEIPT- als auch GENERATE_RECEIPT_ONLY-Flags festgelegt sind, legen Sie die eigenschaft PR_READ_RECEIPT_REQUESTED auf FALSE fest, wenn sie festgelegt ist, und senden Sie keinen Lesebericht.

Sie können das Berichtsverhalten optimieren, indem Sie die Generierung von Leseberichten unter bestimmten Bedingungen unterdrücken. Wenn Sie die Unterdrückung von Berichten jedoch nicht unterstützen und ein Client SetReadFlag mit festgelegtem SUPPRESS_RECEIPT-Flag aufruft, geben Sie MAPI_E_NO_SUPPRESS zurück.

MFCMAPI-Referenz

Einen MFCMAP-Beispielcode finden Sie in der folgenden Tabelle.

Datei Funktion Kommentar
FolderDlg.cpp
CFolderDlg::OnSetReadFlag
MFCMAPI verwendet die IMessage::SetReadFlag-Methode , um Leseflags für ausgewählte Nachrichten festzulegen.

Siehe auch