KnowledgeSyncProvider.GetFullEnumerationChangeBatch Method

When overridden in a derived class, gets a change batch that contains item metadata for items that have IDs greater than the specified lower bound, as part of a full enumeration.

Namespace:  Microsoft.Synchronization
Assembly:  Microsoft.Synchronization (in Microsoft.Synchronization.dll)

Syntax

'Declaration
Public MustOverride Function GetFullEnumerationChangeBatch ( _
    batchSize As UInteger, _
    lowerEnumerationBound As SyncId, _
    knowledgeForDataRetrieval As SyncKnowledge, _
    <OutAttribute> ByRef changeDataRetriever As Object _
) As FullEnumerationChangeBatch
'Usage
Dim instance As KnowledgeSyncProvider
Dim batchSize As UInteger
Dim lowerEnumerationBound As SyncId
Dim knowledgeForDataRetrieval As SyncKnowledge
Dim changeDataRetriever As Object
Dim returnValue As FullEnumerationChangeBatch

returnValue = instance.GetFullEnumerationChangeBatch(batchSize, _
    lowerEnumerationBound, knowledgeForDataRetrieval, _
    changeDataRetriever)
public abstract FullEnumerationChangeBatch GetFullEnumerationChangeBatch(
    uint batchSize,
    SyncId lowerEnumerationBound,
    SyncKnowledge knowledgeForDataRetrieval,
    out Object changeDataRetriever
)
public:
virtual FullEnumerationChangeBatch^ GetFullEnumerationChangeBatch(
    unsigned int batchSize, 
    SyncId^ lowerEnumerationBound, 
    SyncKnowledge^ knowledgeForDataRetrieval, 
    [OutAttribute] Object^% changeDataRetriever
) abstract
abstract GetFullEnumerationChangeBatch : 
        batchSize:uint32 * 
        lowerEnumerationBound:SyncId * 
        knowledgeForDataRetrieval:SyncKnowledge * 
        changeDataRetriever:Object byref -> FullEnumerationChangeBatch 
public abstract function GetFullEnumerationChangeBatch(
    batchSize : uint, 
    lowerEnumerationBound : SyncId, 
    knowledgeForDataRetrieval : SyncKnowledge, 
    changeDataRetriever : Object
) : FullEnumerationChangeBatch

Parameters

  • batchSize
    Type: System.UInt32
    The number of changes to include in the change batch.
  • lowerEnumerationBound
    Type: Microsoft.Synchronization.SyncId
    The lower bound for item IDs. This method returns changes that have IDs greater than or equal to this ID value.
  • changeDataRetriever
    Type: System.Object%
    Returns an object that can be used to retrieve change data. It can be an IChangeDataRetriever object or a be provider-specific object.

Return Value

Type: Microsoft.Synchronization.FullEnumerationChangeBatch
A change batch that contains item metadata for items that have IDs greater than the specified lower bound, as part of a full enumeration.

Remarks

This method is called by Sync Framework during forgotten knowledge recovery.

This method enumerates, in sorted order by item ID, changes that have an item ID of lowerEnumerationBound or greater. This enables Sync Framework to determine which items on the destination provider have been deleted but forgotten by the source provider. Optionally, this method can also add changes to the batch, sorted by item ID, that have item ID less than lowerEnumerationBound and that are not contained in the destination knowledge.

Notes to Implementers

If there are no more changes to send after this batch, IsLastBatch must be set to true on the returned change batch. Otherwise, Sync Framework calls GetFullEnumerationChangeBatch again to retrieve another batch of changes.

For a provider that sends item data together with item change metadata, knowledgeForDataRetrieval can be used to determine whether it is necessary to send item data. Item data does not have to be sent when the item change is contained in knowledgeForDataRetrieval.

See Also

Reference

KnowledgeSyncProvider Class

Microsoft.Synchronization Namespace

Other Resources

Recovering an Out-of-Date Replica