IProviderSyncServices2::CreateLoggedConflict
创建一个表示记录的冲突的 ILoggedConflict 对象。
语法
HRESULT CreateLoggedConflict(
BOOL fConstraint,
ISyncChange * pChange,
BYTE * pConflictingItemId,
CONSTRAINT_CONFLICT_REASON constraintConflictReason,
IUnknown * pUnkData,
ISyncKnowledge * pConflictKnowledge,
ISyncKnowledge * pMadeWithKnowledge,
BOOL fTemporary,
ILoggedConflict ** ppLoggedConflict);
参数
fConstraint
[in] 如果此冲突表示约束冲突,则为 TRUE。否则为 FALSE。pChange
[in] 源提供程序中的冲突变更的项元数据。pConflictingItemId
[in] 目标副本中与 pChange 所指定项冲突的项的项 ID(当此冲突为约束冲突时)。如果 fConstraint 为 FALSE,则此值必须为 NULL。constraintConflictReason
[in] 当此冲突是约束冲突时发生冲突的原因。如果 fConstraint 为 FALSE,则忽略此值。pUnkData
[in] pChange 的项数据(如果存在项数据)。pConflictKnowledge
[in] 应用此变更时要了解的知识。pMadeWithKnowledge
[in] 此变更的生成知识。变更的生成知识通常是在进行此变更时副本所具有的知识。fTemporary
[in] 如果这是临时冲突,则为 TRUE。否则为 FALSE。ppLoggedConflict
[out] 新创建的 ILoggedConflict 对象。
返回值
S_OK。
如果 fConstraint 指示此冲突不是约束冲突并且 pConflictingItemId 不为 NULL,或者 pConflictingItemId 不是有效的 ID 或 constraintConflictReason 不是有效值,则返回值为 E_INVALIDARG。
E_OUTOFMEMORY。
E_POINTER。
如果尚未初始化此对象,则返回值为 SYNC_E_INVALID_OPERATION。
注释
返回的 ILoggedConflict 对象将引用添加到在 pConflictKnowledge 和 pMadeWithKnowledge 中传递的冲突知识和生成知识对象中,但不克隆它们。