Implementing the IEnumVARIANT Interface
Automation defines the IEnumVARIANT interface to provide a standard way for ActiveX clients to iterate over collection objects. Every collection object must expose a read-only property named _NewEnum to let ActiveX clients know that the object supports iteration. The _NewEnum property returns an enumerator object that supports IEnumVARIANT.
The IEnumVARIANT interface provides a way to iterate through the items contained by a collection object. This interface is supported by an enumerator object that is returned by the _NewEnum property of the collection object, as in the following figure.
The IEnumVARIANT interface defines these member functions:
Next — Retrieves one or more elements in a collection, starting with the current element.
Skip — Skips over one or more elements in a collection.
Reset — Resets the current element to the first element in the collection.
Clone — Copies the current state of the enumeration so you can return to the current element after using Skip or Reset.