IKnowledgeBuilder2::AddRange
將某個範圍及其相關聯的時鐘向量加入至建立知識所使用的範圍集。
HRESULT AddRange(
BYTE* pItemId,
BYTE* pChangeUnitId,
IClockVector* piClockVector);
參數
術語 |
定義 |
pItemId |
[in] 此範圍內項目識別碼的封閉下限。 |
pChangeUnitId |
[in, unique] 此範圍所要套用之目標變更單位的識別碼。當此值為 NULL 時,這個範圍會套用至在其他知識片段中未指定的所有變更單位。 |
piClockVector |
[in] 定義範圍內項目之相關已知資料的時鐘向量。 |
傳回值
S_OK。
如果 pItemId 不大於 pChangeUnitId 的其他所有範圍集,則為 E_INVALIDARG。範圍必須以項目識別碼依序加入。
E_POINTER。
如果 pItemId 或 pChangeUnitId 的格式與提供者的格式結構描述指定的格式不符,則為 SYNC_E_ID_FORMAT_MISMATCH。
如果 IKnowledgeBuilder2 物件處於不當狀態 (例如尚未呼叫 IKnowledgeBuilder::Initialize 時),則為 SYNC_E_INVALID_OPERATION。
如果要建立的知識版本與範圍不相容,則為 SYNC_E_INVALID_VERSION。
備註
範圍必須以項目識別碼依序加入。定義範圍之封閉下限的項目識別碼也會定義上一個範圍的開放上限。如果沒有依序加入範圍,則會傳回 E_INVALIDARG。
在 Sync Framework 2.0 和更新版本中的 ISyncKnowledge 物件包含一組 ICoreFragment 物件。每個 ICoreFragment 物件都與一組變更單位相關聯,而且都包含一組範圍。在 ICoreFragment 物件中的每個範圍都會與定義該範圍內項目之相關已知資料的時鐘向量相關聯。通常,其中一個 ICoreFragment 物件不包含任何變更單位識別碼。在不包含任何變更單位識別碼之 ICoreFragment 物件中內含的知識會套用至不包含在其他 ICoreFragment 物件中的所有變更單位識別碼。若要將範圍加入至此片段,請為 pChangeUnitId 指定 NULL。