Share via


IMemoryConflictLog Interface

Represents a conflict log that exists in memory.

interface IMemoryConflictLog : IUnknown

Members

IMemoryConflictLog method Description

IMemoryConflictLog::GetInMemoryConflictLogKnowledge

Gets a knowledge object that contains a union of all the conflict knowledge objects that are contained in the conflict log.

IMemoryConflictLog::Initialize

Initializes the object by using the specified conflict log access and writer objects.

IMemoryConflictLog::Persist

Writes the contents of the conflict log to the conflict log writer specified in the Initialize method.

Remarks

Sync Framework provides an implementation of the IMemoryConflictLog interface, which implements the IConflictLogAccess interface for a destination provider that either does not implement its own conflict log, or needs the faster performance of the in-memory log during synchronization.

When a provider does not implement a conflict log, it must call Initialize before any other methods, and specify NULL for both parameters.

When a provider implements its own conflict log but uses the in-memory conflict log during synchronization, it may give access to its conflict log by specifying an IConflictLogAccess object to the Initialize method. The in-memory conflict log will then chain IConflictLogAccess method calls to the conflict log of the provider so that the change applier can find and delete conflicts in the conflict log of the provider.

When a provider implements its own conflict log, it may also specify an IConflictLogWriter object to the Initialize method, and call Persist after synchronization has completed, to save any new conflicts to the persistent conflict log.

To obtain an IMemoryConflictLog object implemented by Sync Framework, call IProviderSyncServices2::CreateMemoryConflictLog.

Requirements

Header: Synchronization.h

See Also

Concepts

Sync Framework Core Components