ISyncChangeBatch2::AddMergeTombstoneLoggedConflict
將代表合併標記衝突的中繼資料加入至變更批次。
HRESULT AddMergeTombstoneLoggedConflict(
const BYTE * pbOwnerReplicaId,
const BYTE * pbWinnerItemId,
const BYTE * pbItemId,
const SYNC_VERSION * pChangeVersion,
const SYNC_VERSION * pCreationVersion,
DWORD dwWorkForChange,
ISyncKnowledge * pConflictKnowledge,
ISyncChangeBuilder ** ppChangeBuilder);
參數
- pbOwnerReplicaId
[in] 複寫的複寫識別碼,其中的 pChangeVersion 和 pCreationVersion 在此複寫中有效。識別碼格式必須與提供者之 ID_PARAMETERS 結構所指定的格式相符。
- pbWinnerItemId
[in] 發生合併後的項目識別碼。這也稱為成功的識別碼。識別碼格式必須與提供者之 ID_PARAMETERS 結構所指定的格式相符。
- pbItemId
[in] 發生合併前的項目識別碼。這也稱為失敗的識別碼。識別碼格式必須與提供者之 ID_PARAMETERS 結構所指定的格式相符。
- pChangeVersion
[in] 此變更的版本。
- pCreationVersion
[in] 此項目的建立版本。
- dwWorkForChange
[in] 此變更的工作量估計值。此值是用於變更套用期間,向應用程式報告已完成的工作量。
- pConflictKnowledge
[in] 記錄此衝突時所儲存的衝突知識。
- ppChangeBuilder
[in, out, unique] 傳回用來將變更單位資訊加入至變更的物件。
傳回值
S_OK。
E_POINTER。
如果 ISyncChangeBatch 物件是使用 IProviderSyncServices::DeserializeChangeBatch 建立的,則為 SYNC_E_CHANGE_BATCH_IS_READ_ONLY。
備註
加入至變更批次的衝突不會加入至群組。您不需要開啟群組,就可以將衝突加入至變更批次。
因為合併標記與目的地複寫中已經存在的某個項目或標記發生衝突而無法將合併標記加入至目的地複寫時,會發生合併標記衝突。