IMAPISupport::ReadReceipt

适用于:Outlook 2013 | Outlook 2016

为邮件生成已读或未读报告。

HRESULT ReadReceipt(
ULONG ulFlags,
LPMESSAGE lpReadMessage,
LPMESSAGE FAR * lppEmptyMessage
);

参数

ulFlags

[in]一个标志的位掩码,用于控制读取或非读取报表的生成方式。 可以设置以下标志:

MAPI_NON_READ

生成非读报表。 如果未设置MAPI_NON_READ,则会生成读取报告。

lpReadMessage

[in]指向应生成报表的消息的指针。

lppEmptyMessage

[in,out]输入时, lppEmptyMessage 指向指向空消息的指针。 输出时, lppEmptyMessage 指向指向报表消息的指针。

返回值

S_OK

已成功生成报告。

备注

IMAPISupport::ReadReceipt 方法仅针对消息存储提供程序支持对象实现。 消息存储提供程序调用 ReadReceipt 以指示 MAPI 为 lpReadMessage 参数指向的消息生成已读或未读报告。

给调用方的说明

当设置了 PR_READ_RECEIPT_REQUESTED (PidTagReadReceiptRequested) 属性并且满足以下条件之一时,调用 ReadReceipt

删除消息时,不要调用 ReadReceipt

对于一条消息,应仅发送一次已读或未读报表。 跟踪邮件的读取状态,不要为单个邮件发送多个报告。

如果 lppEmptyMessage 参数在 MAPI 从 ReadReceipt 返回时指向有效的报告消息,请调用 IMessage::SubmitMessage 方法发送消息,然后通过调用其 IUnknown:s:Release 方法释放指针。

如果 ReadReceipt 失败,则应在不提交的情况下释放消息。 如果存储邮件的读取状态,则可以尝试在以后生成已读或未读报告。

可以隐藏或显示文件夹中存储生成的已读和未读报表。 通过将已读报表和未读报表存储在隐藏文件夹中,可以实现更严格的安全性。

另请参阅

IMAPIFolder::DeleteMessages
IMessage::SubmitMessage
PidTagReadReceiptRequested 规范属性
IMAPISupport : IUnknown