ISaveChangeContext2::SetConstraintConflictOnChange

Сообщает, что конфликт ограничения возник при попытке применения поставщиком назначения изменения на реплике назначения.

HRESULT SetConstraintConflictOnChange(
  const BYTE * pbConflictingItemId,
  CONSTRAINT_CONFLICT_REASON constraintConflictReason);

Параметры

  • pbConflictingItemId
    [in, unique] Идентификатор элемента назначения, конфликтующего с применяемым изменением.
  • constraintConflictReason
    [in] Причина возникшего конфликта.

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

  • S_OK.

  • E_INVALIDARG, если constraintConflictReason является недопустимым значением либо если constraintConflictReason имеет значение CCR_COLLISION, а pbConflictingItemId — значение NULL.

  • SYNC_E_INVALID_OPERATION, если для этого объекта уже установлены конфликт ограничений или устранимая ошибка.

Замечания

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

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

См. также

Справочник

Интерфейс ISaveChangeContext2