IReplicaMetadata::GetFullEnumerationChangeBatch
ID가 지정된 하한보다 크거나 같은 항목에 대한 항목 메타데이터를 포함하는 일괄 변경 내용을 전체 열거의 일부분으로 가져옵니다.
HRESULT GetFullEnumerationChangeBatch(
DWORD dwBatchSize,
const BYTE * pbLowerEnumerationBound,
ISyncKnowledge * pSyncKnowledge,
ISyncFullEnumerationChangeBatch ** ppSyncChangeBatch);
매개 변수
- dwBatchSize
[in] 반환할 일괄 변경 내용의 크기입니다.
- pbLowerEnumerationBound
[in] 항목 ID의 하한입니다. 이 메서드는 이 ID 값보다 크거나 같은 ID가 지정된 변경 내용을 반환합니다.
- pSyncKnowledge
[in] 대상 복제본의 정보입니다.
- ppSyncChangeBatch
[out] 일괄 변경 내용을 반환합니다.
반환 값
S_OK
E_POINTER
dwBatchSize가 0이면 E_INVALIDARG입니다.
주의
이 메서드를 사용하면 동기화 공급자가 해당 IKnowledgeSyncProvider::GetFullEnumerationChangeBatch 메서드를 구현하는 데 도움이 됩니다. 이 메서드는 잊어버린 정보를 복구하는 동안 호출됩니다.
이 메서드를 호출하기 전에 공급자는 메타데이터 저장소의 버전에 삭제 항목 등을 비롯한 모든 로컬 변경 내용이 반영되어 있는지 확인해야 합니다. 이는 항목을 열거하고 해당 메타데이터를 업데이트하는 명시적 메타데이터 유지 관리 작업을 통해 수행할 수 있습니다.
ISqlSyncMetadataStore를 통해 사용 가능한 이 클래스의 구현은 일괄 변경 내용에 전역 ID 순서대로 변경 내용을 추가합니다.
또한 **ISqlSyncMetadataStore,**를 통해 사용 가능한 이 클래스의 구현은 ID가 pbLowerEnumerationBound보다 작고 pSyncKnowledge에 포함되지 않은 모든 항목을 반환합니다.
ISqlSyncMetadataStore를 통해 사용 가능한 이 클래스의 구현은 보낼 변경 내용이 더 이상 없으면 반환된 일괄 변경 내용에 대해 SetLastBatch를 호출합니다.
구현자를 위한 정보
이 메서드는 항목 ID를 기준으로 정렬된 순서대로 항목 ID가 pbLowerEnumerationBound 이상인 변경 내용을 열거해야 합니다. 이를 통해 Sync Framework는 대상 공급자의 항목 중 삭제되었지만 원본 공급자가 잊어버린 항목을 확인할 수 있습니다.
이 일괄 처리 이후 보낼 변경 내용이 더 이상 없으면 반환된 일괄 변경 내용에 대해 SetLastBatch를 호출해야 합니다. 그렇지 않으면 Sync Framework가 IKnowledgeSyncProvider::GetFullEnumerationChangeBatch를 다시 호출하여 다른 일괄 변경 내용을 검색합니다.
항목 데이터를 항목 변경 내용 메타데이터와 함께 보내는 공급자의 경우에는 pSyncKnowledge를 사용하여 항목 데이터를 보낼 필요가 있는지 여부를 확인할 수 있습니다. pSyncKnowledge에 해당 항목 변경 내용이 포함된 항목 데이터는 보낼 필요가 없습니다.