COLLISION_CONFLICT_RESOLUTION_POLICY 列挙体

同期セッションで使用する衝突競合の解決方法のオプションを表します。

typedef enum
{
  CCRP_NONE,
  CCRP_DESTINATION_PROVIDER_WINS,  
  CCRP_SOURCE_PROVIDER_WINS,
  CCRP_MERGE,
  CCRP_RENAME_SOURCE,              
  CCRP_RENAME_DESTINATION,
  CCRP_LAST = CCRP_RENAME_DESTINATION
} COLLISION_CONFLICT_RESOLUTION_POLICY;

メンバー

項目

定義

CCRP_NONE

変更適用元は、ISyncConstraintCallback::OnConstraintConflict イベントを使用して、衝突競合が発生したときに各競合について同期アプリケーションに通知します。アプリケーションでは、競合している項目を調査し、IConstraintConflict::SetConstraintResolveActionForChange または IConstraintConflict::GetConstraintResolveActionForChangeUnit を呼び出して競合解決アクションを指定します。

CCRP_DESTINATION_PROVIDER_WINS

同期先レプリカで行われた変更が常に優先されます。Sync Framework によって、SCRA_ACCEPT_DESTINATION_PROVIDER の競合解決アクションが指定されます。

CCRP_SOURCE_PROVIDER_WINS

同期元レプリカで行われた変更が常に優先されます。Sync Framework によって、SCRA_ACCEPT_SOURCE_PROVIDER の競合解決アクションが指定されます。

CCRP_MERGE

同期元項目のデータが同期先項目と結合されます。Sync Framework によって、SCRA_MERGE の競合解決アクションが指定されます。

CCRP_RENAME_SOURCE

同期元プロバイダーから送信された変更は、同期先レプリカで競合する項目と競合することがないように名前が変更されます。また、同期元の変更は同期先レプリカに適用されます。Sync Framework によって、SCRA_RENAME_SOURCE の競合解決アクションが指定されます。

CCRP_RENAME_DESTINATION

同期先レプリカで競合している項目は、同期元プロバイダーから送信された変更と競合しないように名前が変更されます。また、同期元の変更が同期先レプリカに適用されます。Sync Framework によって、SCRA_RENAME_DESTINATION の競合解決アクションが指定されます。

CCRP_LAST

列挙体にある最後の要素のプレースホルダーです。データを検証する場合のみ、この値を使用します。

解説

COLLISION_CONFLICT_RESOLUTION_POLICY のメンバーは、同期中に発生する衝突制約の競合を解決するために変更適用元で使用するポリシーを指定するために、同期アプリケーションで使用されます。衝突競合は、同期元プロバイダーが同期先レプリカに既に存在するファイルと同じ名前および場所のファイルを送信する場合など、同期先のストアにある別の項目との競合が原因で項目を保存できない場合に発生します。

制約の競合の詳細については、「制約の競合の検出および解決」を参照してください。

必要条件

ヘッダー: Synchronization.h

参照

概念

Sync Framework のコア コンポーネント