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 を呼び出す必要があります。