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


ISyncChangeBatch2::AddMergeTombstoneMetadataToGroup

Добавляет указанную отметку полного удаления слиянием к группе, открытой в данный момент.

Синтаксис

HRESULT AddMergeTombstoneMetadataToGroup(
  const BYTE * pbOwnerReplicaId, 
  const BYTE * pbWinnerItemId,
  const BYTE * pbItemId, 
  const SYNC_VERSION * pChangeVersion,
  const SYNC_VERSION * pCreationVersion, 
  DWORD dwWorkForChange,
  ISyncChangeBuilder ** ppChangeBuilder);

Параметры

  • pbOwnerReplicaId
    [in] Идентификатор реплики, для которой допустимы значения параметров pChangeVersion и pCreationVersion. Идентификатор формата должен соответствовать формату, определяемому структурой ID_PARAMETERS поставщика.

  • pbWinnerItemId
    [in] Идентификатор элемента после слияния. Он также именуется идентификатором выигравшего элемента. Идентификатор формата должен соответствовать формату, определяемому структурой ID_PARAMETERS поставщика.

  • pbItemId
    [in] Идентификатор элемента перед слиянием. Он также называется идентификатором проигравшего элемента. Идентификатор формата должен соответствовать формату, определяемому структурой ID_PARAMETERS поставщика.

  • pChangeVersion
    [in] Версия этого изменения.

  • pCreationVersion
    [in] Версия создания элемента, определяемого параметром pbItemId.

  • dwWorkForChange
    [in] Оцениваемый объем работы для изменения. Это значение используется во время применения изменений, чтобы сообщить приложению о завершении работы.

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

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

  • S_OK.

  • E_POINTER.

  • SYNC_E_CHANGE_BATCH_IS_READ_ONLY, если объект ISyncChangeBatch2 был передан в объект применения изменений или в сеанс синхронизации, а также если объект был создан с помощью метода IProviderSyncServices::DeserializeChangeBatch или IProviderSyncServices::DeserializeFullEnumerationChangeBatch.

  • SYNC_E_INVALID_OPERATION, если нет открытых групп, либо ранее в пакет была добавлена пустая группа.

  • SYNC_E_RANGE_OUT_OF_ORDER, если упорядоченная группа открыта и значение pbItemId меньше идентификатора предыдущего элемента, добавленного в группу, либо меньше идентификатора элемента, указанного при открытии группы.

Замечания

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

См. также

Другие ресурсы

Интерфейс ISyncChangeBatch2

Обнаружение и разрешение конфликтов ограничений