IActionProgress interface (shobjidl_core.h)

Represents the abstract base class from which progress-driven operations can inherit.

Inheritance

The IActionProgress interface inherits from the IUnknown interface. IActionProgress also has these types of members:

Methods

The IActionProgress interface has these methods.

 
IActionProgress::Begin

Called when an action has begun that requires its progress be displayed to the user.
IActionProgress::End

Indicates that the action associated with this progress implementation has ended.
IActionProgress::QueryCancel

Provides information about whether the action is being canceled.
IActionProgress::ResetCancel

Resets progress dialog after a cancellation has been completed.
IActionProgress::UpdateProgress

Updates the progress of an action to the UI.
IActionProgress::UpdateText

Called if descriptive text associated with the action will be changed.

Remarks

This class is an abstract class that may not be instantiated. It provides a framework that derived classes can use to implement a progress callback. This callback can be used by applications to report progress of actions to the UI. Here, "Actions" refers to operations that may take a significant amount of time, such as downloading or copying files, and during which a visible progress indication would be appropriate.

Applications typically do not implement this interface. Much of the functionality that users interact with during actions is provided by the CProgressDialog class (CLSID_ProgressDialog) that implements IActionProgress and displays progress in a dialog box. If a solution requiring a mechanism other than a dialog box is required, IActionProgress can be used to provide basic progress indicator functionality.

Once implemented, classes should call IActionProgress::Begin when an action is started. Periodically, IActionProgress::UpdateProgress should be called to update the UI with progress information, and detailed textual information should be conveyed to the UI by calling IActionProgress::UpdateText. IActionProgress::QueryCancel and IActionProgress::ResetCancel should be called to handle cancellation requests. Once the operation ends, IActionProgress::End should be called.

Requirements

Requirement Value
Minimum supported client Windows XP [desktop apps only]
Minimum supported server Windows Server 2003 [desktop apps only]
Target Platform Windows
Header shobjidl_core.h (include Shobjidl.h)

See also

IProgressDialog