Traversing the set of properties associated with a name entry is similar to iteration over names in the Registry, described in Name Iteration and Searching.
Only one form of property iteration is provided--iteration over the set of properties associated with a single name entry.
A property iteration loop has this general form:
Create(...)
do {
Iterate(...);
} while (!done);
Dispose(...);
Property iteration functions communicate by means of an iterator parameter that is a RegPropertyIter data structure:
typedef struct RegPropertyIter { void *opaque; }
RegPropertyIter,
*RegPropertyIterPtr;