IReplicaMetadata::GetUnreportedItemsByIndexedFields
Retorna uma lista de itens que têm o conjunto especificado de valores de campo indexado, não estão marcados como ativos no repositório de metadados e ainda não estão marcados como excluídos.
HRESULT GetUnreportedItemsByFieldValue (
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 uma lista de itens que têm o conjunto especificado de valores de campo indexado, não estão marcados como ativos no repositório de metadados e ainda não estão marcados como excluídos.
Valor de retorno
S_OK
E_POINTER
E_OUTOFMEMORY
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 inativo com os valores de campo indexados especificados, um enumerador vazio será retornado.
Este método faz parte do serviço de detecção de exclusão. Um item é marcado como ativo no repositório de metadados quando IReplicaMetadata::SaveItemMetadata é chamado para um item alterado ou quando IReplicaMetadata::ReportLiveItemByIndexedFields ou IReplicaMetadata::ReportLiveItemByGlobalId é chamado para um item inalterado, porém ativo. Um provedor pode chamar IReplicaMetadata::GetUnreportedItems
ou IReplicaMetadata::GetUnreportedItemsByIndexedFields para obter itens existentes no repositório de metadados que não são relatados como ativos. O provedor pode marcar esses itens como excluídos no repositório de metadados.