IID_IEnumAssociationElements {A6B0FB57-7523-4439-9425-EBE99823B828}

The IEnumAssociationElements methods are (as ordered in the virtual function table after the IUnknown methods):

Offset Method
0x0C Next
0x10 Skip
0x14 Reset
0x18 Clone

with prototypes:

HRESULT Next (ULONG, IAssociationElement *, ULONG *);
HRESULT Clone (IEnumAssociationElements **);

in which IAssociationElement is an undocumented interface.


The IEnumAssociationElements interface is implemented in SHELL32.DLL version 6.00 before Windows Vista.

Though this interface dates from 2001, it was still not documented by Microsoft as late as the January 2007 edition of the Windows Vista Software Development Kit (SDK).

This interface appears to have been discontinued as part of revising the IAssociationArray interface, specifically to remove the EnumElements method. The new way to enumerate an association array is less direct. Objects that implement IAssociationArray now also implement IObjectWithAssociationList. Its GetList method obtains an IAssociationList, whose EnumerateElements method obtains the IEnumerateAssociationElements interface which replaces IEnumAssociationElements.