從程式使用 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::P repareForSync 方法,讓您的處理常式有機會顯示同步處理開始之前所需的任何使用者介面元素。 例如,電子郵件應用程式可能會顯示使用者登入對話方塊。
  5. 您的處理常式會在顯示任何使用者介面元素之前和之後呼叫 ISyncMgrSynchronizeCallback::EnableModowed 。 您的處理常式會在完成時呼叫 ISyncMgrSynchronizeCallback::P repareForSyncCompleted
  6. SyncMgr 會呼叫 您的 ISyncMgrSynchronize::Synchronize 方法來啟動同步處理。

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

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

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

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