IEnumString is defined to enumerate strings. LPWSTR is the type that indicates a pointer to a zero-terminated string of wide, i.e., Unicode, characters. IEnumString has the same methods as all enumerator interfaces: Next, Skip, Reset, and Clone. For general information on these methods, refer to IEnumXXXX.
It is usually not necessary to implement this interface unless you have use for a custom string enumerator. A system implementation in the bind context object on which is the IBindCtx interface also contains an implementation of IEnumString. IBindCtx::EnumObjectParam returns a pointer to this IEnumString interface on an enumerator that can return the keys of the bind context’s string-keyed table of pointers.
Call the methods of IEnumString to enumerate through a set of strings.
The prototypes of the member functions are as follows:
HRESULT Next(ULONG celt, LPOLESTR * rgelt, ULONG * pceltFetched)
HRESULT Skip(ULONG celt)
HRESULT Reset(void)
HRESULT Clone(IEnumString ** ppenum)