Important:
This is retired content. This content is outdated and is no longer being maintained. It is provided as a courtesy for individuals who are still using these technologies. This content may contain URLs that were valid when originally published, but now link to sites or pages that no longer exist.
A version of this page is also available for
4/8/2010

This method attempts to get the next celtitems in the enumeration sequence, and return them through the array pointed to by rgVar.

Syntax

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

Parameters

celt

[in] Number of elements to be returned.

rgVar

[out] Array of at least size celtin which the elements are to be returned.

pCeltFetched

[out] Pointer to the number of elements returned in rgVar, or NULL.

Return Value

If the number of elements returned is celt, the return value is S_OK.

If the number of elements returned is less than celt, the return value is S_FALSE.

Remarks

If fewer than the requested number of elements remain in the sequence, Nextreturns only the remaining elements. The actual number of elements returned is passed through * pCeltFetched, unless it is NULL.

Example

The following code implements Nextfor collections in the Lines sample file Enumvar.cpp.

Copy Code
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