ISimpleSyncEvents::OnConstraintConflict
Вызывается, когда Sync Framework обнаруживает, что обрабатываемый элемент участвует в конфликте ограничений.
HRESULT OnConstraintConflict(
const CONFLICT_INFORMATION *pAdditionalConflictInfo,
const ITEM_FIELDS *pLocalConflictingItem,
const ITEM_FIELDS *pRemoteItem,
const CHANGE_UNIT_SET *pChangeUnitsToApply,
IUnknown *pRemoteConflictingItemData,
SYNC_CONSTRAINT_RESOLVE_ACTION *pRequestedResolution,
BOOL *pfForwardToApplication);
Параметры
- pAdditionalConflictInfo
[in] Объект CONFLICT_INFORMATION, который содержит сведения о любых версиях элементов, известных удаленному поставщику, для элемента, участвующего в конфликте.
- pLocalConflictingItem
[in] Свойства ключа и версии для локального элемента.
- pRemoteItem
[in, unique] Свойства ключа и версии элемента, изменяемого в результате входящего изменения, если это изменение является обновлением. Значение NULL, если входящее изменение является вставкой.
- pChangeUnitsToApply
[in, unique] Набор базовых единиц, которые должны быть применены в процессе устранения конфликтов.
- pRemoteConflictingItemData
[in] Данные, сопоставленные с удаленным конфликтующим элементом. Значение NULL, если входящее изменение является удалением.
- pRequestedResolution
[out] Значение перечисления SYNC_CONSTRAINT_RESOLVE_ACTION, представляющее параметры разрешения конфликтов ограничений.
- pfForwardToApplication
[out] Установите значение TRUE, чтобы не учитывать параметр pRequestedResolution и направлять уведомление в приложение.
Возвращаемое значение
- S_OK
Замечания
Это событие используется при разрешении конфликтов ограничений, которые возникают, когда элемент не может быть сохранен, поскольку он конфликтует с другим элементом в хранилище назначения (например, при отправке поставщиком источника файла, имеющего то же имя и местоположение, что и уже существующий в реплике назначения). Дополнительные сведения см. в разделе Обработка конфликтов для простых поставщиков.