HLID
The HLID enumeration constants identify the logical positions of a
hyperlink identifier in the hyperlink navigation stack. These constants are
used in the IHlinkBrowseContext interface.
typedef enum tagHLID
{
HLID_PREVIOUS,
HLID_NEXT,
HLID_CURRENT,
HLID_STACKBOTTOM,
HLID_STACKTOP
} HLID;
Elements
-
HLID_PREVIOUS
-
The hyperlink prior to the current one. If the current hyperlink is the first
or only hyperlink in the navigation stack, or if there are no hyperlinks in
the navigation stack, there is no previous hyperlink, and methods such as
IHlinkBrowseContext::GetHlink will
return NULL and E_FAIL when passed this value.
-
HLID_NEXT
-
The hyperlink after the current one. If the current hyperlink is the last or
only hyperlink in the navigation stack, or if there are no hyperlinks in the
navigation stack, there is no next hyperlink, and methods such as IHlinkBrowseContext::GetHlink
will return NULL and E_FAIL when passed this value.
-
HLID_CURRENT
-
The current hyperlink. A browsing tool might offer a command to reload the
current page, or to re-center the user interface around the beginning portion
of the current hyperlink destination, or to restart animation, sound, or other
activity by re-navigating to the current hyperlink.
-
HLID_STACKBOTTOM
-
The very first hyperlink in the navigation stack. If there are no hyperlinks
in the navigation stack, there is no stack-bottom hyperlink, and methods such
as IHlinkBrowseContext::GetHlink will return NULL and E_FAIL when
passed this value.
-
HLID_STACKTOP
-
The very last hyperlink in the navigation stack. If there are no hyperlinks in
the navigation stack, there is no stack-top hyperlink, and methods such as IHlinkBrowseContext::GetHlink
will return NULL and E_FAIL when passed this value.
Remarks
For convenience and performance, individual hyperlink objects are often
identified in a navigation stack like a browse context or a history/favorites
list using a ULONG hyperlink identifier or
HLID rather than an IHlink interface
pointer. This prevents unnecessary passing of interface pointers across
process boundaries in common user-interface scenarios, such as building a
drop-down menu or scrollable list of the history, or when testing the current
location in the navigation stack to enable Go Back and Go Forward.
See Also
HLQF,
IHlinkBrowseContext::GetHlink,
IHlinkBrowseContext::QueryHlink,
IHlinkBrowseContext::SetCurrentHlink