IMAPIProgress::Progress

适用于:Outlook 2013 | Outlook 2016

汇报进度指示器,并显示完成操作的进度。

HRESULT Progress(
  ULONG ulValue,
  ULONG ulCount,
  ULONG ulTotal
);

参数

ulValue

[in]指示当前进度级别的数字 (从 ulCountulTotal 参数或 IMAPIProgress::SetLimits 方法的 lpulMinlpulMax 参数) 全局下限和全局上限之间计算。

ulCount

[in]一个数字,指示当前处理的项相对于总计。

ulTotal

[in]操作期间要处理的项总数。

返回值

S_OK

进度指示器已成功更新。

针对实现者的说明

ulValue 参数仅在操作开始时等于全局最小值,仅在操作完成时等于全局最大值。

使用 ulCountulTotal 参数(如果可用)显示可选消息,例如“5 个项目已完成,共 10 项”。如果 ulCountulTotal 设置为 0,请决定是否直观地更改进度指示器。 某些服务提供程序将这些参数设置为 0,以指示他们正在处理其进度相对于父对象的监视的子对象。 在这种情况下,仅当父对象报告进度时更改显示是有意义的。 某些服务提供商每次都为这些参数传递 0。

有关如何实现 进度 和其他 IMAPIProgress 方法的详细信息,请参阅 实现进度指示器

给调用方的说明

并非 IMAPIProgress::P rogress 的所有三个参数都是必需的。 唯一需要的参数是 ulValue,这是一个指示进度百分比的数字。 如果设置了MAPI_TOP_LEVEL标志,还可以传递对象计数和对象总计。 某些实现使用这些值来显示一个短语,例如“5 个项目已完成 10 项”和进度指示器。

如果要复制单个文件夹中的所有邮件,请将 ulTotal 设置为要复制的邮件总数。 如果要复制文件夹,请将 ulTotal 设置为文件夹中的子文件夹数。 如果要复制的文件夹不包含子文件夹且仅包含邮件,请将 ulTotal 设置为 1。

有关如何调用进度对象以及何时调用的详细信息,请参阅显示进度指示器

MFCMAPI 引用

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

文件 函数 备注
MAPIProgress.cpp
CMAPIProgress::P rogress
MFCMAPI 使用 IMAPIProgress::P rogress 方法使用当前进度百分比(从 uValue 和当前最大值和最小值计算)更新 MFCMAPI 状态栏。

另请参阅

IMAPIProgress::SetLimits

IMAPIProgress : IUnknown

MFCMAPI 代码示例

显示进度指示器

实现进度指示器