IReplicaMetadata::ReportLiveItemByIndexedFields
Notifica que el elemento identificado por el valor del campo indizado está activo y no debería considerarse eliminado.
HRESULT ReportLiveItemByIndexedFields(
LPCWSTR * ppcszCustomFieldNames,
IFieldValue ** ppFieldValues,
BYTE cCustomFields);
Parámetros
- ppcszCustomFieldNames
[in, size_is(cCustomFields)] Conjunto de nombres de campo indizados que definen los elementos que hay que notificar como activos.
- ppFieldValues
[in, size_is(cCustomFields)] Conjunto de valores especificado para los campos indizados que definen los elementos que hay que notificar como activos. Estos valores deben estar en el mismo orden que los nombres de ppcszCustomFieldNames.
- cCustomFields
[in] Número de entradas de ppcszCustomFieldNames y de ppFieldValues.
Valor devuelto
S_OK
E_POINTER
SYNC_E_METADATA_QUERY_REQUIRES_INDEXED_FIELDS si un campo de ppcszCustomFieldNames no se especificó como un campo indizado al inicializar los metadatos.
SYNC_E_METADATA_FIELD_INVALID_NAME si no existe un nombre de campo en ppcszCustomFieldNames.
SYNC_E_METADATA_FIELD_INVALID_TYPE si el valor de un campo de ppFieldValues no coincide con el tipo del campo correspondiente.
SYNC_E_METADATA_ITEM_NOT_FOUND si no se encuentra ningún elemento coincidente en el almacén de metadatos.
Notas
Este método forma parte del servicio de detección de eliminaciones. Un elemento se marca como activo en el almacén de metadatos si se llamó a IReplicaMetadata::SaveItemMetadata para un elemento cambiado, o si se llamó a IReplicaMetadata::ReportLiveItemByIndexedFields o IReplicaMetadata::ReportLiveItemByGlobalId para un elemento no cambiado, pero que todavía está activo. Un proveedor puede llamar a IReplicaMetadata::GetUnreportedItems
o IReplicaMetadata::GetUnreportedItemsByIndexedFields para obtener elementos que existen en el almacén de metadatos, pero que no se identifican como activos. De esta forma, el proveedor puede marcar estos elementos como eliminados en el almacén de metadatos.