# HlinkOnNavigate

Notifies a hyperlink browse context and hyperlink frame, if it exists, that a hyperlink target has been navigated to.

HRESULT HlinkOnNavigate(

IHlinkFrame * pihlframe, | //Frame object interface for the new hyperlink
IHlinkBrowseContext * pihlbc, | //Browse context object to use for this navigation
DWORD grfHLNF, | //Navigation flags
IMoniker * pimkTarget, | //Moniker interface pointer of the hyperlink target
LPCWSTR pwzLocation, | //Location within the hyperlink target of new hyperlink
LPCWSTR pwzFriendlyName, | //Friendly name of the hyperlink
ULONG * puHLID | // Pointer to hyperlink identifier
); |

Parameters

pihlframe
  [in] Pointer to the IHlinkFrame interface of the hyperlink container. May be NULL if the hyperlink container does not have a hyperlink frame.
pihlbc
  [in] Pointer to the IHlinkBrowseContext interface for the browse context object to use for this navigation. The browse context includes history information in which this navigation is logged, if !(grfHLNF & HLNF_CREATENOHISTORY).
grfHLNF
  [in] Value taken from the HLNF enumeration.
pimkTarget
  [in, unique] Pointer to an IMoniker interface on the hyperlink target.
pwzLocation
  [in] Pointer to the location within the hyperlink target of the new hyperlink object.
pwzFriendlyName
  [in] Pointer to the friendly name of the hyperlink.
puHLID
  [out] Pointer to the hyperlink identifier to set in the current browse context’s navigation stack.

Return Values

S_OK
  The browse context and the frame, if it exists, have been notified of the hyperlink navigation.

Remarks

HlinkOnNavigate is a helper function typically called during IHlinkTarget::Navigate which encapsulates the following calls:

    phlbc->OnNavigateHlink(grfHLNF, pimkTarget, pwzLocation, pwzFriendlyName);
    if (phlframe)
        phlframe->OnNavigate(grfHLNF);

See Also

IHlinkBrowseContext::OnNavigateHlink, IHlinkFrame::OnNavigate, IHlinkSite::OnNavigationComplete