Поделиться через


IReplicaMetadata::GetChangeBatch

Возвращает пакет изменений, содержащий метаданные элементов, которые отсутствовали в указанном наборе знаний от поставщика назначения.

HRESULT GetChangeBatch(
  DWORD dwBatchSize,
  ISyncKnowledge *pSyncKnowledge,
ISyncChangeBatch ** ppSyncChangeBatch);

Параметры

  • dwBatchSize
    [in] Размер создаваемого пакета.
  • pSyncKnowledge
    [in] Набор знаний от поставщика назначения.
  • ppSyncChangeBatch
    [out] Возвращает пакет изменений, содержащий метаданные элементов, которые отсутствовали в указанном наборе знаний от поставщика назначения.

Возвращаемое значение

  • S_OK

  • E_POINTER

  • E_INVALIDARG, если значение dwBatchSize равно 0.

Замечания

Этот метод упрощает реализацию метода IKnowledgeSyncProvider::GetChangeBatch службы синхронизации.

Перед вызовом этого метода поставщик должен убедиться, что версии в хранилище метаданных отражают все локальные изменения, включая операции удаления. Это достигается с помощью явного этапа обслуживания метаданных, в котором перечисляются элементы и обновляются их метаданные.

Реализация этого класса, которая возможна через ISqlSyncMetadataStore, добавляет изменения в пакет изменений в порядке глобальных идентификаторов.

Реализация этого класса, которая возможна через ISqlSyncMetadataStore, вызывает метод SetLastBatch для возвращаемого пакета изменений, когда больше нет изменений для отправки.

Примечания по реализации

Чтобы упростить задачу поставщика, использующего порядок глобальных идентификаторов и имеющего возможность использования диапазонов, изменения следует перечислить и добавить в пакет изменений в порядке глобальных идентификаторов. Первое изменение в возвращаемом пакете открывает новый диапазон.

Если после этого пакета больше изменений для отправки нет, необходимо вызвать метод SetLastBatch для возвращаемого пакета изменений, в противном случае Sync Framework снова вызовет метод IKnowledgeSyncProvider::GetChangeBatch для получения следующего пакета изменений.

См. также

Справочник

Интерфейс IReplicaMetadata