IKnowledgeBuilder2::AddRange

将某个范围及其关联的时钟向量添加到用于生成知识的范围集中。

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

参数

术语

定义

pItemId

[in] 此范围中项 ID 的封闭下限。

pChangeUnitId

[in, unique] 此范围应用于的变更单位的 ID。当此值为 NULL 时,此范围将应用于未在其他知识片段中另行指定的所有变更单位。

piClockVector

[in] 定义该范围中有关项的已知内容的时钟向量。

返回值

  • S_OK。

  • 如果 pItemId 不大于 pChangeUnitId 的所有其他范围集,则返回值为 E_INVALIDARG。必须按项 ID 的顺序添加范围。

  • E_POINTER。

  • 如果 pItemId 或 pChangeUnitId 未采用提供程序的格式架构指定的格式,则返回值为 SYNC_E_ID_FORMAT_MISMATCH。

  • 如果 IKnowledgeBuilder2 对象处于不正确的状态(如尚未调用 IKnowledgeBuilder::Initialize 时),则返回值为 SYNC_E_INVALID_OPERATION。

  • 如果正在生成的知识的版本与范围不兼容,则返回值为 SYNC_E_INVALID_VERSION。

备注

必须按项 ID 的顺序添加范围。定义范围的封闭下限的项 ID 还定义上一个范围的开放上限。如果未按顺序添加范围,则返回 E_INVALIDARG。

Sync Framework 2.0 和更高版本中的 ISyncKnowledge 对象包含一组 ICoreFragment 对象。每一个 ICoreFragment 对象都与一组变更单位相关联并且包含一组范围。ICoreFragment 对象中的每个范围都与定义有关范围中项的已知内容的时钟向量相关联。通常,其中某个 ICoreFragment 对象不包含变更单位 ID。不包含任何变更单位 ID 的 ICoreFragment 对象中所包含的知识将适用于未另行包含在另一个 ICoreFragment 对象中的所有变更单位 ID。若要将范围添加到此分段中,请为 pChangeUnitId 指定 NULL

请参阅

参考

IKnowledgeBuilder2 接口
ICoreFragment 接口