IReplicaMetadata::FindItemMetadataByIndexedFields
Retorna uma lista de entradas de metadados do item que têm o valor especificado para o campo indexado.
HRESULT FindItemMetadataByIndexedFields(
LPCWSTR * ppcszCustomFieldNames,
IFieldValue ** ppFieldValues,
BYTE cCustomFields,
IItemMetadataEnumerator ** ppItemMetadataEnumerator);
Parâmetros
- ppcszCustomFieldNames
[in, size_is(cCustomFields)] O conjunto de nomes de campo indexados que definem os itens que serão pesquisados.
- ppFieldValues
[in, size_is(cCustomFields)] O conjunto de valores de campo indexados que definem os itens que serão pesquisados. Esses valores precisam estar na mesma ordem dos nomes em ppcszCustomFieldNames.
- cCustomFields
[in] O número de entradas em ppcszCustomFieldNames e em ppFieldValues.
- ppItemMetadataEnumerator
[out] Retorna a lista de entradas de metadados do item que têm os valores especificados para os campos indexados.
Valor de retorno
S_OK
E_POINTER
SYNC_E_METADATA_QUERY_REQUIRES_INDEXED_FIELDS se um campo em ppcszCustomFieldNames não foi especificado como um campo de índice quando os metadados foram inicializados.
SYNC_E_METADATA_FIELD_INVALID_NAME se não houver um nome de campo em ppcszCustomFieldNames.
SYNC_E_METADATA_FIELD_INVALID_TYPE se um valor de campo em ppFieldValues não coincide com o tipo do campo correspondente.
Comentários
Se não houver nenhum item com os valores de campo indexados especificados, um enumerador vazio será retornado.
Os campos personalizados precisam ser estabelecidos quando os metadados da réplica são inicializados pela primeira vez passando uma lista de estruturas CUSTOM_FIELD_DEFINITION para ISyncMetadataStore::InitializeReplicaMetadata.