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 で渡される競合ナレッジ オブジェクトと関連付けられているナレッジ オブジェクトに参照を追加します。ただし、これらのオブジェクトの複製は行いません。

参照

リファレンス

IProviderSyncServices2 インターフェイス