Compartir a través de


IKnowledgeBuilder2::AddRange

Agrega un intervalo y su vector de reloj asociado al conjunto de intervalos que se utiliza para generar el conocimiento.

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

Parámetros

Término

Definición

pItemId

[in] Límite inferior cerrado de los identificadores de elemento de este intervalo.

pChangeUnitId

[in, unique] Identificador de la unidad de cambio a la que se aplica este intervalo. Cuando este valor es NULL, este intervalo se aplica a todas las unidades de cambio que, de lo contrario, no se especificarían en otro fragmento del conocimiento.

piClockVector

[in] Vector de reloj que define lo que se conoce sobre los elementos del intervalo.

Valor devuelto

  • S_OK.

  • E_INVALIDARG si pItemId no es mayor que todos los otros intervalos que se establecieron para pChangeUnitId. Los intervalos se deben agregar por orden según el identificador de elemento.

  • E_POINTER.

  • SYNC_E_ID_FORMAT_MISMATCH si pItemId o pChangeUnitId no coincide con el formato de esquema del proveedor especificado.

  • SYNC_E_INVALID_OPERATION si el objeto IKnowledgeBuilder2 se encuentra en un estado inadecuado, como cuando no se ha llamado a IKnowledgeBuilder::Initialize.

  • SYNC_E_INVALID_VERSION si la versión del conocimiento que se está generando no es compatible con los intervalos.

Notas

Los intervalos se deben agregar por orden según el identificador de elemento. El identificador de elemento que define el límite inferior cerrado de un intervalo también define el límite superior abierto del intervalo anterior. Si un intervalo se agrega sin seguir el orden, se devuelve E_INVALIDARG.

Un objeto ISyncKnowledge en Sync Framework 2.0 y las versiones posteriores contiene un conjunto de objetos ICoreFragment. Cada objeto ICoreFragment está asociado a un conjunto de unidades de cambio y contiene un conjunto de intervalos. Cada intervalo en un objeto ICoreFragment se asocia a un vector de reloj que define lo que se sabe sobre los elementos en el intervalo. Normalmente, uno de los objetos ICoreFragment no contiene ningún identificador de unidad de cambio. El conocimiento que contiene el objeto ICoreFragment que no incluye ningún identificador de unidad de cambio se aplica a todos los identificadores de unidad de cambio que no están incluidos en ningún otro objeto ICoreFragment. Para agregar un intervalo a este fragmento, especifique NULL para pChangeUnitId.

Vea también

Referencia

Interfaz IKnowledgeBuilder2
Interfaz ICoreFragment