ISimpleSyncEvents::OnConcurrencyConflict
Called when Sync Framework detects that an item being processed is involved in a concurrency conflict.
HRESULT OnConcurrencyConflict(
CONCURRENCY_CONFLICT_TYPE cctConflictType,
const ITEM_FIELDS *pLocalConflictingItem,
const CHANGE_UNIT_SET *pChangeUnitsInConflict,
IUnknown *pRemoteConflictingItemData,
SYNC_RESOLVE_ACTION *pSyncResolveAction,
BOOL *pfForwardToApplication);
Parameters
- cctConflictType
[in] A CONCURRENCY_CONFLICT_TYPE enumeration value that represents the type of conflict, such as an update-update conflict.
- pLocalConflictingItem
[in, unique] Key and version properties for the local item.
- pChangeUnitsInConflict
[in, unique] The set of change units that are in conflict between the local and remote replicas.
- pRemoteConflictingItemData
[in] Data that is associated with the remote conflicting item. Null if the incoming change is a delete.
- pSyncResolveAction
[out] A SYNC_RESOLVE_ACTION enumeration value that represents the options for resolving concurrency conflicts.
- pfForwardToApplication
[out] Set to TRUE to ignore pSyncResolveAction and forward the notification to the application.
Return Value
- S_OK
Remarks
This event is used for concurrency conflicts, which occur when the same item or change unit is changed on two different replicas that are later synchronized. For more information, see Handling Conflicts for Simple Providers.