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.