IProviderSyncServices2::CreateSyncChangeForMergeTombstone

Creates an ISyncChange object or an ISyncChangeBuilder object that represents a merge tombstone.

Syntax

HRESULT CreateSyncChangeForMergeTombstone(
  const BYTE * pbOwnerReplicaId, 
  const BYTE * pbItemId, 
  const BYTE * pbWinnerItemId,
  const SYNC_VERSION * pChangeVersion,
  const SYNC_VERSION * pCreationVersion, 
  REFIID riid,
  void ** ppUnknown);

Parameters

  • pbOwnerReplicaId
    [in] The ID of the replica that originated this change.

  • pbItemId
    [in] The ID of the item before the merge occurred. This is also called the losing ID.

  • pbWinnerItemId
    [in] The ID of the item after the merge occurred. This is also called the winning ID.

  • pChangeVersion
    [in] The version of the change.

  • pCreationVersion
    [in] The creation version of the item identified by pbItemId.

  • riid
    [in] The IID of the object to create. The following values are valid:

    • IID_ISyncChange

    • IID_ISyncChangeBuilder

  • ppUnknown
    [out, iid_is(riid)] Returns the newly created object.

Return Value

  • S_OK.

  • E_INVALIDARG when riid is not IID_ISyncChange or IID_ISyncChangeBuilder.

  • E_OUTOFMEMORY.

  • E_POINTER.

  • SYNC_E_INVALID_OPERATION when this object is not initialized.

Remarks

A merge tombstone is used to indicate that conflicting items with different item IDs have been merged into one item that is identified by the winning item ID. The merge tombstone indicates that the losing item ID refers to the same item as the winning item ID. For more information, see Detecting and Resolving Constraint Conflicts.

See Also

Reference

IProviderSyncServices2 Interface