IReplicaMetadata 接口

提供对元数据存储区中的副本元数据和项元数据的访问。IReplicaMetadata 还提供用于删除检测的服务和用于实现同步提供程序方法的帮助器。

interface IReplicaMetadata : IUnknown

成员

IReplicaMetadata 可细分为以下概念组。

副本的元数据

IReplicaMetadata 的下列成员提供对与副本关联的元数据的整体访问。

IReplicaMetadata 方法 说明

IReplicaMetadata::GetReplicaId

获取与此元数据相关联的副本的 ID。

IReplicaMetadata::GetNextTickCount

递增此副本先前保存的滴答计数,将新值保存到存储区,并返回该新值。

IReplicaMetadata::GetKnowledge

获取此副本的当前知识。

IReplicaMetadata::SetKnowledge

设置此副本的当前知识。

IReplicaMetadata::GetForgottenKnowledge

获取此副本的遗忘知识。

IReplicaMetadata::SetForgottenKnowledge

设置此副本的遗忘知识。

IReplicaMetadata::GetCustomFieldMetadata

获取与此副本相关联的自定义元数据字段。

IReplicaMetadata::SetCustomFieldMetadata

设置与此副本相关联的自定义元数据字段。

IReplicaMetadata::SaveReplicaMetadata

将副本元数据属性变更保存到元数据存储区中。

备注

使用这些属性或方法对 IReplicaMetadata 的实例进行的变更仅在调用了 SaveReplicaMetadata 以后,才会被保存到元数据存储区。

项的元数据

IReplicaMetadata 的下列成员提供对项的元数据的访问。

IReplicaMetadata 方法 说明

IReplicaMetadata::CreateEmptyFieldValue

创建一个包含默认值的 IFieldValue 新对象。

IReplicaMetadata::CreateNewItemMetadata

创建一个新的 IItemMetadata 对象,该对象可用于向元数据存储区添加新的项元数据条目。

IReplicaMetadata::SaveItemMetadata

将项元数据属性变更保存到元数据存储区中。

IReplicaMetadata::RemoveItemMetadataByGlobalId

从元数据存储区中删除项元数据。

IReplicaMetadata::FindItemMetadataByGlobalId

获取具有指定全局 ID 的项的项元数据。

IReplicaMetadata::FindItemMetadataByUniqueIndexedFields

返回索引字段具有指定值的唯一项元数据条目。

IReplicaMetadata::FindItemMetadataByIndexedFields

返回索引字段具有指定值的项元数据条目的列表。

IReplicaMetadata::GetLastDeletedItemsCleanupTime

获取上一次使用 CleanupDeletedItems 清除已删除项的时间。

IReplicaMetadata::CleanupDeletedItems

如果自上一次清除开始指定的时间间隔已过,则删除标记为已删除的项。

IReplicaMetadata::GetItemCount

获取元数据存储区中的项的总数和元数据存储区中已删除项的数目。

备注

IItemMetadata 的实例进行的属性变更仅在调用了 SaveItemMetadata 以后,才会被保存到元数据存储区。

同步提供程序的帮助

IReplicaMetadata 的下列成员可帮助实现同步提供程序方法。

IReplicaMetadata 方法 说明

IReplicaMetadata::GetItemBatchVersions

获取一个包含存储在此副本中的项版本的变更批。这些项与从另一个提供程序发送的变更批中所引用的项相对应。

IReplicaMetadata::GetFullEnumerationItemBatchVersions

作为完全枚举的一部分,获取一个包含存储在此副本中的项版本的变更批,这些项与从另一个提供程序发送的变更批中引用的项相对应。

IReplicaMetadata::GetChangeBatch

获取一个包含某些项的项元数据的变更批,这些项未包含在来自目标提供程序的指定知识中。

IReplicaMetadata::GetFilteredChangeBatch

获取一个包含某些项的项元数据的变更批,这些项不包含在来自目标提供程序的指定知识中并且可由指定的静态筛选器或动态筛选器所接受。

IReplicaMetadata::GetFullEnumerationChangeBatch

作为完全枚举的一部分,获取一个变更批,该变更批包含 ID 大于指定下限的项的项元数据。

删除检测

删除检测服务是一组 IReplicaMetadata 方法,这些方法可用于确定要从项存储区中删除并因此应在元数据存储区中标记为已删除的项。

IReplicaMetadata 方法 说明

IReplicaMetadata::ResetReportingWatermark

通过将所有项均标记为未报告来重置删除检测服务。

IReplicaMetadata::ReportLiveItemByIndexedFields

报告由索引字段值标识的项处于活动状态,不应将其视为已删除。

IReplicaMetadata::ReportLiveItemByGlobalId

报告指定的项处于活动状态,不应将其视为已删除。

IReplicaMetadata::GetUnreportedItems

返回当前未在元数据存储区中标记为活动状态且尚未标记为已删除的项的列表。

IReplicaMetadata::GetUnreportedItemsByIndexedFields

返回特定项的列表:这些项具有一组指定的索引字段值,并且当前未在元数据存储区中标记为活动且尚未标记为已删除。

要求

**头文件:**Metastore.h

请参阅

概念

Sync Framework Metadata Storage Service 组件
访问副本元数据
与提供程序进行互操作
检测已删除的项