IChangeApplicationServices 介面
表示可用來個別執行變更應用程式動作的變更應用程式服務物件。
interface IChangeApplicationServices : IUnknown
成員
IChangeApplicationServices 方法 | 描述 |
---|---|
初始化變更應用程式服務物件。這個方法必須在其他任何方法之前呼叫。 |
|
開始處理一組變更。 |
|
IChangeApplicationServices::BeginFullEnumerationChangeApplication |
開始處理一組變更 (復原同步處理的一部分)。 |
結束處理一組變更。 |
|
IChangeApplicationServices::EndFullEnumerationChangeApplication |
結束處理一組變更 (復原同步處理的一部分)。 |
設定用來在套用變更時計算更新目的地知識的目的地知識。 |
|
取得包含目前為止已經套用之所有變更的更新目的地知識。 |
|
取得代表要套用之目前變更的物件。 |
|
通知變更應用程式服務,表示項目變更已經成功套用至目的地複寫。 |
|
通知變更應用程式服務,表示變更單位變更已經成功套用至目的地複寫。 |
|
IChangeApplicationServices::ReportRecoverableErrorOnItemChange |
通知變更應用程式服務,表示當目的地提供者嘗試套用項目變更時發生了可復原的錯誤。 |
IChangeApplicationServices::ReportRecoverableErrorOnChangeUnitChange |
通知變更應用程式服務,表示當目的地提供者嘗試套用變更單位變更時發生了可復原的錯誤。 |
備註
IChangeApplicationServices 頁面屬於 Sync Framework 之變更應用程式服務的一部分,而這個介面會在提供者所需的彈性超過 Sync Framework 所提供之標準變更套用者允許的彈性時使用。例如,提供者必須延遲套用特定變更至同步處理工作階段的結尾。不過,標準變更套用者不允許這樣做。此時,提供者就可以使用變更應用程式服務來處理衝突偵測和知識計算,同時仍然保留在必要時延遲變更的能力。
對於不需要變更應用程式服務之額外彈性的提供者而言,使用 ISynchronousNotifyingChangeApplier 之類的標準變更套用者可能比較簡單。
變更應用程式服務通常是由目的地提供者用來協助實作其 IKnowledgeSyncProvider::ProcessChangeBatch 和 IKnowledgeSyncProvider::ProcessFullEnumerationChangeBatch 方法。若要使用變更應用程式服務,請執行下列步驟:
將 IID_IChangeApplicationServices 傳遞至 IProviderSyncServices::CreateChangeApplier 方法來取得 IChangeApplicationServices 物件。
呼叫 IChangeApplicationServices::Initialize 來初始化物件。
透過呼叫 IChangeApplicationServices::BeginChangeApplication 開始處理變更批次,或透過呼叫 IChangeApplicationServices::BeginFullEnumerationChangeApplication 開始處理復原同步處理變更批次。通常,這個方法會針對要處理的每個變更批次呼叫一次。
列舉變更批次中的變更。請針對每個變更呼叫 IChangeApplicationServices::GetChangeApplicationContext 一次,並且使用傳回的 IChangeApplicationContext 物件來套用變更。
透過呼叫 IChangeApplicationServices::ReportItemChangeApplied 或 IChangeApplicationServices::ReportChangeUnitChangeApplied 報告套用變更成功。透過呼叫 IChangeApplicationServices::ReportRecoverableErrorOnItemChange 或 IChangeApplicationServices::ReportRecoverableErrorOnChangeUnitChange 報告套用變更失敗。
隨時呼叫 IChangeApplicationServices::GetUpdatedDestinationKnowledge,以便擷取包含目前為止已套用之所有變更的更新目的地知識。
透過呼叫 IChangeApplicationServices::EndChangeApplication 結束處理變更批次,或透過呼叫 IChangeApplicationServices::EndFullEnumerationChangeApplication 結束處理復原同步處理變更批次。儲存這個方法所傳回更新目的地知識和目的地被遺忘知識物件。
針對目的地提供者所接收的每個變更批次重複步驟 3 到 7。
需求
**標頭:**Synchronization.h