다음을 통해 공유


IFilterTrackingNotifyingChangeApplierTarget.SaveKnowledgeWithFilterForgottenKnowledge 메서드

파생 클래스에서 재정의되는 경우 정보, 잊어버린 정보, 필터 잊어버린 정보 개체의 목록 등을 저장합니다.

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

구문

‘선언
Sub SaveKnowledgeWithFilterForgottenKnowledge ( _
    syncKnowledge As SyncKnowledge, _
    forgottenKnowledge As ForgottenKnowledge, _
    filterForgottenKnowledge As ForgottenKnowledge() _
)
‘사용 방법
Dim instance As IFilterTrackingNotifyingChangeApplierTarget
Dim syncKnowledge As SyncKnowledge
Dim forgottenKnowledge As ForgottenKnowledge
Dim filterForgottenKnowledge As ForgottenKnowledge()

instance.SaveKnowledgeWithFilterForgottenKnowledge(syncKnowledge, forgottenKnowledge, filterForgottenKnowledge)
void SaveKnowledgeWithFilterForgottenKnowledge (
    SyncKnowledge syncKnowledge,
    ForgottenKnowledge forgottenKnowledge,
    ForgottenKnowledge[] filterForgottenKnowledge
)
void SaveKnowledgeWithFilterForgottenKnowledge (
    SyncKnowledge^ syncKnowledge, 
    ForgottenKnowledge^ forgottenKnowledge, 
    array<ForgottenKnowledge^>^ filterForgottenKnowledge
)
void SaveKnowledgeWithFilterForgottenKnowledge (
    SyncKnowledge syncKnowledge, 
    ForgottenKnowledge forgottenKnowledge, 
    ForgottenKnowledge[] filterForgottenKnowledge
)
function SaveKnowledgeWithFilterForgottenKnowledge (
    syncKnowledge : SyncKnowledge, 
    forgottenKnowledge : ForgottenKnowledge, 
    filterForgottenKnowledge : ForgottenKnowledge[]
)

매개 변수

  • syncKnowledge
    저장할 업데이트된 정보입니다.
  • forgottenKnowledge
    저장할 잊어버린 정보입니다. 이 매개 변수가 null 참조(Visual Basic에서는 Nothing)이면 잊어버린 기존 정보가 변경되지 않고 유지되며 바뀌면 안 됩니다.
  • filterForgottenKnowledge
    저장할 필터 잊어버린 정보 개체의 목록입니다. 이 목록은 필터 키 맵에서 필터 키를 기준으로 정렬됩니다.

주의

범위에 대한 기존 정보가 syncKnowledge로 바뀌어야 합니다. forgottenKnowledge가 null 참조(Visual Basic에서는 Nothing)이 아니면 범위에 대한 잊어버린 정보도 forgottenKnowledge로 바뀌어야 하고, 그렇지 않으면 기존 잊어버린 정보를 유지해야 합니다. 또한 복제본의 해당 필터 잊어버린 정보 개체는 filterForgottenKnowledge에 포함된 필터 잊어버린 정보 개체로 바뀌어야 합니다. Sync Framework에서는 일괄 변경 내용의 모든 변경 내용이 처리된 후에 각 일괄 변경 내용마다 한 번씩 이 메서드를 호출합니다.

예제

다음 예제에서는 필터 잊어버린 개체의 목록을 복제본에 저장한 다음 StoreKnowledgeForScope를 호출하여 업데이트된 정보 및 잊어버린 정보를 저장합니다.

Public Sub SaveKnowledgeWithFilterForgottenKnowledge(ByVal syncKnowledge As SyncKnowledge, ByVal forgottenKnowledge As ForgottenKnowledge, ByVal filterForgottenKnowledge As ForgottenKnowledge()) Implements IFilterTrackingNotifyingChangeApplierTarget.SaveKnowledgeWithFilterForgottenKnowledge
    ' First update the list of filter forgotten knowledge objects.
    For iFilter As Integer = 0 To filterForgottenKnowledge.Length - 1
        DirectCast(_filterKeyMap(iFilter), AddressFilter).FilterForgottenKnowledge = filterForgottenKnowledge(iFilter)
    Next

    ' Update the list of filters that are stored in the custom replica metadata.
    AddressFilter.StoreFiltersInReplicaMetadata(_ContactStore.ContactReplicaMetadata, _ContactStore.TrackedFilters)

    ' Store the remaining knowledge objects.
    StoreKnowledgeForScope(syncKnowledge, forgottenKnowledge)
End Sub
public void SaveKnowledgeWithFilterForgottenKnowledge(SyncKnowledge syncKnowledge, ForgottenKnowledge forgottenKnowledge, ForgottenKnowledge[] filterForgottenKnowledge)
{
    // First update the list of filter forgotten knowledge objects.
    for (int iFilter = 0; iFilter < filterForgottenKnowledge.Length; iFilter++)
    {
        ((AddressFilter)_filterKeyMap[iFilter]).FilterForgottenKnowledge = filterForgottenKnowledge[iFilter];
    }

    // Update the list of filters that are stored in the custom replica metadata.
    AddressFilter.StoreFiltersInReplicaMetadata(_ContactStore.ContactReplicaMetadata, _ContactStore.TrackedFilters);

    // Store the remaining knowledge objects.
    StoreKnowledgeForScope(syncKnowledge, forgottenKnowledge);
}

참고 항목

참조

IFilterTrackingNotifyingChangeApplierTarget 인터페이스
IFilterTrackingNotifyingChangeApplierTarget 멤버
Microsoft.Synchronization 네임스페이스