HOWTO: Getting IHlinkFrame from Within a Hyperlink TargetID: Q174393
|
In an example in the Hyperlinking section of the documentation, the
Internet Client SDK indicates that an Active Document application can
retrieve the IHlinkFrame interface from its container by calling
QueryInterface on the container's IOleInPlaceFrame object and asking for
IID_IHlinkFrame.
For Internet Explorer (IE), this will fail. The correct way to retrieve
IHlinkFrame is through the IServiceProvider interface.
Here is sample code that demonstrates the correct method for retrieving Internet Explorer's IHlinkFrame interface:
IHlinkFramePtr pHLFrame;
IOleClientSitePtr pCS = m_lpClientSite;
IServiceProviderPtr pSP = pCS;
pSP->QueryService(SID_SHlinkFrame, IID_IHlinkFrame,
(void**)&pHLFrame);
In an MFC Active Document server, the IOleClientSite interface can be
retrieved from within the document class using the m_lpClientSite protected
member of COleServerDoc.
This sample uses Visual C++ 5.0 COM-support syntax. Please refer to the
Visual C++ 5.0 documentation for discussion on these smart pointers:
Visual C++ Books Online: Visual C++; Visual C++ Programmer's Guide; Adding
Program Functionality; Overviews; Compiler COM Support: Overview
Additional query words:
Keywords : kbIE300 kbIE400 kbIE401 kbIE500 AXSDKMisc
Version : WINDOWS:1.0,3.0,3.01,3.02,4.0,4.01
Platform : WINDOWS
Issue type : kbhowto
Last Reviewed: April 17, 1999