共用方式為


從程式使用 Synchronization Manager

若要讓應用程式能夠使用 Synchronization Manager,您必須實作元件物件模型 (COM) 物件,以處理您從 SyncMgr 收到的同步處理通知。 應用程式的處理程式會針對您處理的專案執行同步處理。 在包含於您的處理程式中,您必須實作 ISyncMgrSynchronize 介面。 此外,您必須為您的應用程式可以同步的任何獨立項目提供一個列舉物件和 ISyncMgrEnumItems

SyncMgr 會實作 ISyncMgrSynchronizeCallbackISyncMgrSynchronizeInvoke

SyncMgr 會呼叫您 ISyncMgrSynchronize 中的方法,以取得應用程式所處理之專案的資訊,以及您為同步處理這些專案而提供之處理程序的資訊。

在運行時間,同步處理程式會遵循下列步驟。

  1. SyncMgr 會通知您的應用程式,您的應用程式需要同步處理應用程式的其中一個專案,方法是呼叫 ISyncMgrSynchronize::Initialize 方法。
  2. SyncMgr 會呼叫 ISyncMgrSynchronize::EnumSyncMgrItems,以取得應用程式所處理專案的 ISyncMgrEnumItems 介面。
  3. SyncMgr 會呼叫 ISyncMgrSynchronize::SetProgressCallback,為您的處理程式提供 ISyncMgrSynchronizeCallback 介面的介面指標。 您的處理程式會在同步處理期間使用此介面回呼 SyncMgr。
  4. SyncMgr 接著會呼叫您的 ISyncMgrSynchronize::PrepareForSync 方法,讓您的處理程式有機會顯示同步處理開始之前所需的任何使用者介面元素。 例如,電子郵件應用程式可能會顯示使用者登入對話方塊。
  5. 您的處理程式會在顯示任何使用者介面元素之前和之後呼叫 ISyncMgrSynchronizeCallback::EnableModeless。 處理程式會在完成時呼叫 ISyncMgrSynchronizeCallback::PrepareForSyncCompleted
  6. SyncMgr 會呼叫您的 ISyncMgrSynchronize::Synchronize 方法來啟動同步處理。

在同步處理過程中,SyncMgr 會繼續呼叫您 ISyncMgrSynchronize 介面中的方法。 它可以傳送您的處理程式錯誤、進度和通知。 它也可以列舉應用程式處理的專案,或允許應用程式顯示項目的屬性。

您的處理程式會呼叫 ISyncMgrSynchronizeCallback 中的方法,以判斷是否應該略過專案、記錄錯誤,以及在同步處理過程中張貼進度資訊。

如需詳細資訊,請參閱相關介面的相關參考頁面。

同步處理完成時,您的處理程式會呼叫 ISyncMgrSynchronizeCallback::SynchronizeCompleted