ISynchronousNotifyingChangeApplier::ApplyChanges
일괄 변경 내용에 대해 충돌 검색, 충돌 처리 및 변경 내용 적용을 수행합니다.
HRESULT ApplyChanges(
CONFLICT_RESOLUTION_POLICY resolutionPolicy,
ISyncChangeBatch *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] 현재 세션에 대한 상태 정보입니다.
- pCallback
[in] 변경 내용 적용 이벤트에 대한 알림을 받을 콜백입니다.
반환 값
S_OK
E_OUTOFMEMORY
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
주의
일반적으로 이 메서드는 공급자가 해당 IKnowledgeSyncProvider::ProcessChangeBatch 메서드에서 호출합니다. 이 메서드는 pSourceChanges로 보내는 변경 내용과 대상 복제본의 해당 항목 간에 발생하는 충돌을 검색하고, resolutionPolicy에서 지정한 정책에 따라 모든 충돌을 해결합니다. 그런 다음 필요에 따라 pChangeApplierTarget에서 메서드를 호출하여 변경 내용을 대상 복제본에 저장하고 해결되지 않은 충돌을 저장합니다.
pDestinationVersions가 NULL이면 이 메서드가 pSourceChanges에 있는 각 항목의 pChangeApplierTarget에 대해 ISynchronousNotifyingChangeApplierTarget::GetDestinationVersion을 호출합니다.
참고 항목
참조
ISynchronousNotifyingChangeApplier 인터페이스
CONFLICT_RESOLUTION_POLICY 열거형