IKnowledgeBuilder2::AddRange

ナレッジの構築に使用される範囲セットに対して、範囲とそれに関連付けられているクロック ベクターを追加します。

HRESULT AddRange(
  BYTE* pItemId,
  BYTE* pChangeUnitId,
  IClockVector* piClockVector);

パラメーター

項目

定義

pItemId

[in] この範囲内の項目 ID の閉じた下限です。

pChangeUnitId

[in, unique] この範囲が適用される変更単位の ID です。この値が NULL の場合、この範囲は、別のナレッジ フラグメントで指定されていない変更単位すべてに適用されます。

piClockVector

[in] 範囲内の項目に関する既知の事柄を定義するクロック ベクターです。

戻り値

  • S_OK

  • E_INVALIDARG (pItemId の値が pChangeUnitId に設定されたその他すべての範囲以下の場合。範囲は、項目 ID の順に追加する必要があります。)

  • E_POINTER

  • SYNC_E_ID_FORMAT_MISMATCH (pItemId または pChangeUnitId の形式が、プロバイダーの形式スキーマによって指定された形式ではない場合)

  • SYNC_E_INVALID_OPERATION (IKnowledgeBuilder::Initialize がまだ呼び出されていない場合など、IKnowledgeBuilder2 オブジェクトの状態が適切でない場合)

  • SYNC_E_INVALID_VERSION (構築されるナレッジのバージョンと範囲に互換性がない場合)

解説

範囲は、項目 ID の順に追加する必要があります。範囲の閉じた下限を定義する項目 ID では、前の範囲の開いた上限も定義されます。順不同で範囲を追加すると、E_INVALIDARG が返されます。

Sync Framework 2.0 以降のバージョンの ISyncKnowledge オブジェクトには、ICoreFragment オブジェクトのセットが含まれています。各 ICoreFragment オブジェクトは、変更単位のセットと関連付けられており、一連の範囲を格納します。ICoreFragment オブジェクトの各範囲は、その範囲内の項目に関する既知の事柄を定義するクロック ベクターと関連付けられています。通常、ICoreFragment オブジェクトのうち 1 つには、変更単位 ID が含まれません。変更単位 ID が含まれない ICoreFragment オブジェクトに格納されているナレッジは、別の ICoreFragment オブジェクトには含まれていない変更単位 ID すべてに適用されます。このフラグメントに範囲を追加するには、pChangeUnitId に NULL を指定します。

参照

リファレンス

IKnowledgeBuilder2 インターフェイス
ICoreFragment インターフェイス