ISimpleSyncEvents::OnConstraintConflict
在 Sync Framework 检测到正在处理的项与约束冲突有关时调用。
HRESULT OnConstraintConflict(
const CONFLICT_INFORMATION *pAdditionalConflictInfo,
const ITEM_FIELDS *pLocalConflictingItem,
const ITEM_FIELDS *pRemoteItem,
const CHANGE_UNIT_SET *pChangeUnitsToApply,
IUnknown *pRemoteConflictingItemData,
SYNC_CONSTRAINT_RESOLVE_ACTION *pRequestedResolution,
BOOL *pfForwardToApplication);
参数
- pAdditionalConflictInfo
[in] 一个 CONFLICT_INFORMATION 对象,包含有关远程提供程序对存在冲突的项已知的任何项版本的信息。
- pLocalConflictingItem
[in] 本地项的键属性和版本属性。
- pRemoteItem
[in, unique] 在传入变更是一个更新时,因该变更而正在修改的项的键属性和版本属性。如果传入变更是一个插入,则为 Null。
- pChangeUnitsToApply
[in, unique] 应在冲突解决期间应用的一组变更单位。
- pRemoteConflictingItemData
[in] 与远程冲突项相关联的数据。如果传入变更是一个删除,则为 Null。
- pRequestedResolution
[out] 一个 SYNC_CONSTRAINT_RESOLVE_ACTION 枚举值,表示用于解决约束冲突的选项。
- pfForwardToApplication
[out] 如果设置为 TRUE,则忽略 pRequestedResolution 并将通知转发给应用程序。
返回值
- S_OK
备注
此事件用于约束冲突,当某一项与目标存储区中的另一项发生冲突而无法保存该项时(例如当源提供程序发送的文件与目标副本中已存在的文件具有相同的名称和位置时),则发生约束冲突。有关详细信息,请参阅为简单提供程序处理冲突。