ICoreFragment::NextRange
Retorna o próximo intervalo contido neste fragmento de conhecimento e o vetor de relógio que define o conhecimento sobre os itens do intervalo.
HRESULT NextRange(
BYTE* pItemId,
DWORD* pItemIdSize,
IClockVector** piClockVector);
Parâmetros
- pItemId
[in, out, unique, size_is(*pItemIdSize)] Retorna o limite inferior fechado das IDs de item deste intervalo. Esse valor também será o limite superior aberto de IDs de item no intervalo anterior quando esse intervalo não for o primeiro do conjunto de intervalos.
- pItemIdSize
[in, out] Especifica o número de bytes em pItemId. Retorna o número de bytes necessários para recuperar a ID quando pItemId é muito pequeno ou retorna o número de bytes gravados.
- piClockVector
[out] Retorna o vetor de relógio que define o conhecimento sobre os itens do intervalo.
Valor de retorno
S_OK
S_FALSE quando não há mais intervalos para enumerar.
E_POINTER quando a ID do item é uma ID de comprimento variável e pItemIdSize é NULL.
HRESULT_FROM_WIN32(ERROR_MORE_DATA) quando pItemId é muito pequeno. Nessa situação, o número de bytes necessário é retornado em pItemIdSize.
SYNC_E_INVALID_OPERATION se o objeto de conhecimento contido neste objeto tiver sido alterado desde que o objeto foi criado.
Comentários
O valor retornado em pItemId é o limite inferior fechado no intervalo de IDs de item associadas ao vetor de relógio que é retornado em piClockVector. O valor de pItemId também define o limite superior aberto do intervalo anterior, de forma que o limite superior aberto do intervalo atual pode ser obtido chamando NextRange novamente. Se não houver mais intervalos para enumerar, o intervalo conterá todos os itens que têm IDs maiores que ou iguais a pItemId.