Partager via


Énumération CONSTRAINT_CONFLICT_REASON

Représente les raisons pour lesquelles un conflit de contraintes peut se produire.

Syntaxe

typedef enum
{
  CCR_OTHER,
  CCR_COLLISION,
  CCR_NOPARENT,
  CCR_IDENTITY
} CONSTRAINT_CONFLICT_REASON;

Membres

Terme

Définition

CCR_OTHER

L'élément ou l'unité de modification ne respecte pas une autre contrainte du réplica de destination. Le fournisseur peut éventuellement spécifier l'ID de l'élément en conflit comme ID d'élément en conflit.

CCR_COLLISION

L'élément ne peut pas être enregistré car il est en conflit avec un autre élément du magasin, comme un élément qui porte le même nom qu'un élément existant. Le fournisseur doit spécifier l'ID de l'élément de destination comme ID d'élément en conflit.

CCR_NOPARENT

L'élément ne peut pas être enregistré dans le magasin de données hiérarchique parce qu'il requiert un élément parent qui n'existe pas dans le magasin. Le fournisseur peut éventuellement spécifier l'ID du parent manquant comme ID d'élément en conflit.

CCR_IDENTITY

Le réplica source et le réplica de destination sont en désaccord sur l'identité d'un élément. Par exemple, le réplica X résout un conflit de collision entre des éléments ayant les ID id1 et id2 en fusionnant les éléments et en attribuant l'ID id1 à l'élément fusionné. Le réplica Y résout un conflit de collision entre des éléments ayant les ID id1 et id2 en renommant l'élément identifié par id1 et en conservant les deux éléments. Le réplica X envoie l'élément fusionné identifié par id1 et un objet tombstone de fusion qui indique que id2 a été fusionné dans id1. Le conflit sur id1 est détecté et résolu en tant que conflit d'accès concurrentiel. Le conflit sur id2 est détecté et signalé à l'application de synchronisation en tant que conflit d'identité en spécifiant CCR_IDENTITY comme raison du conflit. L'application détermine s'il faut résoudre le conflit en conservant la modification de la source ou la modification de destination.

Notes

Le fournisseur de destination utilise un membre de l'objet CONSTRAINT_CONFLICT_REASON pour spécifier la raison d'un conflit de contraintes lorsqu'il signale un conflit de contraintes à l'applicateur de modifications. Pour plus d'informations sur les conflits de contraintes, consultez Détection et résolution des conflits de contraintes.

Spécifications

En-tête : Synchronization.h

Voir aussi

Autres ressources

Composants principaux de Sync Framework