Share via


IMoniker::Enum

This method enumerates component monikers.

HRESULT Enum( 
  BOOL fForward, 
  IEnumMoniker** ppenumMoniker
);

Parameters

  • fForward
    [in] Boolean value that is set to TRUE to enumerate the monikers from left to right, or to FALSE to enumerate from right to left.
  • ppenumMoniker
    [out] Address of IEnumMoniker* pointer variable that receives the interface pointer to the enumerator object for the moniker. When successful, the implementation must call the IUnknown::AddRef method on the enumerator object. It is the caller's responsibility to call the IUnknown::Release method. If an error occurs or if the moniker has no enumerable components, the implementation sets *ppenumMoniker to NULL.

Return Values

The method supports the standard return values E_OUTOFMEMORY and E_UNEXPECTED, as well as S_OK, which indicates success. S_OK is returned even if the moniker does not provide an enumerator (if ppenumMoniker equals NULL).

Remarks

IMoniker::Enum must supply an IEnumMoniker pointer to an enumerator that can enumerate the components of a moniker. For example, the implementation of the IMoniker::Enum method for a generic composite moniker creates an enumerator that can determine the individual monikers that make up the composite, while the IMoniker::Enum method for a file moniker creates an enumerator that returns monikers representing each of the components in the path.

To determine whether the platform supports this interface, see Determining Supported COM APIs.

Notes to Callers

Call this method to examine the components that make up a composite moniker.

Notes to Implementers

If the new moniker class has no discernible internal structure, your implementation of this method can simply return S_OK and set ppenumMoniker to NULL.

Requirements

OS Versions: Windows CE 2.0 and later.
Header: Objidl.h, Objidl.idl.
Link Library: Ole32.lib, Uuid.lib.

See Also

IUnknown::AddRef | IUnknown::Release | IEnumMoniker

Last updated on Wednesday, April 13, 2005

© 2005 Microsoft Corporation. All rights reserved.