IEnumMoniker  FEYM34

The IEnumMoniker interface is used to enumerate the components of a moniker or to enumerate the monikers in a table of monikers. IEnumMoniker has the same methods as all enumerator interfaces: Next, Skip, Reset, and Clone. For general information on these methods, refer to IEnumXXXX1_733H2.

When to Implement

You need to implement IEnumMoniker if you are writing a new type of moniker and your monikers have an internal structure that can be enumerated. Your implementation of IMoniker::Enum18FKHOZ must return an enumerator that implements IEnumMoniker and can enumerate your moniker s components. If your moniker has no structure that can be enumerated, your IMoniker::Enum method can simply return a NULL pointer.

When to Use

Call the methods of the IEnumMoniker interface if you need to enumerate the components of a composite moniker, or to enumerate the monikers in a table.

OLE defines two interfaces that supply an IEnumMoniker interface pointer:

    The IMoniker::Enum18FKHOZ method gets a pointer to an IEnumMoniker implementation that can enumerate forwards or backwards through the components of the moniker. For a description of how two of the system-supplied types of monikers enumerate their components, see IMoniker - File Moniker ImplementationZNKJTL and IMoniker - Generic Composite Moniker ImplementationJN3WA3.

    The IRunningObjectTable::EnumRunning2JF.J8E method returns a pointer to an IEnumMoniker implementation that can enumerate the monikers registered in a Running Object Table.

 

The prototypes of the methods are as follows:

HRESULT Next(ULONG celt, IMoniker18XK102 * rgelt, ULONG * pceltFetched)

HRESULT Skip(ULONG celt)

HRESULT Reset(void)

HRESULT Clone(IEnumMoniker ** ppenum)

See Also

IEnum, IMoniker::Enum, IRunningObjectTable::EnumRunning