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 中传递的冲突知识和生成知识对象中,但不克隆它们。

请参阅

参考

IProviderSyncServices2 接口