SYNC_RESOLVE_ACTION 列挙体
特定の同時実行の競合を解決するために行われるアクションを表します。
typedef enum
{
SRA_DEFER,
SRA_ACCEPT_DESTINATION_PROVIDER,
SRA_ACCEPT_SOURCE_PROVIDER,
SRA_MERGE,
SRA_TRANSFER_AND_DEFER,
SRA_LAST,
} SYNC_RESOLVE_ACTION;
メンバー
- SRA_DEFER
競合を無視します。変更は適用されません。変更適用元は、競合データを同期先プロバイダーに渡しません。
- SRA_ACCEPT_DESTINATION_PROVIDER
同期先レプリカで行われた変更が優先されます。変更適用元は、バージョンのみの変更を ISynchronousNotifyingChangeApplierTarget::SaveChange メソッドまたは ISynchronousNotifyingChangeApplierTarget::SaveChangeWithChangeUnits メソッドに渡し、SSA_UPDATE_VERSION_ONLY の保存操作を指定します。同期先レプリカ上のメタデータでは、項目のバージョン情報だけが更新されます。項目データは変更されません。
- SRA_ACCEPT_SOURCE_PROVIDER
同期元レプリカで行われた変更が優先されます。変更適用元は、変更を SaveChange メソッドまたは SaveChangeWithChangeUnits メソッドに渡し、SSA_UPDATE_VERSION_AND_DATA の保存操作を指定します。この変更は、競合しない変更とまったく同じように同期先レプリカに適用されます。
- SRA_MERGE
同期元項目のデータを同期先項目にマージします。変更適用元は、同期元レプリカの変更データを SaveChange メソッドまたは SaveChangeWithChangeUnits メソッドに渡し、SSA_UPDATE_VERSION_AND_MERGE_DATA の保存操作を指定します。同期先プロバイダーは、同期元の項目データと同期先の項目データを結合し、その結果を同期先レプリカに適用します。
- SRA_TRANSFER_AND_DEFER
競合をログに記録します。変更は適用されません。変更適用元は、競合データを ISynchronousNotifyingChangeApplierTarget::SaveConflict メソッドに渡します。これにより、競合ログに競合が保存されます。競合のログ記録の詳細については、「競合のログ記録と管理」を参照してください。
- SRA_LAST
列挙体にある最後の要素のプレースホルダーです。この値は使用しないでください。
解説
SYNC_RESOLVE_ACTION のメンバーは、同時実行の競合を解決するために変更適用元で使用する操作を指定します。同時実行の競合は、後で同期される異なる 2 つのレプリカで同じ項目または変更単位が変更された場合に発生します。同時実行の競合の詳細については、「同時実行の競合の検出および解決」を参照してください。
必要条件
ヘッダー: Synchronization.h