Compartilhar via


IEnumVARIANT::Next

Windows Mobile SupportedWindows Embedded CE Supported

9/8/2008

Esse método tenta get o próximo celt Itens a seqüência enumeração e retorno-los por meio de matriz apontadas pelo rgVar.

Syntax

HRESULT Next( 
  unsigned long celt, 
  VARIANT FAR* rgVar, 
  unsigned long FAR* pCeltFetched 
);

Parameters

  • celt
    [no] Número de elementos a serem retornados.
  • rgVar
    [out] Matriz no mínimo tamanho celt no qual os elementos são a ser retornado.
  • pCeltFetched
    [out] Ponteiro para o número de elementos retornados em rgVar, ou NULL.

Return Value

Se o número de elementos retornada celt, o valor de retorno é S_OK.

Se o número de elementos retornada for menor que celt, o valor de retorno é S_FALSE.

Remarks

Se menos do que o número solicitado de elementos permanecerão na seqüência, Próxima retorna apenas os elementos restantes. O real número de elementos retornados é passado por *pCeltFetched, a menos que seja NULL.

Example

O seguinte implementa codificar Próxima Para coleções no arquivo de exemplo linhas Enumvar.cpp.

STDMETHODIMP
CEnumVariant::Next(ULONG cElements, VARIANT FAR* pvar, ULONG FAR* pcElementFetched)
{
HRESULT hr;
ULONG l;
long l1;
ULONG l2;
if (pcElementFetched != NULL)
*pcElementFetched = 0;
for (l=0; l<cElements; l++)
VariantInit(&pvar[l]);
// Retrieve the next cElements elements.
for (l1=m_lCurrent, l2=0; l1<(long)(m_lLBound+m_cElements) && 
l2<cElements; l1++, l2++)
{
hr = SafeArrayGetElement(m_psa, &l1, &pvar[l2]); 
if (FAILED(hr))
goto error; 
}
// Set count of elements retrieved.
if (pcElementFetched != NULL)
*pcElementFetched = l2;
m_lCurrent = l1;
return  (l2 < cElements) ? ResultFromScode(S_FALSE) : NOERROR;
error:
for (l=0; l<cElements; l++)
VariantClear(&pvar[l]);
return hr;
}

Requirements

Header oaidl.h, oaidl.idl
Library oleaut32.lib, uuid.lib
Windows Embedded CE Windows CE 2.0 and later
Windows Mobile Windows Mobile Version 5.0 and later

See Also

Reference

IEnumVARIANT