ISyncMgrUIOperation interface (syncmgr.h)

Exposes a method through which a sync handler or sync item can display a UI object when requested to do so by Sync Center.

Inheritance

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

Methods

The ISyncMgrUIOperation interface has these methods.

 
ISyncMgrUIOperation::Run

Performs the actual display of UI for a handler or sync item when requested to do so by Sync Center.

Remarks

Handlers implement ISyncMgrUIOperation to provide UI for a particular action. Each separate action (browse, schedule, enable/disable, activate/deactivate, and delete) requires a separate implementation.

A handler should only implement this interface for operations for which it wants to present UI.

The following summarizes the steps Sync Center takes to instantiate and use this interface.

  1. Sync Center creates a separate thread for the UI operation.
  2. Sync Center creates a new instance of the handler.
  3. If the operation involves only a handler, Sync Center calls ISyncMgrHandler::GetObject with the appropriate SYNCMGR_OBJECTID object ID to obtain a pointer to the ISyncMgrUIOperation that implements that UI object. For example, Sync Center calls ISyncMgrHandler::GetObject with SYNCMGR_OBJECTID_QueryBeforeDelete to obtain an object that is called to display UI when the user chooses to delete the handler, asking for a confirmation that they do indeed want to delete it.
  4. If the operation involves a sync item, Sync Center makes a series of calls, including the following:
    1. QueryInterface is called on the ISyncMgrHandler interface to retrieve an instance of ISyncMgrSyncItemContainer.
    2. ISyncMgrSyncItemContainer::GetSyncItem is called to obtain a pointer to the ISyncMgrSyncItem instance representing the item.
    3. ISyncMgrSyncItem::GetObject is called with the appropriate SYNCMGR_OBJECTID object ID to obtain a pointer to the ISyncMgrUIOperation that implements the UI object.
  5. Sync Center calls the UI object's Run method to display the UI.
By implementing the UI as a separate interface, the display of the UI can be performed independently of synchronization. ISyncMgrUIOperation should be implemented on a different object than either ISyncMgrHandler or ISyncMgrSyncItem.

If the user requests an action, then requests that same action again before the first has completed, the UI for the initial action is activated and brought to the foreground.

Requirements

Requirement Value
Minimum supported client Windows Vista [desktop apps only]
Minimum supported server Windows Server 2008 [desktop apps only]
Target Platform Windows
Header syncmgr.h