ISynchronousNotifyingChangeApplierTarget::SaveChangeWithChangeUnits
Saves an item change that contains change unit changes to the item store.
HRESULT SaveChangeWithChangeUnits(
ISyncChange * pChange,
ISaveChangeWithChangeUnitsContext * pSaveContext);
Parameters
- pChange
[in] The item change to apply.
- pSaveContext
[in] Information about the change to be applied.
Return Value
S_OK
Provider-determined error codes
Notes for Implementers
When the action that is contained in pSaveContext is SSA_CREATE, either all of the change units must be saved successfully or the entire item change must be discarded. Saving some of the change units and failing to save others can result in data corruption.
When ISaveChangeWithChangeUnitsContext::SetRecoverableErrorOnChangeUnit is called and pSaveContext is SSA_CREATE, SetRecoverableErrorOnChangeUnit returns SYNC_E_ON_CREATE_MUST_FAIL_ENTIRE_ITEM.
If synchronization is canceled during this method, and the provider has applied some of the change units, the provider must call ISaveChangeWithChangeUnitsContext::SetRecoverableErrorOnChangeUnit on all change units that are not applied.