En ATL, CComEnumlt;Base, piid, T, copia> define un objeto enumerador que enumera los objetos de tipo T. El parámetro Base es el nombre de la interfaz que representa este enumerador (por ejemplo, IEnumVARIANT) y piid es un puntero al IID de la interfaz. El parámetro copia es el nombre de una clase utilizada por CComEnum para implementar copiar el texto y se utiliza normalmente cuando el enumerador de clonación.
Una clase det> _Copylt; classrealiza semántica copia profunda para el tipo T. ATL predefine ciertas clases de copia para su comodidad: _Copy <VARIANT>, _Copy <LPOLESTR>, _Copy <OLEVERB>, _Copy <CONNECTDATA>y _CopyInterface < >. Pueden utilizarse para construir rápidamente a muchos de los enumeradores estándar .
CComIEnum es una clase virtual pura que define una interfaz de enumeración.
CComEnumImpl implementa los métodos de la interfaz de enumeración: próximo, Skip, restablecery Clone. Por lo general, esta clase es utilizada internamente por ATL durante la ejecución del CComIEnum.