IMAPIProgress::SetLimits

Applies to: Outlook 2013 | Outlook 2016

Sets the lower and upper limits for the number of items in the operation, and the flags that control how progress information is calculated for the operation.

HRESULT SetLimits(
  LPULONG lpulMin,
  LPULONG lpulMax,
  LPULONG lpulFlags
);

Parameters

lpulMin

[in] A pointer to a variable that contains the lower limit of items in the operation.

lpulMax

[in] A pointer to a variable that contains the upper limit of items in the operation.

lpulFlags

[in] A bitmask of flags that controls the level of operation on which progress information is calculated. The following flag can be set:

MAPI_TOP_LEVEL

Uses the values in the IMAPIProgress::Progress method's ulCount and ulTotal parameters, which indicate the currently processed item and the total items, respectively, to increment progress on the operation. When this flag is set, the values of the global lower and upper limits have to be set.

Return value

S_OK

The call succeeded and has returned the expected value or values.

Remarks

Service providers call the IMAPIProgress::SetLimits method to set or clear the MAPI_TOP_LEVEL flag and to set local and global minimum and maximum values. The value of the flag setting affects whether the progress object understands the minimum and maximum values to be local or global. When the MAPI_TOP_LEVEL flag is set, these values are considered global and are used to calculate progress for the entire operation. Progress objects initialize the global minimum value to 1 and the global maximum value to 1000.

When MAPI_TOP_LEVEL is not set, the minimum and maximum values are considered local, and providers use them internally to display progress for lower level subobjects. Progress objects save the local minimum and maximum values only so that they can be returned to providers when the IMAPIProgress::GetMin and IMAPIProgress::GetMax methods are called.

For more information about how to implement SetLimits and the other IMAPIProgress methods, see Implementing a Progress Indicator.

For more information about how and when to make calls to a progress object, see Display a Progress Indicator.

MFCMAPI reference

For MFCMAPI sample code, see the following table.

File Function Comment
MAPIProgress.cpp
CMAPIProgress::SetLimits
MFCMAPI uses the IMAPIProgress::SetLimits method to set the maximum and minimum limits and flags for the progress object.

See also

IMAPIProgress::GetMax IMAPIProgress::GetMin
IMAPIProgress::Progress
IMAPIProgress : IUnknown MFCMAPI as a Code Sample
Display a Progress Indicator
Implementing a Progress Indicator