다음을 통해 공유


AnchorEnumerationSimpleSyncProvider.EnumerateChanges 메서드

파생 클래스에서 재정의되면 지정된 앵커 값 이후 발생한 변경 내용을 복제본에서 열거합니다.

네임스페이스: Microsoft.Synchronization.SimpleProviders
어셈블리: microsoft.synchronization.simpleproviders.dll의 Microsoft.Synchronization.SimpleProviders

구문

‘선언
Public MustOverride Sub EnumerateChanges ( _
    anchor As Byte(), _
    context As AnchorEnumerationContext _
)
‘사용 방법
Dim instance As AnchorEnumerationSimpleSyncProvider
Dim anchor As Byte()
Dim context As AnchorEnumerationContext

instance.EnumerateChanges(anchor, context)
public abstract void EnumerateChanges (
    byte[] anchor,
    AnchorEnumerationContext context
)
public:
virtual void EnumerateChanges (
    array<unsigned char>^ anchor, 
    AnchorEnumerationContext^ context
) abstract
public abstract void EnumerateChanges (
    byte[] anchor, 
    AnchorEnumerationContext context
)
public abstract function EnumerateChanges (
    anchor : byte[], 
    context : AnchorEnumerationContext
)

매개 변수

  • anchor
    타임스탬프와 같은 열거형 앵커를 나타내는 바이트 배열입니다. 이 앵커 이후에 발생한 변경 내용이 열거됩니다. 앵커가 null이면 공급자는 저장소의 모든 항목을 열거해야 합니다.
  • context
    항목과 변경 내용을 보고하고 항목 삭제가 처리되는 방법을 지정할 수 있도록 하는 AnchorEnumerationContext 개체입니다.

주의

이 메서드는 Sync Framework를 사용하여 지정된 앵커 이후에 변경된 저장소의 모든 항목에 대한 메타데이터를 열거할 수 있도록 설정하는 저장소별 코드를 포함하거나 호출해야 합니다.

예제

다음 코드 예제에서는 메모리 내 저장소에 항목을 저장하는 예제 응용 프로그램에 대한 EnumerateChanges 메서드의 구현을 보여 줍니다. 전체 응용 프로그램의 맥락에서 이 코드를 보려면 Sync Framework SDK 및 Code Gallery에서 사용할 수 있는 "Sync101 using Simple Sync Provider" 응용 프로그램을 참조하십시오.

public override void EnumerateChanges(byte[] anchor, AnchorEnumerationContext context)
{
    List<LocalItemChange> itemChanges = new List<LocalItemChange>();

    int startIndex = -1;

    if (anchor != null)
    {
        startIndex = _store.Changes.IndexOfKey(BitConverter.ToUInt64(anchor, 0));
    }

    for (int i = startIndex + 1; i < _store.Changes.Count; i++)
    {
        itemChanges.Add(_store.Changes.Values[i]);
    }

    // If the anchor is corrupt or out of date we could revert back to 
    // full enumeration mode for this session, and enumerate all items. 
    // This is done by calling context.ReportItemsAndAutodetectDeletes.
    context.ReportChanges(itemChanges, _store.GetAnchor());
}
Public Overrides Sub EnumerateChanges(ByVal anchor As Byte(), ByVal context As AnchorEnumerationContext)
    Dim itemChanges As New List(Of LocalItemChange)()

    Dim startIndex As Integer = -1

    If anchor IsNot Nothing Then
        startIndex = _store.Changes.IndexOfKey(BitConverter.ToUInt64(anchor, 0))
    End If

    For i As Integer = startIndex + 1 To _store.Changes.Count - 1
        itemChanges.Add(_store.Changes.Values(i))
    Next

    ' If the anchor is corrupt or out of date we could revert back to 
    ' full enumeration mode for this session, and enumerate all items. 
    ' This is done by calling context.ReportItemsAndAutodetectDeletes. 
    context.ReportChanges(itemChanges, _store.GetAnchor())
End Sub

참고 항목

참조

AnchorEnumerationSimpleSyncProvider 클래스
AnchorEnumerationSimpleSyncProvider 멤버
Microsoft.Synchronization.SimpleProviders 네임스페이스