Compartilhar via


IKnowledgeBuilder2::AddRange

Adiciona um intervalo e seu vetor de relógio associado ao conjunto de intervalos utilizado para criar o conhecimento.

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

Parâmetros

Termo

Definição

pItemId

[in] O limite inferior fechado das IDs de item deste intervalo.

pChangeUnitId

[in, unique] A ID da unidade de alteração à qual este intervalo se aplica. Quando este valor for NULL, esse intervalo se aplicará a todas as unidades de alteração que não estiverem especificadas em outro fragmento de conhecimento.

piClockVector

[in] O vetor de relógio que define o conhecimento sobre os itens do intervalo.

Valor de retorno

  • S_OK.

  • E_INVALIDARG quando pItemId não é maior que todos os outros intervalos definidos para pChangeUnitId. Os intervalos devem ser adicionados em ordem por ID de item.

  • E_POINTER.

  • SYNC_E_ID_FORMAT_MISMATCH quando o formato de pItemId ou pChangeUnitId não corresponder ao formato especificado pelo esquema de formato do provedor.

  • SYNC_E_INVALID_OPERATION se o objeto IKnowledgeBuilder2 estiver em um estado impróprio. Por exemplo, quando IKnowledgeBuilder::Initialize não tiver sido chamado.

  • SYNC_E_INVALID_VERSION quando a versão do conhecimento que está sendo criado não for compatível com intervalos.

Comentários

Os intervalos devem ser adicionados em ordem por ID de item. O ID de item que define o limite inferior fechado de um intervalo também define o limite superior aberto do intervalo anterior. Se um intervalo for adicionado fora da ordem, E_INVALIDARG será retornado.

Um objeto ISyncKnowledge no Sync Framework 2.0 e versões posteriores contêm um conjunto de objetos ICoreFragment. Cada objeto ICoreFragment está associado a um conjunto de unidades de alteração e contém um conjunto de intervalos. Cada intervalo em um objeto ICoreFragment está associado a um vetor de relógio que define o conhecimento sobre os itens do intervalo. Em geral, um dos objetos ICoreFragment não contém nenhuma ID de unidade de alteração. O conhecimento contido no objeto ICoreFragment que não contém nenhuma ID de unidade de alteração se aplica a todas as IDs de unidade de alteração que não estão contidas em outro objeto ICoreFragment. Para adicionar um intervalo a este fragmento, especifique NULL para pChangeUnitId.

Consulte também

Referência

Interface IKnowledgeBuilder2
Interface ICoreFragment