Поделиться через


IReplicaMetadata::FindItemMetadataByIndexedFields

Возвращает список записей метаданных элемента, имеющих указанное значение индексированного поля.

HRESULT FindItemMetadataByIndexedFields(
  LPCWSTR * ppcszCustomFieldNames,
  IFieldValue ** ppFieldValues,
  BYTE cCustomFields,
  IItemMetadataEnumerator ** ppItemMetadataEnumerator);

Параметры

  • ppcszCustomFieldNames
    [in, size_is(cCustomFields)] Набор имен индексированных полей, который определяет элементы, по которым производится поиск.
  • ppFieldValues
    [in, size_is(cCustomFields)] Набор значений индексированных полей, который определяет элементы, по которым производится поиск. Эти значения должны быть перечислены в том же порядке, что и имена в ppcszCustomFieldNames.
  • cCustomFields
    [in] Число элементов в списках ppcszCustomFieldNames и ppFieldValues.
  • ppItemMetadataEnumerator
    [out] Возвращает список записей метаданных элемента, имеющих указанные значения индексированных полей.

Возвращаемое значение

  • 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 не совпадает с типом соответствующего поля.

Замечания

Если элементы с заданными значениями индексированных полей не существуют, то возвращается пустой перечислитель.

Пользовательские поля должны быть определены в момент первой инициализации метаданных реплики посредством передачи списка структур CUSTOM_FIELD_DEFINITION методу ISyncMetadataStore::InitializeReplicaMetadata.

См. также

Справочник

Интерфейс IReplicaMetadata