Поделиться через


IKnowledgeBuilder2::AddRange

Добавляет диапазон и связанный с ним вектор синхронизации в набор диапазонов, используемый для построения набора знаний.

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

Параметры

Аргумент

Определение

pItemId

[in] Закрытая нижняя граница диапазона идентификаторов элементов.

pChangeUnitId

[in, unique] Идентификатор базовой единицы, к которой применяется данный диапазон. Когда данное значение равно NULL, диапазон применяется ко всем базовым единицам, которые не определены иначе в другом фрагменте набора знаний.

piClockVector

[in] Вектор синхронизации, который определяет известные сведения об элементах диапазона.

Возвращаемое значение

  • S_OK.

  • E_INVALIDARG, если pItemId не превышает значений других диапазонов, заданных для pChangeUnitId. Диапазоны должны быть добавлены по порядку по идентификаторам элементов.

  • E_POINTER.

  • SYNC_E_ID_FORMAT_MISMATCH, если формат pItemId или pChangeUnitId не соответствует формату, заданному в схеме форматов поставщика.

  • SYNC_E_INVALID_OPERATION, если объект IKnowledgeBuilder2 находится в неправильном состоянии, например если метод IKnowledgeBuilder::Initialize не был вызван.

  • SYNC_E_INVALID_VERSION, если версия создаваемого набора знаний несовместима с диапазонами.

Замечания

Диапазоны должны быть добавлены по порядку по идентификаторам элементов. Идентификатор элемента, который определяет закрытую нижнюю границу для диапазона, также определяет открытую верхнюю границу предыдущего диапазона. Если диапазон добавлен с нарушением порядка, возвращается E_INVALIDARG.

Объект ISyncKnowledge в платформе Sync Framework 2.0 и более поздних версиях содержит набор объектов ICoreFragment. Каждый объект ICoreFragment связан с набором базовых единиц и содержит набор диапазонов. Каждый диапазон в объекте ICoreFragment связан с вектором синхронизации, который определяет, что известно об элементах в диапазоне. Как правило, один из объектов ICoreFragment не содержит идентификаторов базовых единиц. Набор знаний, который содержится в объекте ICoreFragment, который не содержит идентификаторов базовых единиц, применим ко всем идентификаторам базовых единиц, которые не присутствуют ни в одном другом объекте ICoreFragment. Для добавления диапазона к данному фрагменту укажите значение NULL для параметра pChangeUnitId.

См. также

Справочник

Интерфейс IKnowledgeBuilder2
Интерфейс ICoreFragment