IEnumXXXX
COM objects generally provide access to sequences using an IEnumXXXX style interface, this class wraps that with an STL style iterator
The problem Many COM interfaces provide the ability to step through, or enumerate, a collection of some kind. The usual way for a COM interface to expose this kind of functionality is via an interface which conforms to the IEnumXXXX standard.
IEnum interfaces provide the following methods: Next(), Skip(), Reset() and Clone().