Information
The topic you requested is included in another documentation set. For convenience, it's displayed below. Choose Switch to see the topic in its original location.

IIterator<T>::MoveNext method

Advances the enumerator to the next item in the collection.

Syntax


HRESULT MoveNext(
  [out, retval] boolean *hasCurrent
);

Parameters

hasCurrent [out, retval]

Type: boolean*

TRUE if the iterator refers to a valid item that is in the collection; otherwise, FALSE if the iterator is at the end of the collection.

Return value

Type: HRESULT

This method can return one of these values.

Return codeDescription
S_OK

The current item was retrieved successfully.

E_CHANGED_STATE

The iterator has been invalidated.

E_BOUNDS

The iterator refers to an item that is not valid or is at the end of the collection.

 

Examples

The following code example demonstrates how to use the MoveNext method.


comptr<Folder> spFolder;
hr = GetKnownFolder(FOLDERID_MusicFolder, &spFolder);
//...
comptr<IVectorView<IShellItem2>> spItems;
hr = pFolder->GetItems(&spItems);
//...
comptr<IIterator<IShellItem2>> spIter;
hr = spItems->First(&spIter);
//...
bool hasCurrent;
for (hr = spIter->get_HasCurrent(&hasCurrent); 
     SUCCEEDED(hr) && hasCurrent; 
     hr = spIter->MoveNext(&hasCurrent))
{
    comptr<IShellItem2> spAnItem;
    hr = spIter->get_Current(&spAnItem)
    //...
}


Requirements

Minimum supported client

Windows 8

Minimum supported server

Windows Server 2012

Header

Windows.Foundation.Collections.h

See also

IIterator<T>
IIterable

 

 

Show: