IReplicaMetadata::ReportLiveItemByGlobalId
报告指定的项处于活动状态,不应将其视为已删除。
HRESULT ReportLiveItemByGlobalId(
const BYTE * pbGlobalId);
参数
- pbGlobalId
[in] 要报告为活动的项的 ID。
返回值
S_OK
E_POINTER
E_OUTOFMEMORY
如果在元数据存储区中找不到指定的项,则返回值为 SYNC_E_METADATA_ITEM_NOT_FOUND。
备注
此方法属于删除检测服务的一部分。当对变更项调用 IReplicaMetadata::SaveItemMetadata 后或者对未变更但仍处于活动状态的项调用 IReplicaMetadata::ReportLiveItemByIndexedFields 或 IReplicaMetadata::ReportLiveItemByGlobalId 后,元数据存储区中的某个项会被标记为处于活动状态。提供程序可以调用 IReplicaMetadata::GetUnreportedItems
或 IReplicaMetadata::GetUnreportedItemsByIndexedFields,来获取元数据存储区中的未报告为处于活动状态的项。然后,提供程序可以将这些项标记为在元数据存储区中已删除。
对于通过 ISqlSyncMetadataStore 获得的实现,只能对未修改的项调用此方法,因为 IReplicaMetadata::SaveItemMetadata 会将更新的项隐式标记为活动。