IKnowledgeSyncProvider::ProcessFullEnumerationChangeBatch

項目ストアに変更を適用することで、完全な列挙に対する一連の変更を処理します。

HRESULT ProcessFullEnumerationChangeBatch(
  CONFLICT_RESOLUTION_POLICY resolutionPolicy,
  ISyncFullEnumerationChangeBatch * pSourceChangeBatch,
  IUnknown * pUnkDataRetriever,
  ISyncCallback * pCallback,
  SYNC_SESSION_STATISTICS * pSyncSessionStatistics);

パラメーター

  • resolutionPolicy
    [in] このメソッドによって変更が適用された場合に使用する競合解決方法です。
  • pSourceChangeBatch
    [in] 同期元プロバイダーからローカルで適用される変更バッチです。
  • pUnkDataRetriever
    [in] 変更データを取得するために使用できるオブジェクトです。これには、ISynchronousDataRetriever オブジェクトまたはプロバイダー固有のオブジェクトを指定できます。
  • pCallback
    [in] 変更の適用時にイベント通知を受け取るオブジェクトです。
  • pSyncSessionStatistics
    [in, out] 変更の統計を追跡します。カスタム変更の適用を使用するプロバイダーの場合、このオブジェクトは、変更を適用した結果で更新する必要があります。

戻り値

  • S_OK

  • プロバイダーが決定したエラー コード

解説

このメソッドは、忘れられたナレッジの復旧時に呼び出されます。

実装に関するメモ

ISynchronousNotifyingChangeApplier を使用して変更を適用するプロバイダーでは、項目 ID が pSourceChangeBatch の ISyncFullEnumerationChangeBatch::GetClosedLowerBoundItemId プロパティと ISyncFullEnumerationChangeBatch::GetClosedUpperBoundItemId プロパティの間にあるレプリカ内のすべての変更を、項目 ID の順に列挙する必要があります。その後、この同期先変更の一覧を ISynchronousNotifyingChangeApplier::ApplyFullEnumerationChanges に渡す必要があります。

参照

リファレンス

IKnowledgeSyncProvider インターフェイス
SYNC_RANGE 構造体
CONFLICT_RESOLUTION_POLICY 列挙体

概念

古くなったレプリカの復旧