IMoniker::Enum  8JGX68

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

HRESULT Enum(

    BOOL fForward,

//Specifies direction of enumeration

    IEnumMoniker **ppenumMoniker

//Indirect pointer to the IEnumMoniker pointer

   );

 

 

Parameters

fForward

[in] If TRUE, enumerates the monikers from left to right. If FALSE, enumerates from right to left.

ppenumMoniker

[out] When successful, indirect pointer to an IEnumMoniker10F_XW_ enumerator on this moniker. In this case, the implementation must call IUnknown::AddRef1SHW0SS on the parameter. It is the caller s responsibility to call IUnknown::ReleaseDUW01A. 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 the following:

S_OK

Indicates success. This value 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.

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.

See Also

IEnum