IMAPIProgress : IUnknown

Last modified: July 23, 2011

Applies to: Outlook

In this article
Vtable Order
MFCMAPI Reference

Implements a progress object that provides client applications with a progress indicator. A progress indicator is a user-interface display that shows the percentage of completion of an operation, such as copying folders between message stores. MAPI and client applications implement progress objects and service providers use them.

Header file:


Exposed by:

Progress objects

Implemented by:

MAPI and client applications

Called by:

Service providers

Interface identifier:


Pointer type:



Updates the progress indicator with a display of the progress as it is made toward completion of the operation.


Returns flag settings from the progress object for the level of operation on which progress information is calculated.


Returns the maximum number of items in the operation for which progress information is displayed.


Returns the minimum value in the SetLimits method for which progress information is displayed.


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.

MAPI includes an lpProgress parameter in many of the methods that perform potentially lengthy operations. lpProgress points to a client implementation of a progress object. Clients that implement the IMAPIProgress interface set this parameter to point to their implementation; clients that do not implement IMAPIProgress set the parameter to NULL. To display a progress indicator during processing of the operation, service providers use the progress object supplied by the client, if available, or a MAPI implementation (indicated when lpProgress is set to NULL).

For MFCMAPI sample code, see the following table.




MapiProgress.h and MapiProgress.cpp

Not applicable

If the IMAPIProgress setting is enabled, MFCMAPI will pass an IMAPIProgress implementation to all functions that MFCMAPI invokes that accept an implementation.