ISaveChangeContext::GetChangeFromDestinationVersions
获取一个包含目标提供程序提供给变更应用方的原始版本的对象。
语法
HRESULT GetChangeFromDestinationVersions(
ISyncChange ** ppChangeFromDestinationVersions);
参数
- ppChangeFromDestinationVersions
[out] 返回一个包含目标提供程序提供给变更应用方的原始版本的对象。
返回值
S_OK
E_POINTER
SYNC_E_INTERNAL_ERROR
注释
此方法可用于实现乐观并发检查。为此,目标提供程序会将包含在 ppChangeFromDestinationVersions 中的版本与其元数据中的当前版本进行对比。如果版本不同,则说明目标副本中的项在从开始应用变更到调用 ISynchronousNotifyingChangeApplierTarget::SaveChange 期间已经发生了变更。如果出现此情况,则目标提供程序必须使用 ISaveChangeContext::SetRecoverableErrorOnChange 来报告错误,并且不得应用此变更的元数据和数据。请注意,只有当执行此并发检查之前元数据存储区中的版本已经更新,此并发检查才有效。例如,在一个系统上,元数据存储区中的版本已经更新,同时项存储区中的项也发生了变更,这时此并发检查才有效。