ISaveChangeContext2::SetConstraintConflictOnChange
报告当目标提供程序尝试将变更应用到目标副本时发生了约束冲突。
HRESULT SetConstraintConflictOnChange(
const BYTE * pbConflictingItemId,
CONSTRAINT_CONFLICT_REASON constraintConflictReason);
参数
- pbConflictingItemId
[in, unique] 与要应用的变更冲突的目标项的项 ID。
- constraintConflictReason
[in] 发生冲突的原因。
返回值
S_OK。
如果 constraintConflictReason 为无效值或者 constraintConflictReason 为 CCR_COLLISION 且 pbConflictingItemId 为 NULL,则返回值为 E_INVALIDARG。
如果已对此对象设置约束冲突或可恢复错误,则返回值为 SYNC_E_INVALID_OPERATION。
备注
如果目标提供程序尝试将变更应用到目标副本,而该变更违反了目标副本的约束(如文件夹的关系或文件系统中同名数据的位置),则会出现约束冲突。
当目标提供程序使用此方法报告约束冲突时,变更应用方将基于为会话设置的冲突解决策略或应用程序为指定冲突设置的冲突解决操作来解决该冲突。然后,变更应用方调度对目标提供程序的任何必要的调用,以便目标提供程序可以将已解决的冲突应用到目标副本。有关详细信息,请参阅检测和解决约束冲突。