共用方式為


ISaveChangeContext::GetChangeFromDestinationVersions

取得包含目的地提供者提供給變更套用者之原始版本的物件。

HRESULT GetChangeFromDestinationVersions(
  ISyncChange ** ppChangeFromDestinationVersions);

參數

  • ppChangeFromDestinationVersions
    [out] 傳回包含目的地提供者提供給變更套用者之原始版本的物件。

傳回值

  • S_OK

  • E_POINTER

  • SYNC_E_INTERNAL_ERROR

備註

這個方法可用來實作開放式並行存取 (Optimistic Concurrency) 檢查。若要這樣做,目的地提供者會將 ppChangeFromDestinationVersions 物件包含的版本與其中繼資料中的目前版本進行比較。如果這些版本不相同,表示在開始變更套用與呼叫 ISynchronousNotifyingChangeApplierTarget::SaveChange 的這段時間內,目的地複寫的項目已經變更。如果發生這種情況,目的地提供者必須使用 ISaveChangeContext::SetRecoverableErrorOnChange 來報告錯誤,而且不得套用此中繼資料和這項變更的資料。請注意,必須先更新中繼資料存放區中的版本,然後再執行這項並行檢查 (例如,在中繼資料存放區中的版本已經更新、項目存放區中已進行項目變更的系統上執行檢查),這項並行檢查才會有效。

請參閱

參考

ISaveChangeContext 介面