Compartir a través de


IReplicaMetadata::GetUnreportedItemsByIndexedFields

Devuelve una lista de los elementos que tienen el conjunto de valores especificado para los campos indizados, que no están marcados actualmente como activos en el almacén de metadatos y que no se han marcado todavía como eliminados.

HRESULT GetUnreportedItemsByFieldValue (
  LPCWSTR * ppcszCustomFieldNames,
  IFieldValue ** ppFieldValues,
  BYTE cCustomFields,
  IItemMetadataEnumerator ** ppItemMetadataEnumerator);

Parámetros

  • ppcszCustomFieldNames
    [in, size_is(cCustomFields)] Conjunto de nombres de campo indizados que definen los elementos que hay que buscar.
  • ppFieldValues
    [in, size_is(cCustomFields)] Conjunto de valores especificados para los campos indizados que definen los elementos que hay que buscar. Estos valores deben estar en el mismo orden que los nombres de ppcszCustomFieldNames.
  • cCustomFields
    [in] Número de entradas de ppcszCustomFieldNames y de ppFieldValues.
  • ppItemMetadataEnumerator
    [out] Devuelve la lista de los elementos que tienen el conjunto de valores especificado para los campos indizados, que no están marcados actualmente como activos en el almacén de metadatos y que no se han marcado todavía como eliminados.

Valor devuelto

  • S_OK

  • E_POINTER

  • E_OUTOFMEMORY

  • 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.

Notas

Si no existen elementos inactivos con los valores especificados para los campos indizados, se devuelve un enumerador vacío.

Este método forma parte del servicio de detección de eliminaciones. Un elemento se marca como activo en el almacén de metadatos cuando se llamó a IReplicaMetadata::SaveItemMetadata para un elemento cambiado, o cuando se llamó a IReplicaMetadata::ReportLiveItemByIndexedFields o IReplicaMetadata::ReportLiveItemByGlobalId para un elemento sin cambiar, 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.

Vea también

Referencia

Interfaz IReplicaMetadata