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 を指定します。