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 で指定された項目と競合する、同期先レプリカの項目の項目 ID です。fConstraint が FALSE の場合は、この値を NULL にする必要があります。
- constraintConflictReason
[in] この競合が制約の競合である場合は、競合が発生した理由です。fConstraint が FALSE である場合は、この値が無視されます。
- pUnkData
[in] 項目データが存在する場合は pChange の項目データです。
- pConflictKnowledge
[in] この変更が適用された場合に学習されるナレッジです。
- pMadeWithKnowledge
[in] この変更に関連付けられているナレッジです。変更に関連付けられているナレッジは、通常、この変更の実行時にレプリカに含まれていたナレッジです。
- fTemporary
[in] 一時的な競合の場合は TRUE です。それ以外の場合は、FALSE です。
- ppLoggedConflict
[out] 新しく作成された ILoggedConflict オブジェクトです。
戻り値
S_OK
E_INVALIDARG (この競合が制約の競合でないことが fConstraint で示され、pConflictingItemId が NULL でない場合、pConflictingItemId が有効な ID でない場合、または constraintConflictReason が有効な値でない場合)
E_OUTOFMEMORY
E_POINTER
SYNC_E_INVALID_OPERATION (このオブジェクトが初期化されていない場合)
解説
返された ILoggedConflict オブジェクトは、pConflictKnowledge および pMadeWithKnowledge で渡される競合ナレッジ オブジェクトと関連付けられているナレッジ オブジェクトに参照を追加します。ただし、これらのオブジェクトの複製は行いません。