ISynchronousNotifyingChangeApplierTarget2::SaveConstraintConflict

When implemented by a derived class, saves information about items that are involved in a constraint conflict.

Syntax

HRESULT SaveConstraintConflict(
  ISyncChange * pChange,
  BYTE * pConflictingItemId,
  CONSTRAINT_CONFLICT_REASON constraintConflictReason,
  IUnknown * pUnkData,
  ISyncKnowledge * pConflictKnowledge,
  BOOL fTemporary);

Parameters

  • pChange
    [in] The item metadata for the conflicting change from the source provider.

  • pConflictingItemId
    [in] The item ID of the item in the destination replica that conflicts with the item specified by pChange.

  • constraintConflictReason
    [in] The reason the conflict occurred.

  • pUnkData
    [in] The item data for the conflicting change.

  • pConflictKnowledge
    [in] The knowledge to be learned if this change is applied. This must be saved with the change.

  • fTemporary
    [in] TRUE if this is a temporary conflict. Otherwise, FALSE.

Return Value

  • S_OK

  • Provider-determined error codes

Remarks

If the change that is represented by this conflict is applied to a replica, pConflictKnowledge must be combined with the knowledge of that replica.

See Also

Reference

ISynchronousNotifyingChangeApplierTarget2 Interface

Concepts

Detecting and Resolving Constraint Conflicts

Logging and Managing Conflicts