Returns a pointer to an enumerator that can enumerate the components of the moniker.


BOOL fForward,
//Specifies direction of enumeration
IEnumMoniker **ppenumMoniker
//Receives the enumerator



[in] Specifies the enumeration order. TRUE enumerates the monikers from left to right; FALSE enumerates from right to left.


[out] Receives a pointer to an IEnumMoniker enumerator for this moniker. If an error occurs or if the moniker has no enumerable components, the implementation sets *ppenumMoniker to NULL. If *ppenumMoniker is non-NULL, the implementation must call IUnknown::AddRef on the parameter; it is the caller's responsibility to call IUnknown::Release.

Return Values


Indicates success. This value is returned even if the moniker does not provide an enumerator (that is, if *ppenumMoniker equals NULL).


Indicates insufficient memory.


Indicates an unexpected error.


As examples of enumeration, the IMoniker::Enum method for a generic composite moniker creates an enumerator that returns the individual monikers that make up the composite, and the IMoniker::Enum method for a file moniker creates an enumerator that returns monikers representing each of the components in the pathname.

Notes to Callers

You would call this method if you want to examine the individual components that make up a composite moniker.

Notes to Implementors

If your monikers have no discernible internal structure, your implementation of this method can simply return S_OK and set *ppenumMoniker to NULL.

See Also


Software for developers
Delphi Components
.Net Components
Software for Android Developers
More information resources
Unix Manual Pages
Delphi Examples
Databases for Amazon shops developers
Amazon Categories Database
Browse Nodes Database