Перечислители предоставляют единообразный способ итерации по коллекции объектов. Например можно определить простой перечислитель для доступа к строк в коллекции. Сложный перечислителя можно получить доступ к записи из базы данных.
Эта статья описывает:
ATL не определяет какие-либо стандартные объекты для перечислителей. Однако он предоставляет вам с инфраструктурой для строительства их легко с помощью шаблонов CComEnum и _Copy.
COM implements enumerators as separate objects that usually support a single interface, IEnumxxxx, where xxxx is the type that is being enumerated. Standard enumerator types defined by COM include: IEnumUnknown, IEnumMoniker, IEnumString, IEnumVARIANT, IEnumFORMATETC, IEnumSTATSTG, IEnumSTATDATA, and IEnumOLEVERB.