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.