ISyncChangeBatch2::AddMergeTombstoneLoggedConflict
Adds metadata that represents a merge tombstone conflict to the change batch.
HRESULT AddMergeTombstoneLoggedConflict(
const BYTE * pbOwnerReplicaId,
const BYTE * pbWinnerItemId,
const BYTE * pbItemId,
const SYNC_VERSION * pChangeVersion,
const SYNC_VERSION * pCreationVersion,
DWORD dwWorkForChange,
ISyncKnowledge * pConflictKnowledge,
ISyncChangeBuilder ** ppChangeBuilder);
Parameters
- pbOwnerReplicaId
[in] The replica ID of the replica where pChangeVersion and pCreationVersion are valid. The ID format must match the format that is specified by the ID_PARAMETERS structure of the provider.
- pbWinnerItemId
[in] The ID of the item after the merge occurred. This is also called the winning ID. The ID format must match the format that is specified by the ID_PARAMETERS structure of the provider.
- pbItemId
[in] The ID of the item before the merge occurred. This is also called the losing ID. The ID format must match the format that is specified by the ID_PARAMETERS structure of the provider.
- pChangeVersion
[in] The version of this change.
- pCreationVersion
[in] The creation version of the item.
- dwWorkForChange
[in] The work estimate for the change. This value is used during change application to report completed work to the application.
- pConflictKnowledge
[in] The conflict knowledge that was saved when the conflict was logged.
- ppChangeBuilder
[in, out, unique] Returns an object that can be used to add change unit information to the change.
Return Value
S_OK.
E_POINTER.
SYNC_E_CHANGE_BATCH_IS_READ_ONLY when the ISyncChangeBatch object was created by using IProviderSyncServices::DeserializeChangeBatch.
Remarks
Conflicts that are added to the change batch are not added to a group. A group does not have to be opened to add conflicts to the change batch.
A merge tombstone conflict occurs when a merge tombstone cannot be added to the destination replica because it conflicts with an item or tombstone that already exists in the destination replica.