IReplicaMetadata2::GetFilteredItemBatchVersions
获取一个已筛选变更批,其中包含存储在此副本中的项和变更单位的版本。这些项和变更单位与从另一个提供程序发送的变更批中所引用的项和变更单位相对应。
HRESULT GetFilteredItemBatchVersions(
ISyncChangeBatch * pRemoteSyncChangeBatch,
IChangeBatchCallback * pCallback,
IEnumSyncChanges ** ppLocalVersionsEnum);
参数
术语 |
定义 |
pRemoteSyncChangeBatch |
[in] 从另一个提供程序发送且要应用于与此副本相关联的项存储区的变更批。 |
pCallback |
[in, unique] 为确定是否应将项添加到批中而调用的一个回调接口。 |
ppLocalVersionsEnum |
[out] 返回一个包含存储在此副本中的项和变更单位的版本的已筛选变更批。 |
返回值
S_OK
E_POINTER
备注
此方法可帮助同步提供程序在目标提供程序筛选变更时实现其 IKnowledgeSyncProvider::ProcessChangeBatch 方法。
变更应用方使用从此方法返回的变更批中的版本来进行冲突检测。
实施者注意事项
从此方法返回的变更批必须针对 pRemoteSyncChangeBatch 中的每个项包含一个条目(包括变更单位条目),除非 pCallback 指示不应包含该条目。如果某个项存在于项存储区中并由筛选器所包含,则该项的条目必须包含针对此副本的版本信息。如果筛选器所包含的某个项不存在,则该项的条目必须包含 0 作为其版本,且必须设置其 SYNC_CHANGE_FLAG_DOES_NOT_EXIST 标志。