ISaveChangeContext::GetChangeFromDestinationVersions

获取一个包含目标提供程序提供给变更应用方的原始版本的对象。

语法

HRESULT GetChangeFromDestinationVersions(
  ISyncChange ** ppChangeFromDestinationVersions);

参数

  • ppChangeFromDestinationVersions
    [out] 返回一个包含目标提供程序提供给变更应用方的原始版本的对象。

返回值

  • S_OK

  • E_POINTER

  • SYNC_E_INTERNAL_ERROR

注释

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

请参阅

其他资源

ISaveChangeContext 接口