Partager via


IReplicaMetadata::GetUnreportedItemsByIndexedFields

Retourne une liste des éléments qui ont l'ensemble spécifié de valeurs de champ indexé et qui ne sont ni marqués actuellement comme actifs dans le magasin des métadonnées, ni déjà marqués comme supprimés.

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

Paramètres

  • ppcszCustomFieldNames
    [in, size_is(cCustomFields)] Ensemble de noms de champ indexé qui définissent les éléments pour lesquels effectuer une recherche.
  • ppFieldValues
    [in, size_is(cCustomFields)] Ensemble de valeurs de champ indexé qui définissent les éléments pour lesquels effectuer une recherche. Ces valeurs doivent être dans le même ordre que les noms dans ppcszCustomFieldNames.
  • cCustomFields
    [in] Nombre d'entrées contenues dans ppcszCustomFieldNames et dans ppFieldValues.
  • ppItemMetadataEnumerator
    [out] Retourne la liste des éléments qui ont l'ensemble spécifié de valeurs de champ indexé et qui ne sont ni marqués actuellement comme actifs dans le magasin des métadonnées, ni déjà marqués comme supprimés.

Valeur de retour

  • S_OK

  • E_POINTER

  • E_OUTOFMEMORY

  • SYNC_E_METADATA_QUERY_REQUIRES_INDEXED_FIELDS si un champ dans ppcszCustomFieldNames n'a pas été spécifié comme champ d'index lorsque les métadonnées ont été initialisées.

  • SYNC_E_METADATA_FIELD_INVALID_NAME si un nom de champ dans ppcszCustomFieldNames n'existe pas.

  • SYNC_E_METADATA_FIELD_INVALID_TYPE si une valeur de champ dans ppFieldValues ne correspond pas au type du champ correspondant.

Notes

S'il n'existe aucun élément inactif ayant les valeurs de champ indexé spécifiées, un énumérateur vide est retourné.

Cette méthode fait partie du service de détection de suppressions. Un élément est marqué comme étant actif dans le magasin des métadonnées lorsque IReplicaMetadata::SaveItemMetadata est appelée pour un élément modifié, ou lorsque IReplicaMetadata::ReportLiveItemByIndexedFields ou IReplicaMetadata::ReportLiveItemByGlobalId est appelée pour un élément inchangé, mais toujours actif. Un fournisseur peut appeler IReplicaMetadata::GetUnreportedItems ou IReplicaMetadata::GetUnreportedItemsByIndexedFields pour obtenir des éléments qui existent dans le magasin des métadonnées et qui ne sont pas signalés comme actifs. Le fournisseur peut alors marquer ces éléments comme supprimés dans le magasin des métadonnées.

Voir aussi

Référence

Interface IReplicaMetadata