Freigeben über


CONSTRAINT_CONFLICT_REASON-Enumeration

Stellt den Grund für das Auftreten eines Einschränkungskonflikts dar.

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

Member

Ausdruck

Definition

CCR_OTHER

Das Element oder die Änderungseinheit verstößt gegen eine andere Einschränkung des Zielreplikats. Der Anbieter kann die ID des Konflikt verursachenden Elements optional als ID des Konflikt verursachenden Elements angeben.

CCR_COLLISION

Das Element kann nicht gespeichert werden, da ein Konflikt mit einem anderen Element im Speicher auftritt, z. B. mit einem Element, das den gleichen Namen wie ein vorhandenes Element aufweist. Der Anbieter muss die ID des Zielelements als die ID des Konflikt verursachenden Elements angeben.

CCR_NOPARENT

Das Element kann nicht im hierarchischen Datenspeicher gespeichert werden, da es ein übergeordnetes Element erfordert, das im Speicher nicht vorhanden ist. Der Anbieter kann die ID des fehlenden übergeordneten Elements optional als ID des Konflikt verursachenden Elements angeben.

CCR_IDENTITY

Das Quellreplikat und das Zielreplikat stimmen in der Identität eines Elements nicht überein. So löst Replikat X beispielsweise einen Kollisionskonflikt zwischen Elementen mit den IDs id1 und id2 auf, indem die Elemente zusammengeführt und dem zusammengeführten Element id1 zugewiesen werden. Replikat Y löst einen Kollisionskonflikt zwischen Elementen mit den IDs id1 und id2 auf, indem das als id1 erkannte Element umbenannt und beide Elemente beibehalten werden. Replikat X sendet das als id1 erkannte zusammengeführte Element und einen Mergetombstone, der angibt, dass id2 mit id1 zusammengeführt wurde. Der Konflikt für id1 wird erkannt und als Parallelitätskonflikt aufgelöst. Der Konflikt für id2 wird erkannt und der Synchronisierungsanwendung als Identitätskonflikt gemeldet, indem die Konfliktursache als CCR_IDENTITY angegeben wird. Die Anwendung bestimmt, ob der Konflikt durch das Beibehalten der Quell- oder der Zieländerung aufgelöst werden soll.

Hinweise

Der Zielanbieter verwendet einen Member von CONSTRAINT_CONFLICT_REASON, um die Ursache für einen Einschränkungskonflikt anzugeben, wenn er einen Einschränkungskonflikt an den Änderungsanwender meldet. Weitere Informationen zu Einschränkungskonflikten finden Sie unter Erkennen und Auflösen von Einschränkungskonflikten.

Anforderungen

Header: Synchronization.h

Siehe auch

Konzepte

Kernkomponenten von Sync Framework