다음을 통해 공유


AnchorEnumerationContext.ReportChanges 메서드

EnumerateChanges를 호출하는 동안 검색된 변경 내용 집합을 보고합니다.

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

구문

‘선언
Public Sub ReportChanges ( _
    itemChanges As IEnumerable(Of LocalItemChange), _
    updatedAnchor As Byte() _
)
‘사용 방법
Dim instance As AnchorEnumerationContext
Dim itemChanges As IEnumerable(Of LocalItemChange)
Dim updatedAnchor As Byte()

instance.ReportChanges(itemChanges, updatedAnchor)
public void ReportChanges (
    IEnumerable<LocalItemChange> itemChanges,
    byte[] updatedAnchor
)
public:
void ReportChanges (
    IEnumerable<LocalItemChange^>^ itemChanges, 
    array<unsigned char>^ updatedAnchor
)
public void ReportChanges (
    IEnumerable<LocalItemChange> itemChanges, 
    byte[] updatedAnchor
)
public function ReportChanges (
    itemChanges : IEnumerable<LocalItemChange>, 
    updatedAnchor : byte[]
)

매개 변수

  • itemChanges
    로컬 복제본 항목의 변경 내용에 대한 메타데이터가 포함된 LocalItemChange 개체의 컬렉션입니다.
  • updatedAnchor
    타임스탬프와 같은 열거형 앵커를 나타내는 바이트 배열입니다.

예외

예외 형식 조건

SimpleProviderInvalidOperationException

같은 세션에서 ReportItemsAndAutodetectDeletes를 호출했습니다.

예제

다음 코드 예제에서는 컨텍스트 개체에서 호출되는 ReportChangesEnumerateChanges 메서드에 전달되는 AnchorEnumerationContext 개체를 보여 줍니다. 전체 응용 프로그램의 맥락에서 이 코드를 보려면 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

참고 항목

참조

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