IReplicaMetadata::ReportLiveItemByIndexedFields
インデックス付きフィールド値で識別される項目がアクティブであり、削除済みと見なすべきでないことを報告します。
構文
HRESULT ReportLiveItemByIndexedFields(
LPCWSTR * ppcszCustomFieldNames,
IFieldValue ** ppFieldValues,
BYTE cCustomFields);
パラメーター
ppcszCustomFieldNames
[in, size_is(cCustomFields)] アクティブであると報告する項目を定義する、インデックス付きフィールド名のセット。ppFieldValues
[in, size_is(cCustomFields)] アクティブであると報告する項目を定義する、インデックス付きフィールド値のセット。これらの値は、ppcszCustomFieldNames に指定されている名前と同じ順序にする必要があります。cCustomFields
[in] ppcszCustomFieldNames および ppFieldValues のエントリ数。
戻り値
S_OK
E_POINTER
メタデータが初期化されたときに、ppcszCustomFieldNames のフィールドをインデックス付きフィールドと指定しなかった場合は SYNC_E_METADATA_QUERY_REQUIRES_INDEXED_FIELDS。
ppcszCustomFieldNames のフィールド名が存在しない場合は SYNC_E_METADATA_FIELD_INVALID_NAME。
ppFieldValues のフィールド値が、対応するフィールドの型と一致しない場合は SYNC_E_METADATA_FIELD_INVALID_TYPE。
一致する項目がメタデータ ストアに存在しない場合は SYNC_E_METADATA_ITEM_NOT_FOUND。
説明
このメソッドは削除検出サービスの一部です。変更された項目を取得するために IReplicaMetadata::SaveItemMetadata が呼び出されたときや、変更はされていなくてもアクティブである項目を取得するために IReplicaMetadata::ReportLiveItemByIndexedFields または IReplicaMetadata::ReportLiveItemByGlobalId が呼び出されたときに、項目はアクティブであるとメタデータ ストア内でマーク付けされます。プロバイダーは、IReplicaMetadata::GetUnreportedItems または IReplicaMetadata::GetUnreportedItemsByIndexedFields を呼び出して、メタデータ ストアに存在していてアクティブと報告されない項目を取得することができます。次に、プロバイダーは、メタデータ ストア内でこれらの項目に削除済みのマークを付けることができます。