IMAPIFolder::EmptyFolder

适用于:Outlook 2013 | Outlook 2016

从文件夹中删除所有邮件和子文件夹,而不删除文件夹本身。

HRESULT EmptyFolder(
  ULONG_PTR ulUIParam,
  LPMAPIPROGRESS lpProgress,
  ULONG ulFlags
);

参数

ulUIParam

[in]进度指示器的父窗口的句柄。 除非 ulFlags 参数中设置了 FOLDER_DIALOG 标志,否则忽略 ulUIParam 参数。

lpProgress

[in]指向显示进度指示器的进度对象的指针。 如果在 lpProgress 中传递 NULL,则消息存储提供程序使用 MAPI 进度对象实现显示进度指示器。 除非在 ulFlags 参数中设置了 FOLDER_DIALOG 标志,否则将忽略 lpProgress 参数。

ulFlags

[in]控制文件夹清空方式的标志的位掩码。 可以设置以下标志:

DEL_ASSOCIATED

删除所有子文件夹,包括包含具有关联内容的消息的子文件夹。 DEL_ASSOCIATED标志仅对调用所针对的顶级文件夹有意义。

DELETE_HARD_DELETE

永久删除所有邮件,包括软删除的消息。

FOLDER_DIALOG

在操作继续时显示进度指示器。

返回值

S_OK

已成功清空文件夹。

MAPI_W_PARTIAL_COMPLETION

调用成功,但文件夹未完全清空。 返回此警告时,应将调用处理为成功。 若要测试此警告,请使用 HR_FAILED 宏。 有关详细信息,请参阅 使用宏进行错误处理

备注

IMAPIFolder::EmptyFolder 方法删除文件夹的所有内容,而不删除文件夹本身。

EmptyFolder 调用期间,不会删除提交的消息。

文件夹的关联内容包括用于描述视图、规则、自定义窗体和自定义解决方案存储的邮件,还可以包含表单定义。

针对实现者的说明

不要为已提交的文件夹中的邮件调用 IMsgStore::AbortSubmit 方法。 不会删除已提交的邮件。

给调用方的说明

在以下条件下,应使用这些返回值。

Condition 返回值
EmptyFolder 已成功清空文件夹。 S_OK
EmptyFolder 无法完全清空文件夹。 MAPI_W_PARTIAL_COMPLETION
EmptyFolder 无法完成。 任何错误值

EmptyFolder 无法完成时,不要假定未完成任何工作。 在遇到错误之前,EmptyFolder 可能已经能够删除文件夹的某些内容。

MFCMAPI 引用

有关 MFCMAPI 示例代码,请参阅下表。

文件 函数 Comment
MsgStoreDlg.cpp
CMsgStoreDlg::OnEmptyFolder
MFCMAPI 使用 IMAPIFolder::EmptyFolder 方法删除指定文件夹的内容。

另请参阅

IMsgStore::AbortSubmit

IMAPIFolder : IMAPIContainer

MFCMAPI 代码示例

使用宏进行错误处理