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 が更新済み項目をアクティブな項目として暗黙的にマーク付けします。そのため、このメソッドを呼び出す必要があるのは、変更されなかった項目に対してのみです。