共用方式為


IChangeApplicationServices 介面

表示可用來個別執行變更應用程式動作的變更應用程式服務物件。

interface IChangeApplicationServices : IUnknown

成員

IChangeApplicationServices 方法 描述

IChangeApplicationServices::Initialize

初始化變更應用程式服務物件。這個方法必須在其他任何方法之前呼叫。

IChangeApplicationServices::BeginChangeApplication

開始處理一組變更。

IChangeApplicationServices::BeginFullEnumerationChangeApplication

開始處理一組變更 (復原同步處理的一部分)。

IChangeApplicationServices::EndChangeApplication

結束處理一組變更。

IChangeApplicationServices::EndFullEnumerationChangeApplication

結束處理一組變更 (復原同步處理的一部分)。

IChangeApplicationServices::SetDestinationKnowledge

設定用來在套用變更時計算更新目的地知識的目的地知識。

IChangeApplicationServices::GetUpdatedDestinationKnowledge

取得包含目前為止已經套用之所有變更的更新目的地知識。

IChangeApplicationServices::GetChangeApplicationContext

取得代表要套用之目前變更的物件。

IChangeApplicationServices::ReportItemChangeApplied

通知變更應用程式服務,表示項目變更已經成功套用至目的地複寫。

IChangeApplicationServices::ReportChangeUnitChangeApplied

通知變更應用程式服務,表示變更單位變更已經成功套用至目的地複寫。

IChangeApplicationServices::ReportRecoverableErrorOnItemChange

通知變更應用程式服務,表示當目的地提供者嘗試套用項目變更時發生了可復原的錯誤。

IChangeApplicationServices::ReportRecoverableErrorOnChangeUnitChange

通知變更應用程式服務,表示當目的地提供者嘗試套用變更單位變更時發生了可復原的錯誤。

備註

IChangeApplicationServices 頁面屬於 Sync Framework 之變更應用程式服務的一部分,而這個介面會在提供者所需的彈性超過 Sync Framework 所提供之標準變更套用者允許的彈性時使用。例如,提供者必須延遲套用特定變更至同步處理工作階段的結尾。不過,標準變更套用者不允許這樣做。此時,提供者就可以使用變更應用程式服務來處理衝突偵測和知識計算,同時仍然保留在必要時延遲變更的能力。

對於不需要變更應用程式服務之額外彈性的提供者而言,使用 ISynchronousNotifyingChangeApplier 之類的標準變更套用者可能比較簡單。

變更應用程式服務通常是由目的地提供者用來協助實作其 IKnowledgeSyncProvider::ProcessChangeBatchIKnowledgeSyncProvider::ProcessFullEnumerationChangeBatch 方法。若要使用變更應用程式服務,請執行下列步驟:

  1. IID_IChangeApplicationServices 傳遞至 IProviderSyncServices::CreateChangeApplier 方法來取得 IChangeApplicationServices 物件。

  2. 呼叫 IChangeApplicationServices::Initialize 來初始化物件。

  3. 透過呼叫 IChangeApplicationServices::BeginChangeApplication 開始處理變更批次,或透過呼叫 IChangeApplicationServices::BeginFullEnumerationChangeApplication 開始處理復原同步處理變更批次。通常,這個方法會針對要處理的每個變更批次呼叫一次。

  4. 列舉變更批次中的變更。請針對每個變更呼叫 IChangeApplicationServices::GetChangeApplicationContext 一次,並且使用傳回的 IChangeApplicationContext 物件來套用變更。

  5. 透過呼叫 IChangeApplicationServices::ReportItemChangeAppliedIChangeApplicationServices::ReportChangeUnitChangeApplied 報告套用變更成功。透過呼叫 IChangeApplicationServices::ReportRecoverableErrorOnItemChangeIChangeApplicationServices::ReportRecoverableErrorOnChangeUnitChange 報告套用變更失敗。

  6. 隨時呼叫 IChangeApplicationServices::GetUpdatedDestinationKnowledge,以便擷取包含目前為止已套用之所有變更的更新目的地知識。

  7. 透過呼叫 IChangeApplicationServices::EndChangeApplication 結束處理變更批次,或透過呼叫 IChangeApplicationServices::EndFullEnumerationChangeApplication 結束處理復原同步處理變更批次。儲存這個方法所傳回更新目的地知識和目的地被遺忘知識物件。

  8. 針對目的地提供者所接收的每個變更批次重複步驟 3 到 7。

需求

**標頭:**Synchronization.h

請參閱

概念

Sync Framework 核心元件