IKnowledgeWithMarkers Interface

Represents a knowledge object that marks items as requiring change units or as containing all change units.

interface IKnowledgeWithMarkers : IUnknown

Members

IKnowledgeWithMarkers method Description

IKnowledgeWithMarkers::AddAllChangeUnitsRequiredMarker

Marks the specified item as requiring that all change units are included when the source provider adds the item to a change batch.

IKnowledgeWithMarkers::AddAllChangeUnitsPresentMarker

Marks the specified item as containing all change units.

IKnowledgeWithMarkers::ContainsAllChangeUnitsRequiredMarker

Indicates whether the specified item requires that all change units are included when the source provider adds the item to a change batch.

IKnowledgeWithMarkers::ContainsAllChangeUnitsPresentMarker

Indicates whether the specified item contains all change units.

IKnowledgeWithMarkers::RemoveAllChangeUnitsRequiredMarker

Marks the specified item as not requiring that all change units are included when the source provider adds the item to a change batch.

IKnowledgeWithMarkers::RemoveMarkers

Removes all markers for items in the knowledge.

IKnowledgeWithMarkers::NextAllChangeUnitsRequiredMarker

Returns the next item in the list of items that are marked as requiring all change units.

IKnowledgeWithMarkers::NextAllChangeUnitsPresentMarker

Returns the next item in the list of items that are marked as containing all change units.

IKnowledgeWithMarkers::StartEnumeratingMarkers

Resets the enumerator to the start of the list.

Remarks

The IKnowledgeWithMarkers object is typically used by the change applier when custom filters are in use. For example, an item was excluded by the filter and is tracked as a ghost in the destination replica. The filter changes so that the item moves into the filter and so must be applied to the destination replica, but the item enumerated by the source provider does not contain all the change units for the item. The item is marked as requiring that all change units be included when the source provider adds the item to a change batch. The source provider detects that this marker is set for the item, and includes all change units for that item. The destination provider, and then creates a complete item and applies it to the destination replica.

An IKnowledgeWithMarkers object can contain markers of only one type. To change the type of markers contained in the knowledge object, RemoveMarkers must be called before new markers are added.

To obtain an IKnowledgeWithMarkers object, pass IID_IKnowledgeWithMarkers to the QueryInteface method of an ISyncKnowledge object.

Requirements

Header: Synchronization.h

See Also

Concepts

Sync Framework Core Components