SYNC_CONSTRAINT_RESOLVE_ACTION 列挙体

特定の制約の競合を解決するために行われるアクションを表します。

typedef enum
{
  SCRA_DEFER,
  SCRA_ACCEPT_DESTINATION_PROVIDER,
  SCRA_ACCEPT_SOURCE_PROVIDER,
  SCRA_TRANSFER_AND_DEFER,
  SCRA_MERGE,
  SCRA_RENAME_SOURCE,
  SCRA_RENAME_DESTINATION
} SYNC_CONSTRAINT_RESOLVE_ACTION;

メンバー

項目

定義

SCRA_DEFER

競合を無視します。変更は適用されません。変更適用元は、競合データを同期先プロバイダーに渡しません。

SCRA_ACCEPT_DESTINATION_PROVIDER

同期先レプリカで行われた変更が常に優先されます。変更適用元は、同期元の変更を ISynchronousNotifyingChangeApplierTarget::SaveChange メソッドに渡し、SSA_DELETE_AND_STORE_TOMBSTONE の保存操作を指定します。同期先プロバイダーは、同期元の変更の廃棄標識を作成します。同期先は、その後の同期で同期元となったとき、同期元項目を削除することになる変更を列挙します。その結果、その項目が同期コミュニティから削除されます。

SCRA_ACCEPT_SOURCE_PROVIDER

同期元レプリカで行われた変更が常に優先されます。変更適用元は、変更を SaveChange メソッドに渡し、SSA_DELETE_CONFLICTING_AND_SAVE_SOURCE_ITEM の保存操作を指定します。同期元の変更が同期先レプリカに適用され、競合する同期先項目が同期先レプリカから削除されます。

SCRA_TRANSFER_AND_DEFER

競合をログに記録します。変更は適用されません。変更適用元は、競合データを ISynchronousNotifyingChangeApplierTarget2::SaveConstraintConflict メソッドに渡します。これにより、競合ログに競合が保存されます。競合のログ記録の詳細については、「競合のログ記録と管理」を参照してください。

SCRA_MERGE

同期元項目のデータが同期先項目と結合されます。変更適用元は、同期元レプリカの変更データを SaveChange メソッドに渡し、SSA_CHANGE_ID_UPDATE_VERSION_AND_MERGE_DATA の保存操作を指定します。詳細については、「制約の競合の検出および解決」の「競合している項目のマージ」を参照してください。

SCRA_RENAME_SOURCE

同期元プロバイダーから送信された変更は、同期先レプリカで競合する項目と競合することがないように名前が変更されます。また、同期元の変更は同期先レプリカに適用されます。変更適用元は、変更を SaveChange メソッドに渡し、SSA_RENAME_SOURCE_AND_UPDATE_VERSION_AND_DATA の保存操作を指定します。

SCRA_RENAME_DESTINATION

同期先レプリカで競合している項目は、同期元プロバイダーから送信された変更と競合しないように名前が変更されます。また、同期元の変更が同期先レプリカに適用されます。変更適用元は、変更を SaveChange メソッドに渡し、SSA_RENAME_DESTINATION_AND_UPDATE_VERSION_AND_DATA の保存操作を指定します。

解説

SYNC_CONSTRAINT_RESOLVE_ACTION のメンバーにより、制約の競合を解決するために変更適用元で行われるアクションが指定されます。制約の競合は、項目または変更単位が持つ制約 (フォルダーの関係や、ファイル システムにおいて、まったく同じ名前が付けられたデータの場所など) に違反する競合です。衝突競合の解決方法が指定されている場合に、衝突制約の競合が発生したときには、制約の競合の解決アクションが変更適用元によって指定されます。それ以外の場合で、制約の競合が発生したことが通知されたときには、制約の競合の解決アクションが同期アプリケーションによって指定されます。

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

必要条件

ヘッダー: Synchronization.h

参照

概念

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