IReplicaMetadata::GetUnreportedItemsByIndexedFields
Returns a list of items that have the specified set of indexed field values and are not currently marked as active in the metadata store and that are not already marked as deleted.
S_OK
E_POINTER
E_OUTOFMEMORY
SYNC_E_METADATA_QUERY_REQUIRES_INDEXED_FIELDS if a field in ppcszCustomFieldNames was not specified as an index field when the metadata was initialized.
SYNC_E_METADATA_FIELD_INVALID_NAME if a field name in ppcszCustomFieldNames does not exist.
SYNC_E_METADATA_FIELD_INVALID_TYPE if a field value in ppFieldValues does not match the type of the corresponding field.
If no inactive items with the specified indexed field values exist, an empty enumerator is returned.
This method is part of the delete detection service. An item is marked as active in the metadata store when IReplicaMetadata::SaveItemMetadata is called for a changed item, or when IReplicaMetadata::ReportLiveItemByIndexedFields or IReplicaMetadata::ReportLiveItemByGlobalId is called for an unchanged but still active item. A provider can call IReplicaMetadata::GetUnreportedItemsor IReplicaMetadata::GetUnreportedItemsByIndexedFields to get items that exist in the metadata store that are not reported as active. The provider can then mark these items as deleted in the metadata store.