IProviderSyncServices2::CreateLoggedConflict
Creates an ILoggedConflict object that represents a logged conflict.
HRESULT CreateLoggedConflict(
BOOL fConstraint,
ISyncChange * pChange,
BYTE * pConflictingItemId,
CONSTRAINT_CONFLICT_REASON constraintConflictReason,
IUnknown * pUnkData,
ISyncKnowledge * pConflictKnowledge,
ISyncKnowledge * pMadeWithKnowledge,
BOOL fTemporary,
ILoggedConflict ** ppLoggedConflict);
Parameters
- fConstraint
[in] TRUE if this conflict represents a constraint conflict. Otherwise, FALSE.
- 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 when this conflict is a constraint conflict. This value must be NULL when fConstraint is FALSE.
- constraintConflictReason
[in] The reason the conflict occurred when this conflict is a constraint conflict. This value is ignored when fConstraint is FALSE.
- pUnkData
[in] The item data for pChange when item data exists.
- pConflictKnowledge
[in] The knowledge to be learned if this change is applied.
- pMadeWithKnowledge
[in] The made-with knowledge for this change. The made-with knowledge for a change is typically the knowledge that the replica had when this change was made.
- fTemporary
[in] TRUE if this is a temporary conflict. Otherwise, FALSE.
- ppLoggedConflict
[out] The newly created ILoggedConflict object.
Return Value
S_OK.
E_INVALIDARG when fConstraint indicates that this conflict is not a constraint conflict and pConflictingItemId is not NULL; or pConflictingItemId is not a valid ID; or constraintConflictReason is not a valid value.
E_OUTOFMEMORY.
E_POINTER.
SYNC_E_INVALID_OPERATION when this object has not been initialized.
Remarks
The returned ILoggedConflict object adds references to the conflict knowledge and made-with knowledge objects that are passed in pConflictKnowledge and pMadeWithKnowledge, but does not clone them.