ISyncChangeBatch2::AddMergeTombstoneLoggedConflict
将表示合并逻辑删除冲突的元数据添加到变更批中。
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);
参数
- pbOwnerReplicaId
[in] pChangeVersion 和 pCreationVersion 均有效的副本的副本 ID。ID 格式必须与提供程序的 ID_PARAMETERS 结构指定的格式相匹配。
- pbWinnerItemId
[in] 发生合并后的项的 ID。这也称为入选 ID。ID 格式必须与提供程序的 ID_PARAMETERS 结构指定的格式相匹配。
- pbItemId
[in] 发生合并前的项的 ID。这也称为落选 ID。ID 格式必须与提供程序的 ID_PARAMETERS 结构指定的格式相匹配。
- pChangeVersion
[in] 此变更的版本。
- pCreationVersion
[in] 项的创建版本。
- dwWorkForChange
[in] 变更的工作量估计值。此值用在变更应用程序过程中,用于向应用程序报告已完成的工作。
- pConflictKnowledge
[in] 记录冲突时保存的冲突知识。
- ppChangeBuilder
[in, out, unique] 返回一个可用于将变更单位信息添加到变更的对象。
返回值
S_OK。
E_POINTER。
如果 ISyncChangeBatch 对象是使用 IProviderSyncServices::DeserializeChangeBatch 创建的,则返回值为 SYNC_E_CHANGE_BATCH_IS_READ_ONLY。
备注
添加到变更批中的冲突将不添加到组中。不必打开组就可以将冲突添加到变更批中。
当因合并逻辑删除与已存在于目标副本中的某项或某逻辑删除冲突而无法将该合并逻辑删除添加到目标副本时,将发生合并逻辑删除冲突。