ISynchronousNotifyingChangeApplierTarget::SaveChangeWithChangeUnits
Сохраняет в хранилище элементов изменение элемента, которое содержит изменения базовой единицы.
Синтаксис
HRESULT SaveChangeWithChangeUnits(
ISyncChange * pChange,
ISaveChangeWithChangeUnitsContext * pSaveContext);
Параметры
pChange
[in] Изменение элемента, подлежащее применению.pSaveContext
[in] Сведения о применяемом изменении.
Возвращаемое значение
S_OK
Коды ошибок, определяемые поставщиком
Примечания по реализации
Если в параметре pSaveContext содержится действие SSA_CREATE, то в случае невозможности успешного сохранения всех базовых единиц необходимо целиком отменить изменение элемента. Сохранение некоторых базовых единиц и неудача при сохранении других может привести к повреждению данных.
Если метод ISaveChangeWithChangeUnitsContext::SetRecoverableErrorOnChangeUnit вызывается, когда параметр pSaveContext имеет значение SSA_CREATE, метод SetRecoverableErrorOnChangeUnit возвращает значение SYNC_E_ON_CREATE_MUST_FAIL_ENTIRE_ITEM.
Если в ходе выполнения этого метода синхронизация была отменена, притом что поставщик применил некоторые базовые единицы, то поставщик должен вызвать метод ISaveChangeWithChangeUnitsContext::SetRecoverableErrorOnChangeUnit для всех непримененных базовых элементов.