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


IKnowledgeSyncProvider::GetFullEnumerationChangeBatch

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

HRESULT GetFullEnumerationChangeBatch(
DWORD dwBatchSize,
  const BYTE * pbLowerEnumerationBound,
  ISyncKnowledge * pSyncKnowledge,
  ISyncFullEnumerationChangeBatch ** ppSyncChangeBatch,
  IUnknown ** ppUnkDataRetriever);

Параметры

  • dwBatchSize
    [in] Число изменений, которые должны быть включены в пакет изменений.
  • pbLowerEnumerationBound
    [in] Нижняя граница для значений идентификаторов элементов. Этот метод возвращает изменения, значение идентификатора которых больше заданного или равно ему.
  • pSyncKnowledge
    [in] Если изменение элемента содержится в этом объекте набора знаний, данные элемента уже существуют в реплике назначения.
  • ppSyncChangeBatch
    [out] Возвращает пакет изменений, содержащий метаданные элементов, имеющих значение идентификатора больше указанной нижней границы.
  • ppUnkDataRetriever
    [out] Возвращает объект, который может использоваться для получения информации об изменениях. Это может быть объект ISynchronousDataRetriever или другой объект, зависящий от поставщика.

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

  • S_OK

  • Коды ошибок, определяемые поставщиком

Замечания

Этот метод вызывается Sync Framework в процессе восстановления утраченного набора знаний.

Этот метод перечисляет (в порядке возрастания значений идентификаторов элементов) изменения, значение идентификатора которых равно параметру pbLowerEnumerationBound или больше него. Это позволяет Sync Framework определить, какие из элементов поставщика назначения были удалены, но утрачены поставщиком источника. При необходимости этот метод добавляет в пакет, отсортированный по идентификаторам элементов, изменения с теми идентификаторами элементов, которые меньше значения pbLowerEnumerationBound и не содержатся в наборе знаний назначения.

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

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

Для поставщика, отправляющего данные элемента вместе с метаданными изменения элемента, параметр pSyncKnowledge может использоваться, чтобы определить, требуется ли отправлять данные элемента. Если изменение элемента содержится в параметре pSyncKnowledge, то данные элемента отправлять не нужно. Помните, что прежде, чем его можно будет использовать для проверки элементов на включение, параметр pSyncKnowledge должен быть сопоставлен с использованием метода ISyncKnowledge::MapRemoteToLocal объекта набора знаний, который содержится в текущем поставщике.

См. также

Справочник

Интерфейс IKnowledgeSyncProvider

Основные положения

Восстановление устаревшей реплики