IEnum

To allow you to count the number of items of a given type an object maintains, OLE provides a set of enumeration interfaces, one for each type of item.

To use these interfaces, the client asks an object that maintains a collection of items to create an enumerator object. The interface on the enumeration object is one of the enumeration interfaces, all of which have a name of the form IEnumItem_name. Enumeration interfaces are specific to the type of item. All have the same set of methods, and are used in the same way. For example, by repeatedly calling the Next method, the client gets successive pointers to each item in the collection.

The following table lists the set of enumeration interfaces that OLE defines, and the items enumerated.

Enumeration Interface Name
Item Enumerated
IEnumFORMATETC
An array of FORMATETC structures
IEnumMoniker
The components of a moniker, or the monikers in a table.
IEnumOLEVERB
The different verbs available for an object, in order of ascending verb number.
IEnumSTATDATA
An array of STATDATA structures which contain advisory connection information for a data object.
IEnumSTATSTG
An array of STATSTG structures,which contain statistical information about a storage, stream, or LockBytes object
IEnumString
Strings
IEnumUnknown
Enumerates IUnknown interface pointers
IEnumVARIANT
A collection of variants. It allows clients to enumerate heterogeneous collections of objects and intrinsic types when the clients cannot or do not know the specific type(s) of elements in the collection

Methods in Vtable Order

IUnknown Methods
Description
QueryInterface
Returns pointers to supported interfaces.
AddRef
Increments reference count.
Release
Decrements reference count.

IEnumXXXX Methods
Description
Next
Retrieves a specified number of items in the enumeration sequence.
Skip
Skips over a specified number of items in the enumeration sequence.
Reset
Resets the enumeration sequence to the beginning.
Clone
Creates another enumerator that contains the same enumeration state as the current one.

Software for developers
Delphi Components
.Net Components
Software for Android Developers
More information resources
MegaDetailed.Net
Unix Manual Pages
Delphi Examples
Databases for Amazon shops developers
Amazon Categories Database
Browse Nodes Database