ISimpleSyncEvents::OnConstraintConflict
処理中の項目が制約の競合に関係していることが Sync Framework によって検出された場合に呼び出されます。
HRESULT OnConstraintConflict(
const CONFLICT_INFORMATION *pAdditionalConflictInfo,
const ITEM_FIELDS *pLocalConflictingItem,
const ITEM_FIELDS *pRemoteItem,
const CHANGE_UNIT_SET *pChangeUnitsToApply,
IUnknown *pRemoteConflictingItemData,
SYNC_CONSTRAINT_RESOLVE_ACTION *pRequestedResolution,
BOOL *pfForwardToApplication);
パラメーター
- pAdditionalConflictInfo
[in] 競合している項目についてリモート プロバイダーが認識している項目のバージョンに関する情報を格納する CONFLICT_INFORMATION オブジェクトです。
- pLocalConflictingItem
[in] ローカルの項目のキー プロパティとバージョン プロパティです。
- pRemoteItem
[in, unique] 変更が更新の場合は、受信した変更の結果として変更されている項目のキー プロパティとバージョン プロパティです。受信した変更が挿入の場合は Null になります。
- pChangeUnitsToApply
[in, unique] 競合の解決時に適用する必要のある変更単位のセットです。
- pRemoteConflictingItemData
[in] リモートで競合している項目に関連付けられているデータです。受信した変更が削除の場合は Null になります。
- pRequestedResolution
[out] 制約の競合を解決するためのオプションを表す SYNC_CONSTRAINT_RESOLVE_ACTION 列挙値です。
- pfForwardToApplication
[out] TRUE を設定すると、pRequestedResolution が無視され、通知がアプリケーションに転送されます。
戻り値
- S_OK
解説
このイベントは、制約の競合に使用されます。制約の競合は、同期元プロバイダーが同期先レプリカに既に存在するファイルと同じ名前および場所のファイルを送信する場合など、同期先のストアにある別の項目との競合が原因で項目を保存できない場合に発生します。詳細については、「簡易プロバイダーの競合処理」を参照してください。