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
SYNC_E_METADATA_QUERY_REQUIRES_INDEXED_FIELDS, если поле в списке ppcszCustomFieldNames не определено как поле индекса в момент инициализации метаданных.
SYNC_E_METADATA_FIELD_INVALID_NAME, если имя поля не существует в списке ppcszCustomFieldNames.
SYNC_E_METADATA_FIELD_INVALID_TYPE, если значение поля в списке ppFieldValues не согласуется с типом соответствующего поля.
SYNC_E_METADATA_ITEM_NOT_FOUND (если в хранилище метаданных не обнаружено совпадающих элементов).
Замечания
Этот метод является частью службы обнаружения удалений. Элемент помечается как активный в хранилище метаданных, если для измененного элемента был вызван метод IReplicaMetadata::SaveItemMetadata или для неизмененного, но активного элемента был вызван метод IReplicaMetadata::ReportLiveItemByIndexedFields или IReplicaMetadata::ReportLiveItemByGlobalId. Поставщик может вызвать метод IReplicaMetadata::GetUnreportedItems
или IReplicaMetadata::GetUnreportedItemsByIndexedFields для получения элементов, которые существуют в хранилище метаданных и не помечены как активные. Затем поставщик может пометить эти элементы как удаленные из хранилища метаданных.