ISaveChangeContext2::SetConstraintConflictOnChange
報告當目的地提供者嘗試將變更套用至目的地複寫時發生了條件約束衝突。
HRESULT SetConstraintConflictOnChange(
const BYTE * pbConflictingItemId,
CONSTRAINT_CONFLICT_REASON constraintConflictReason);
參數
- pbConflictingItemId
[in, unique] 與要套用之變更發生衝突之目的地項目的項目識別碼。
- constraintConflictReason
[in] 發生衝突的原因。
傳回值
S_OK。
如果 constraintConflictReason 不是有效值,或者 constraintConflictReason 是 CCR_COLLISION 且 pbConflictingItemId 是 NULL,則為 E_INVALIDARG。
如果已經在此物件上設定條件約束衝突或可復原的錯誤,則為 SYNC_E_INVALID_OPERATION。
備註
當目的地提供者嘗試將變更套用至目的地複寫,而且此變更違反目的地複寫的條件約束 (例如資料夾的關聯性或檔案系統中名稱完全相同之資料的位置) 時,就會發生條件約束衝突。
當目的地提供者使用這個方法來報告條件約束衝突時,變更套用者就會根據針對此工作階段所設定衝突解決原則,或是應用程式針對指定之衝突所設定的衝突解決動作,解決此衝突。然後,變更套用者就會將任何必要的呼叫分派給目的地提供者,讓目的地提供者能夠將解決的衝突套用至目的地複寫。如需詳細資訊,請參閱偵測及解決條件約束衝突。