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