IReplicaMetadata::FindItemMetadataByUniqueIndexedFields
Возвращает уникальную запись метаданных элемента, для которой задано значение индексированного поля.
HRESULT FindItemMetadataByUniqueIndexedFields(
LPCWSTR * ppcszCustomFieldNames,
IFieldValue ** ppFieldValues,
BYTE cCustomFields,
IItemMetadata ** ppItemMetadata);
Параметры
- ppcszCustomFieldNames
[in, size_is(cCustomFields)] Набор имен индексированных полей, который определяет элементы, по которым производится поиск. Имена полей должны иметь тот же порядок, который использовался для задания индекса во время вызова метода ISyncMetadataStore::InitializeReplicaMetadata.
- ppFieldValues
[in, size_is(cCustomFields)] Набор значений индексированных полей, который определяет элементы, по которым производится поиск. Эти значения должны быть перечислены в том же порядке, что и имена в ppcszCustomFieldNames.
- cCustomFields
[in] Число элементов в списках ppcszCustomFieldNames и ppFieldValues.
- ppItemMetadata
[out] Возвращает уникальную запись метаданных элемента, имеющую заданное значение индексированного поля.
Возвращаемое значение
S_OK
S_FALSE, если не обнаружен совпадающий элемент.
E_POINTER
SYNC_E_METADATA_QUERY_REQUIRES_UNIQUE_INDEXED_FIELDS, если поле в списке ppcszCustomFieldNames не определено в качестве уникального индексируемого поля во время инициализации метаданных.
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.
Индексированные поля должны быть определены и помечены как уникальные при первой инициализации метаданных реплики путем передачи списка структур CUSTOM_FIELDS_INDEX методу ISyncMetadataStore::InitializeReplicaMetadata.