Partager via


IKnowledgeBuilder2::AddRange

Ajoute une plage et son vecteur horloge associé à l'ensemble de plages utilisé pour générer la connaissance.

Syntaxe

HRESULT AddRange(
  BYTE* pItemId,
  BYTE* pChangeUnitId,
  IClockVector* piClockVector);

Paramètres

Terme

Définition

pItemId

[in] Limite inférieure fermée des ID d'élément contenus dans cette plage.

pChangeUnitId

[in, unique] ID de l'unité de modification à laquelle cette plage s'applique. Lorsque cette valeur est NULL, cette plage s'applique à toutes les unités de modification qui ne sont pas spécifiées dans un autre fragment de connaissance.

piClockVector

[in] Vecteur horloge qui définit ce qui est connu concernant les éléments contenus dans la plage.

Valeur de retour

  • S_OK.

  • E_INVALIDARG lorsque pItemId n'est pas supérieur à toutes les autres plages définies pour pChangeUnitId. Les plages doivent être additionnées dans l'ordre par ID d'élément.

  • E_POINTER.

  • SYNC_E_ID_FORMAT_MISMATCH lorsque pItemId ou pChangeUnitId ne correspond pas au format spécifié par le schéma de format du fournisseur.

  • SYNC_E_INVALID_OPERATION si l'objet IKnowledgeBuilder2 est dans un état inapproprié, par exemple lorsque IKnowledgeBuilder::Initialize n'a pas été appelé.

  • SYNC_E_INVALID_VERSION lorsque la version de la connaissance en cours de génération n'est pas compatible avec les plages.

Notes

Les plages doivent être additionnées dans l'ordre par ID d'élément. L'ID d'élément qui définit la limite inférieure fermée d'une plage définit également la limite supérieure ouverte de la plage précédente. Si une plage inexploitable est ajoutée, E_INVALIDARG est retourné.

Un objet ISyncKnowledge dans Sync Framework 2.0 et les versions ultérieures contient un jeu d'objets ICoreFragment. Chaque objet ICoreFragment est associé à un jeu d'unités de modification et contient un jeu de plages. Chaque plage d'un objet ICoreFragment est associée à un vecteur horloge qui définit ce qui est connu concernant les éléments de la plage. En général, l'un des objets ICoreFragment ne contient pas d'ID d'unité de modification. La connaissance contenue dans l'objet ICoreFragment qui ne contient pas d'ID d'unité de modification s'applique à tous les ID d'unité de modification qui ne sont pas contenus dans un autre objet ICoreFragment. Pour ajouter une plage à ce fragment, spécifiez NULL pour pChangeUnitId.

Voir aussi

Autres ressources

Interface IKnowledgeBuilder2

Interface ICoreFragment