IAsynchronousNotifyingChangeApplierTarget::SaveChangeWithChangeUnits
Saves an item change that contains unit change changes to the item store.
Note
This method is now obsolete.
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 SaveChangeWithChangeUnits is called, the provider must take one of the following actions:
Return a success code from the method, and later call IAsynchronousNotifyingChangeApplierTargetCallback::SaveChangeWithChangeUnitsComplete to report that asynchronous processing finished successfully.
Return a success code from the method, and later call IAsynchronousNotifyingChangeApplierTargetCallback::OnError to report that an error occurred during asynchronous processing.
Return an error code from the method. In this case, IAsynchronousNotifyingChangeApplierTargetCallback methods should not be called.
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.
See Also
Reference
IAsynchronousNotifyingChangeApplierTarget Interface
IAsynchronousNotifyingChangeApplierTargetCallback Interface