IAsynchronousNotifyingChangeApplierTarget::SaveChangeWithChangeUnits
変更単位の変更を含む項目変更を、項目ストアに保存します。
注意
このメソッドは、互換性のために残されています。
構文
HRESULT SaveChangeWithChangeUnits(
ISyncChange * pChange,
ISaveChangeWithChangeUnitsContext * pSaveContext);
パラメーター
pChange
[in] 適用する項目変更です。pSaveContext
[in] 適用される変更に関する情報です。
戻り値
S_OK
プロバイダーが決定したエラー コード
実装に関するメモ
SaveChangeWithChangeUnits を呼び出したら、プロバイダーは次のいずれかの操作を実行する必要があります。
メソッドから成功コードを返し、IAsynchronousNotifyingChangeApplierTargetCallback::SaveChangeWithChangeUnitsComplete を呼び出して非同期処理が正常に完了したことを報告します。
メソッドから成功コードを返し、IAsynchronousNotifyingChangeApplierTargetCallback::OnError を呼び出して非同期処理でエラーが発生したことを報告します。
メソッドからエラー コードを返します。この場合、IAsynchronousNotifyingChangeApplierTargetCallback のメソッドを呼び出すことはできません。
pSaveContext に格納されているアクションが SSA_CREATE の場合は、すべての変更単位を正常に保存するか、項目変更全体を破棄する必要があります。変更単位の一部が保存されても、残りの変更単位の保存に失敗すると、データが破損する可能性があります。
ISaveChangeWithChangeUnitsContext::SetRecoverableErrorOnChangeUnit が呼び出され、pSaveContext が SSA_CREATE である場合は、SetRecoverableErrorOnChangeUnit によって SYNC_E_ON_CREATE_MUST_FAIL_ENTIRE_ITEM が返されます。