IEnumIDList

The IEnumIDList interface enumerates item identifiers associated with shell folder objects. First, use IShellFolder::EnumObjects to create an item enumeration object and then use IEnumIDList to iterate through the item IDs in the enumeration object.

IEnumIDList has the same methods as all enumerator interfaces: Next, Skip, Reset, and Clone. Next iterates through the item IDs one or more at a time, Skip passes over the next item ID in the list, Reset returns to the beginning of the item ID list, and Clone returns a duplicate item enumeration object.

When to Implement

You can implement this interface when you want a caller to be able to enumerate the item IDs contained in a folder object. You get a pointer to IEnumIDList through IShellFolder::EnumObjects.

When to Use

You don't use this interface directly. IShellFolder::EnumObjects creates an enumeration object of this kind. In this case, the enumeration is a set of item identifiers. The shell calls then IEnumIDList methods to enumerate the items contained in a enumeration object.

Methods in Vtable Order

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

IEnumIDList Methods Description
Next Retrieves the specified number of item identifiers.
Skip Skip over the specified number of items.
Reset Return to the beginning of the enumeration.
Clone Creates a new item enumeration object identical to the current one.