The IEnumHLITEM interface is used to enumerate an array of HLITEM structures in a hyperlink browse context navigation stack. IEnumHLITEM has the same methods as all enumerator interfaces: Next, Skip, Reset, Clone. For general information on these methods, refer to IEnumXXXX.
IEnumHLITEM must be implemented by all hyperlink browse context objects to support calls to IHlinkBrowseContext::EnumNavigationStack, which supplies a pointer to the enumerator's IEnumHLITEM interface. Because there is a default implementation of IHlinkBrowseContext, you do not normally need to implement this interface.
You do not normally need to call this interface directly. The default implementation of IHlinkBrowseContext calls this interface to examine the HLITEM structures in the browse context's navigation stack to determine which hyperlink sources have been previously visited.
The prototypes of the methods are as follows:
HRESULT Next(
ULONG celt, // Number of HLITEM structures returned in rgelt
HLITEM * rgelt,
// Array to receive enumerated HLITEM structures
ULONG * pceltFetched
// Location for actual number of HLITEM structures
);
HRESULT Skip(
ULONG celt // Number of elements to skip
);
HRESULT Reset(void);
HRESULT Clone(
IEnumHLITEM * ppienumhlitem // Location for newly created
// enumerator list
);
The caller must release this new enumerator separately from the first enumerator.
Windows NT: Use version 5.0 or later.
Windows: Unsupported.
Windows CE: Unsupported.
Header: Declared in hlink.h.
HLITEM, IHlinkBrowseContext::EnumNavigationStack