IReplicaMetadata2::GetFilteredItemBatchVersions

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

HRESULT GetFilteredItemBatchVersions(
  ISyncChangeBatch * pRemoteSyncChangeBatch,
  IChangeBatchCallback * pCallback,
  IEnumSyncChanges ** ppLocalVersionsEnum);

Параметры

Аргумент

Определение

pRemoteSyncChangeBatch

[in] Пакет изменений, полученный от другого поставщика, который будет применен к хранилищу элементов, связанному с данной репликой.

pCallback

[in, unique] Интерфейс обратного вызова, который вызывается для определения необходимости добавления элемента в пакет.

ppLocalVersionsEnum

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

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

  • S_OK

  • E_POINTER

Замечания

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

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

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

Пакет изменений, возвращаемый из этого метода, может содержать по одной записи для каждой из записей в pRemoteSyncChangeBatch, включая записи базовых единиц, за исключением случаев, когда делегатом pCallback указано, что запись включать не нужно. Если элемент существует в хранилище и включен фильтром, то его запись должна содержать сведения о версии для этой реплики. Если элемент, включенный фильтром, не существует, то запись для него должна содержать 0 для его версии, а флаг SYNC_CHANGE_FLAG_DOES_NOT_EXIST должен быть установлен.

См. также

Справочник

Интерфейс IReplicaMetadata2