IProviderSyncServices2::CreateLoggedConflict
建立表示已記錄之衝突的 ILoggedConflict 物件。
HRESULT CreateLoggedConflict(
BOOL fConstraint,
ISyncChange * pChange,
BYTE * pConflictingItemId,
CONSTRAINT_CONFLICT_REASON constraintConflictReason,
IUnknown * pUnkData,
ISyncKnowledge * pConflictKnowledge,
ISyncKnowledge * pMadeWithKnowledge,
BOOL fTemporary,
ILoggedConflict ** ppLoggedConflict);
參數
- fConstraint
[in] 如果此衝突代表條件約束衝突,則為 TRUE,否則為 FALSE。
- pChange
[in] 來源提供者中衝突變更的項目中繼資料。
- pConflictingItemId
[in] 目的地複寫中與 pChange 指定的項目發生衝突之項目的項目識別碼 (如果這個衝突是條件約束衝突)。當 fConstraint 為 FALSE 時,這個值必須是 NULL。
- constraintConflictReason
[in] 發生衝突的原因 (如果這個衝突是條件約束衝突)。當 fConstraint 為 FALSE 時,會忽略這個值。
- pUnkData
[in] pChange 的項目資料 (如果項目資料存在)。
- pConflictKnowledge
[in] 套用這個變更時要學習的知識。
- pMadeWithKnowledge
[in] 這個變更的建立方式知識。變更的建立方式知識通常是在進行這項變更時複寫所擁有的知識。
- fTemporary
[in] 如果這是暫時的衝突,則為 TRUE,否則為 FALSE。
- ppLoggedConflict
[out] 新建立的 ILoggedConflict 物件。
傳回值
S_OK。
如果 fConstraint 指出這個衝突不是條件約束衝突,而且 pConflictingItemId 不是 NULL;或者 pConflictingItemId 不是有效的識別碼:或者 constraintConflictReason 不是有效的值,則為 E_INVALIDARG。
E_OUTOFMEMORY。
E_POINTER。
如果此物件未經過初始化,則為 SYNC_E_INVALID_OPERATION。
備註
傳回的 ILoggedConflict 物件會加入衝突知識及傳入 pConflictKnowledge 和 pMadeWithKnowledge 之建立方式知識物件的參考,但是不會複製它們。