IKnowledgeSyncProvider::ProcessFullEnumerationChangeBatch

Processes a set of changes for a full enumeration by applying changes to the item store.

Syntax

HRESULT ProcessFullEnumerationChangeBatch(
  CONFLICT_RESOLUTION_POLICY resolutionPolicy,
  ISyncFullEnumerationChangeBatch * pSourceChangeBatch,
  IUnknown * pUnkDataRetriever,
  ISyncCallback * pCallback,
  SYNC_SESSION_STATISTICS * pSyncSessionStatistics);

Parameters

  • resolutionPolicy
    [in] The conflict resolution policy to use when this method applies changes.

  • pSourceChangeBatch
    [in] A batch of changes from the source provider to be applied locally.

  • pUnkDataRetriever
    [in] An object that can be used to retrieve change data. It can be an ISynchronousDataRetriever object or a provider-specific object.

  • pCallback
    [in] An object that receives event notifications during change application.

  • pSyncSessionStatistics
    [in, out] Tracks change statistics. For a provider that uses custom change application, this object must be updated with the results of the change application.

Return Value

  • S_OK

  • Provider-determined error codes

Remarks

This method is called during forgotten knowledge recovery.

Notes for Implementers

A provider that uses ISynchronousNotifyingChangeApplier to apply changes must enumerate, in sorted order by item ID, all the changes in the replica that have item IDs between the ISyncFullEnumerationChangeBatch::GetClosedLowerBoundItemId and ISyncFullEnumerationChangeBatch::GetClosedUpperBoundItemId properties of pSourceChangeBatch. This list of destination changes must then be provided to ISynchronousNotifyingChangeApplier::ApplyFullEnumerationChanges.

See Also

Reference

IKnowledgeSyncProvider Interface

SYNC_RANGE Structure

CONFLICT_RESOLUTION_POLICY Enumeration

Concepts

Recovering an Out-of-Date Replica