ISyncChangeBatchBase::AddItemMetadataToGroup

将指定的项变更添加到当前打开的组中。

HRESULT AddItemMetadataToGroup(
  const BYTE * pbOwnerReplicaId, 
  const BYTE * pbItemId, 
  const SYNC_VERSION * pChangeVersion,
  const SYNC_VERSION * pCreationVersion, 
  DWORD dwFlags,
  DWORD dwWorkForChange,
  ISyncChangeBuilder ** ppChangeBuilder);

参数

  • pbOwnerReplicaId
    [in] pChangeVersion 和 pCreationVersion 均有效的副本的副本 ID。ID 格式必须与提供程序的 ID_PARAMETERS 结构指定的格式相匹配。
  • pbItemId
    [in] 项的 ID。ID 格式必须与提供程序的 ID_PARAMETERS 结构所指定的格式相匹配。
  • pChangeVersion
    [in] 此变更的版本。
  • pCreationVersion
    [in] 项的创建版本。
  • dwWorkForChange
    [in] 变更的工作量估计值。此值用在变更应用程序过程中,用于向应用程序报告已完成的工作。
  • ppChangeBuilder
    [out] 返回一个可用于将变更单位信息添加到变更的对象。

返回值

  • S_OK

  • 如果 dwFlags 包含的标志值无效,则返回值为 E_INVALIDARG。

  • 如果没有打开的组或者先前将某个空组添加到了批中,则返回值为 SYNC_E_INVALID_OPERATION。

  • 如果某个排序组已经打开,且 pbItemId 小于先前添加到该组的项的项 ID 或小于打开组时指定的项 ID,则返回值为 SYNC_E_RANGE_OUT_OF_ORDER。

  • 如果 ISyncChangeBatchBase 对象已发送给变更应用方或同步会话,或者该对象是使用 IProviderSyncServices::DeserializeChangeBatchIProviderSyncServices::DeserializeFullEnumerationChangeBatch 创建的,则返回值为 SYNC_E_CHANGE_BATCH_IS_READ_ONLY。

请参阅

参考

ISyncChangeBatchBase 接口
SYNC_VERSION 结构

概念

报告同步进度