IReplicaMetadata::ReportLiveItemByIndexedFields
Informa que o item identificado pelo valor de campo indexado está ativo e não deve ser considerado excluído.
HRESULT ReportLiveItemByIndexedFields(
LPCWSTR * ppcszCustomFieldNames,
IFieldValue ** ppFieldValues,
BYTE cCustomFields);
Parâmetros
- ppcszCustomFieldNames
[in, size_is(cCustomFields)] O conjunto de nomes de campo indexados que definem os itens que serão informados como ativos.
- ppFieldValues
[in, size_is(cCustomFields)] O conjunto de valores de campo indexados que definem os itens que serão informados como ativos. Esses valores precisam estar na mesma ordem dos nomes em ppcszCustomFieldNames.
- cCustomFields
[in] O número de entradas em ppcszCustomFieldNames e em ppFieldValues.
Valor de retorno
S_OK
E_POINTER
SYNC_E_METADATA_QUERY_REQUIRES_INDEXED_FIELDS se um campo em ppcszCustomFieldNames não foi especificado como 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.
SYNC_E_METADATA_ITEM_NOT_FOUND se não for encontrado nenhum item coincidente no repositório de metadados.
Comentários
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 foi chamado para um item alterado ou quando IReplicaMetadata::ReportLiveItemByIndexedFields ou IReplicaMetadata::ReportLiveItemByGlobalId foi 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.