ISynchronousNotifyingChangeApplier::ApplyFullEnumerationChanges
針對變更的批次執行衝突偵測、衝突處理和變更套用 (完整列舉的一部分)。
HRESULT ApplyFullEnumerationChanges(
CONFLICT_RESOLUTION_POLICY resolutionPolicy,
ISyncFullEnumerationChangeBatch * pSourceChanges,
IUnknown * pUnkDataRetriever,
IEnumSyncChanges * pDestinationVersions,
ISyncKnowledge * pDestinationKnowledge,
IForgottenKnowledge * pDestinationForgottenKnowledge,
ISynchronousNotifyingChangeApplierTarget * pChangeApplierTarget,
ISyncSessionState * pSessionState,
ISyncCallback * pCallback);
參數
參數 |
描述 |
resolutionPolicy |
[in] 要用來解決衝突的原則。 |
pSourceChanges |
[in] 來源提供者的變更批次。 |
pUnkDataRetriever |
[in] 可用來從來源複寫中擷取項目資料的物件。 |
pDestinationVersions |
[in] 包含此目的地複寫內儲存之項目版本的變更批次。這些項目會對應至 pSourceChanges 中的項目。 |
pDestinationKnowledge |
[in] 目的地複寫的知識。 |
pDestinationForgottenKnowledge |
[in] 目的地複寫的被遺忘知識。 |
pChangeApplierTarget |
[in] 將要針對儲存變更和衝突所呼叫的物件。 |
pSessionState |
[in, unique] 有關目前工作階段的狀態資訊。 |
pCallback |
[in, unique] 將會接收有關變更套用事件之通知的回呼。 |
傳回值
S_OK
E_POINTER
SYNC_E_OBJECT_NEEDS_STATE
SYNC_E_INTERNAL_ERROR
SYNC_E_CHANGE_COUNT_MISMATCH
SYNC_E_CHANGE_NEEDS_KNOWLEDGE
SYNC_E_ITEM_HAS_NO_CHANGE_UNITS
SYNC_E_CHANGE_NOT_IN_KNOWLEDGE
SYNC_E_CHANGE_UNIT_COUNT_MISMATCH
SYNC_E_NOT_EXPECTED_CHANGE
SYNC_E_ITEM_MUST_EXIST
SYNC_E_ID_FORMAT_MISMATCH
SYNC_E_BATCH_NEEDS_KNOWLEDGE
SYNC_E_KNOWLEDGE_DECREASED
備註
這個方法會偵測 pSourceChanges 中所傳送變更與目的地複寫中對應項目之間發生的衝突。這個方法會依據 resolutionPolicy 指定的原則解決任何衝突。如果有必要,這個方法便會呼叫 pChangeApplierTarget 上的方法,將變更儲存至目的地複寫,並且儲存未解決的衝突。
請參閱
參考
ISynchronousNotifyingChangeApplier 介面
CONFLICT_RESOLUTION_POLICY 列舉