//------------------------------------------------------------------------------------------ // // Copyright (C) Microsoft Corporation, 1995-1997. // // Contents: Hyperlinking interfaces // //------------------------------------------------------------------------------------------ cpp_quote("//=--------------------------------------------------------------------------=") cpp_quote("// HLInk.h") cpp_quote("//=--------------------------------------------------------------------------=") cpp_quote("// (C) Copyright 1995-1997 Microsoft Corporation. All Rights Reserved.") cpp_quote("//") cpp_quote("// THIS CODE AND INFORMATION IS PROVIDED \"AS IS\" WITHOUT WARRANTY OF") cpp_quote("// ANY KIND, EITHER EXPRESSED OR IMPLIED, INCLUDING BUT NOT LIMITED TO") cpp_quote("// THE IMPLIED WARRANTIES OF MERCHANTABILITY AND/OR FITNESS FOR A") cpp_quote("// PARTICULAR PURPOSE.") cpp_quote("//=--------------------------------------------------------------------------=") cpp_quote("") cpp_quote("#pragma comment(lib,\"uuid.lib\")") cpp_quote("") cpp_quote("//--------------------------------------------------------------------------") cpp_quote("// OLE Hyperlinking Interfaces.") cpp_quote(" ") cpp_quote("#ifndef HLINK_H ") cpp_quote("#define HLINK_H ") cpp_quote(" ") import "urlmon.idl"; interface IHlinkSite; interface IHlink; interface IHlinkTarget; interface IHlinkFrame; interface IEnumHLITEM; interface IHlinkBrowseContext; cpp_quote("// ;BUGBUG We temporarily support the old 'source' names ") cpp_quote("#define SID_SHlinkFrame IID_IHlinkFrame") cpp_quote("#define IID_IHlinkSource IID_IHlinkTarget ") cpp_quote("#define IHlinkSource IHlinkTarget ") cpp_quote("#define IHlinkSourceVtbl IHlinkTargetVtbl ") cpp_quote("#define LPHLINKSOURCE LPHLINKTARGET ") cpp_quote(" ") cpp_quote("/****************************************************************************/") cpp_quote("/**** Error codes ****/") cpp_quote("/****************************************************************************/") cpp_quote("#ifndef _HLINK_ERRORS_DEFINED ") cpp_quote("#define _HLINK_ERRORS_DEFINED ") cpp_quote("#define HLINK_E_FIRST (OLE_E_LAST+1) ") cpp_quote("#define HLINK_S_FIRST (OLE_S_LAST+1) ") cpp_quote("#define HLINK_S_DONTHIDE (HLINK_S_FIRST) ") cpp_quote("#endif //_HLINK_ERRORS_DEFINED ") cpp_quote(" ") cpp_quote(" ") cpp_quote("/****************************************************************************/") cpp_quote("/**** Hyperlink APIs ****/") cpp_quote("/****************************************************************************/") cpp_quote(" ") // Hyperlink Clipboard Format: On MAC it is 'HLNK', and on windows it is the // the value returned from RegisterClipboardFormat(CFSTR_HYPERLINK). cpp_quote("#if MAC || defined(_MAC) ") cpp_quote("#define cfHyperlink 'HLNK' ") cpp_quote("#else ") cpp_quote("#define CFSTR_HYPERLINK (TEXT(\"Hyperlink\")) ") cpp_quote("#endif ") cpp_quote(" ") cpp_quote(" ") cpp_quote("STDAPI HlinkCreateFromMoniker( ") cpp_quote(" IMoniker * pimkTrgt, ") cpp_quote(" LPCWSTR pwzLocation, ") cpp_quote(" LPCWSTR pwzFriendlyName, ") cpp_quote(" IHlinkSite * pihlsite, ") cpp_quote(" DWORD dwSiteData, ") cpp_quote(" IUnknown * piunkOuter, ") cpp_quote(" REFIID riid, ") cpp_quote(" void ** ppvObj); ") cpp_quote(" ") cpp_quote("STDAPI HlinkCreateFromString( ") cpp_quote(" LPCWSTR pwzTarget, ") cpp_quote(" LPCWSTR pwzLocation, ") cpp_quote(" LPCWSTR pwzFriendlyName, ") cpp_quote(" IHlinkSite * pihlsite, ") cpp_quote(" DWORD dwSiteData, ") cpp_quote(" IUnknown * piunkOuter, ") cpp_quote(" REFIID riid, ") cpp_quote(" void ** ppvObj); ") cpp_quote(" ") cpp_quote("STDAPI HlinkCreateFromData( ") cpp_quote(" IDataObject *piDataObj, ") cpp_quote(" IHlinkSite * pihlsite, ") cpp_quote(" DWORD dwSiteData, ") cpp_quote(" IUnknown * piunkOuter, ") cpp_quote(" REFIID riid, ") cpp_quote(" void ** ppvObj); ") cpp_quote(" ") // Returns S_OK if a hyperlink can be created from piDataObj, S_FALSE if not. cpp_quote("STDAPI HlinkQueryCreateFromData(IDataObject *piDataObj); ") cpp_quote(" ") cpp_quote("STDAPI HlinkClone( ") cpp_quote(" IHlink * pihl, ") cpp_quote(" REFIID riid, ") cpp_quote(" IHlinkSite * pihlsiteForClone, ") cpp_quote(" DWORD dwSiteData, ") cpp_quote(" void ** ppvObj); ") cpp_quote(" ") cpp_quote("STDAPI HlinkCreateBrowseContext( ") cpp_quote(" IUnknown * piunkOuter, ") cpp_quote(" REFIID riid, ") cpp_quote(" void ** ppvObj); ") cpp_quote(" ") cpp_quote("STDAPI HlinkNavigateToStringReference( ") cpp_quote(" LPCWSTR pwzTarget, ") cpp_quote(" LPCWSTR pwzLocation, ") cpp_quote(" IHlinkSite * pihlsite, ") cpp_quote(" DWORD dwSiteData, ") cpp_quote(" IHlinkFrame *pihlframe, ") cpp_quote(" DWORD grfHLNF, ") cpp_quote(" LPBC pibc, ") cpp_quote(" IBindStatusCallback * pibsc, ") cpp_quote(" IHlinkBrowseContext *pihlbc); ") cpp_quote(" ") cpp_quote("STDAPI HlinkNavigate( ") cpp_quote(" IHlink * pihl, ") cpp_quote(" IHlinkFrame * pihlframe, ") cpp_quote(" DWORD grfHLNF, ") cpp_quote(" LPBC pbc, ") cpp_quote(" IBindStatusCallback * pibsc, ") cpp_quote(" IHlinkBrowseContext *pihlbc); ") cpp_quote(" ") cpp_quote("STDAPI HlinkOnNavigate( ") cpp_quote(" IHlinkFrame * pihlframe, ") cpp_quote(" IHlinkBrowseContext * pihlbc, ") cpp_quote(" DWORD grfHLNF, ") cpp_quote(" IMoniker * pimkTarget, ") cpp_quote(" LPCWSTR pwzLocation, ") cpp_quote(" LPCWSTR pwzFriendlyName, ") cpp_quote(" ULONG * puHLID); ") cpp_quote(" ") cpp_quote("STDAPI HlinkUpdateStackItem( ") cpp_quote(" IHlinkFrame * pihlframe, ") cpp_quote(" IHlinkBrowseContext * pihlbc, ") cpp_quote(" ULONG uHLID, ") cpp_quote(" IMoniker * pimkTrgt, ") cpp_quote(" LPCWSTR pwzLocation, ") cpp_quote(" LPCWSTR pwzFriendlyName); ") cpp_quote(" ") cpp_quote("STDAPI HlinkOnRenameDocument( ") cpp_quote(" DWORD dwReserved, ") cpp_quote(" IHlinkBrowseContext * pihlbc, ") cpp_quote(" IMoniker * pimkOld, ") cpp_quote(" IMoniker * pimkNew); ") cpp_quote(" ") cpp_quote("STDAPI HlinkResolveMonikerForData( ") cpp_quote(" LPMONIKER pimkReference, ") cpp_quote(" DWORD reserved, ") cpp_quote(" LPBC pibc, ") cpp_quote(" ULONG cFmtetc, ") cpp_quote(" FORMATETC * rgFmtetc, ") cpp_quote(" IBindStatusCallback * pibsc, ") cpp_quote(" LPMONIKER pimkBase); ") cpp_quote(" ") cpp_quote("STDAPI HlinkResolveStringForData( ") cpp_quote(" LPCWSTR pwzReference, ") cpp_quote(" DWORD reserved, ") cpp_quote(" LPBC pibc, ") cpp_quote(" ULONG cFmtetc, ") cpp_quote(" FORMATETC * rgFmtetc, ") cpp_quote(" IBindStatusCallback * pibsc, ") cpp_quote(" LPMONIKER pimkBase); ") cpp_quote(" ") cpp_quote("STDAPI HlinkParseDisplayName( ") cpp_quote(" LPBC pibc, ") cpp_quote(" LPCWSTR pwzDisplayName, ") cpp_quote(" BOOL fNoForceAbs, ") cpp_quote(" ULONG * pcchEaten, ") cpp_quote(" IMoniker ** ppimk); ") cpp_quote(" ") cpp_quote("STDAPI HlinkCreateExtensionServices( ") cpp_quote(" LPCWSTR pwzAdditionalHeaders, ") cpp_quote(" HWND phwnd, ") cpp_quote(" LPCWSTR pszUsername, ") cpp_quote(" LPCWSTR pszPassword, ") cpp_quote(" IUnknown * piunkOuter, ") cpp_quote(" REFIID riid, ") cpp_quote(" void ** ppvObj); ") cpp_quote(" ") cpp_quote("STDAPI HlinkPreprocessMoniker( ") cpp_quote(" LPBC pibc, ") cpp_quote(" IMoniker *pimkIn, ") cpp_quote(" IMoniker **ppimkOut); ") cpp_quote(" ") cpp_quote("STDAPI OleSaveToStreamEx( ") cpp_quote(" IUnknown * piunk, ") cpp_quote(" IStream * pistm, ") cpp_quote(" BOOL fClearDirty); ") cpp_quote(" ") // hlink special reference ids used in HlinkSetSpecialReference and HlinkGetSpecialReference typedef enum _HLSR_NOREDEF10 { HLSR_HOME = 0, HLSR_SEARCHPAGE = 1, HLSR_HISTORYFOLDER = 2, } HLSR; cpp_quote(" ") cpp_quote("STDAPI HlinkSetSpecialReference( ") cpp_quote(" ULONG uReference, ") cpp_quote(" LPCWSTR pwzReference); ") cpp_quote(" ") cpp_quote("STDAPI HlinkGetSpecialReference( ") cpp_quote(" ULONG uReference, ") cpp_quote(" LPWSTR *ppwzReference); ") cpp_quote(" ") typedef enum _HLSHORTCUTF__NOREDEF10 { HLSHORTCUTF_DEFAULT = 0x00000000, HLSHORTCUTF_DONTACTUALLYCREATE = 0x00000001, HLSHORTCUTF_USEFILENAMEFROMFRIENDLYNAME = 0x00000002, HLSHORTCUTF_USEUNIQUEFILENAME = 0x00000004, HLSHORTCUTF_MAYUSEEXISTINGSHORTCUT = 0x00000008, } HLSHORTCUTF; cpp_quote(" ") cpp_quote("STDAPI HlinkCreateShortcut( ") cpp_quote(" DWORD grfHLSHORTCUTF, ") cpp_quote(" IHlink *pihl, ") cpp_quote(" LPCWSTR pwzDir, ") cpp_quote(" LPCWSTR pwzFileName, ") cpp_quote(" LPWSTR *ppwzShortcutFile, ") cpp_quote(" DWORD dwReserved); ") cpp_quote(" ") cpp_quote("STDAPI HlinkCreateShortcutFromMoniker( ") cpp_quote(" DWORD grfHLSHORTCUTF, ") cpp_quote(" IMoniker *pimkTarget, ") cpp_quote(" LPCWSTR pwzLocation, ") cpp_quote(" LPCWSTR pwzDir, ") cpp_quote(" LPCWSTR pwzFileName, ") cpp_quote(" LPWSTR *ppwzShortcutFile, ") cpp_quote(" DWORD dwReserved); ") cpp_quote(" ") cpp_quote("STDAPI HlinkCreateShortcutFromString( ") cpp_quote(" DWORD grfHLSHORTCUTF, ") cpp_quote(" LPCWSTR pwzTarget, ") cpp_quote(" LPCWSTR pwzLocation, ") cpp_quote(" LPCWSTR pwzDir, ") cpp_quote(" LPCWSTR pwzFileName, ") cpp_quote(" LPWSTR *ppwzShortcutFile, ") cpp_quote(" DWORD dwReserved); ") cpp_quote(" ") cpp_quote("STDAPI HlinkResolveShortcut( ") cpp_quote(" LPCWSTR pwzShortcutFileName, ") cpp_quote(" IHlinkSite * pihlsite, ") cpp_quote(" DWORD dwSiteData, ") cpp_quote(" IUnknown * piunkOuter, ") cpp_quote(" REFIID riid, ") cpp_quote(" void ** ppvObj); ") cpp_quote(" ") cpp_quote("STDAPI HlinkResolveShortcutToMoniker( ") cpp_quote(" LPCWSTR pwzShortcutFileName, ") cpp_quote(" IMoniker **ppimkTarget, ") cpp_quote(" LPWSTR *ppwzLocation); ") cpp_quote(" ") cpp_quote("STDAPI HlinkResolveShortcutToString( ") cpp_quote(" LPCWSTR pwzShortcutFileName, ") cpp_quote(" LPWSTR *ppwzTarget, ") cpp_quote(" LPWSTR *ppwzLocation); ") cpp_quote(" ") // Returns S_OK if pwzFileName is a hlink shortcut file. // Currently, this succeeds for Internet Shortcut (.url) files. cpp_quote(" ") cpp_quote(" STDAPI HlinkIsShortcut(LPCWSTR pwzFileName); ") cpp_quote(" ") // Find pwzName within pwzParams and return the associated value. // The syntax of pwzParams is < ID1 = "value1" > < ID2 = "value2" > with // all whitespace outside the quoted strings being ignored. // If the pwzName is found, allocate and fill in *ppwzValue with the // associated value and return S_OK. // If pwzName is not found, return S_FALSE. cpp_quote(" ") cpp_quote("STDAPI HlinkGetValueFromParams( ") cpp_quote(" LPCWSTR pwzParams, ") cpp_quote(" LPCWSTR pwzName, ") cpp_quote(" LPWSTR *ppwzValue); ") cpp_quote(" ") cpp_quote(" ") typedef enum _HLTRANSLATEF_NOREDEF10 { HLTRANSLATEF_DEFAULT = 0x00000000, HLTRANSLATEF_DONTAPPLYDEFAULTPREFIX = 0x00000001 } HLTRANSLATEF; cpp_quote(" ") cpp_quote("STDAPI HlinkTranslateURL( ") cpp_quote(" LPCWSTR pwzURL, ") cpp_quote(" DWORD grfFlags, ") cpp_quote(" LPWSTR *ppwzTranslatedURL); ") cpp_quote(" ") cpp_quote(" ") cpp_quote(" ") cpp_quote("/****************************************************************************/") cpp_quote("/**** Hyperlink interface definitions ****/") cpp_quote("/****************************************************************************/") cpp_quote(" ") /****************************************************************************/ /* THIS MUST BE THE FIRST INTERFACE DEFINITION IN THIS IDL. DO NOT MOVE IT */ /****************************************************************************/ //---------------------------------------------------------------------------- // // Copyright (C) Microsoft Corporation, 1995 - 1997. // // Contents: IHlink interface definition // //---------------------------------------------------------------------------- cpp_quote("#ifndef _LPHLINK_DEFINED") cpp_quote("#define _LPHLINK_DEFINED") [ object, uuid(79eac9c3-baf9-11ce-8c82-00aa004ba90b), pointer_default(unique) ] interface IHlink: IUnknown { typedef [unique] IHlink *LPHLINK; // Navigation flags typedef enum { HLNF_INTERNALJUMP = 0x00000001, HLNF_OPENINNEWWINDOW = 0x00000002, HLNF_NAVIGATINGBACK = 0x00000004, HLNF_NAVIGATINGFORWARD = 0x00000008, HLNF_NAVIGATINGTOSTACKITEM = 0x00000010, HLNF_CREATENOHISTORY = 0x00000020, } HLNF; // GetXXXReference values indicating reference to be retrieved typedef enum { HLINKGETREF_DEFAULT = 0, HLINKGETREF_ABSOLUTE = 1, HLINKGETREF_RELATIVE = 2, } HLINKGETREF; // GetFriendlyName flags typedef enum { HLFNAMEF_DEFAULT = 0x00000000, HLFNAMEF_TRYCACHE = 0x00000001, HLFNAMEF_TRYPRETTYTARGET = 0x00000002, HLFNAMEF_TRYFULLTARGET = 0x00000004, HLFNAMEF_TRYWIN95SHORTCUT = 0x00000008, } HLFNAMEF; // Status flags typedef enum { HLINKMISC_RELATIVE = 0x00000001, } HLINKMISC; // SetXXXReference flags, indicating which part of the reference // need to be updated typedef enum { HLINKSETF_TARGET = 0x00000001, HLINKSETF_LOCATION = 0x00000002, } HLINKSETF; HRESULT SetHlinkSite( [in, unique] IHlinkSite * pihlSite, [in] DWORD dwSiteData); HRESULT GetHlinkSite( [out] IHlinkSite ** ppihlSite, [out] DWORD * pdwSiteData); HRESULT SetMonikerReference( [in] DWORD grfHLSETF, [in, unique] IMoniker * pimkTarget, [in, unique] LPCWSTR pwzLocation); HRESULT GetMonikerReference( [in] DWORD dwWhichRef, [out] IMoniker ** ppimkTarget, [out] LPWSTR * ppwzLocation); HRESULT SetStringReference( [in] DWORD grfHLSETF, [in, unique] LPCWSTR pwzTarget, [in, unique] LPCWSTR pwzLocation); HRESULT GetStringReference( [in] DWORD dwWhichRef, [out] LPWSTR * ppwzTarget, [out] LPWSTR * ppwzLocation); HRESULT SetFriendlyName( [in, unique] LPCWSTR pwzFriendlyName); HRESULT GetFriendlyName( [in] DWORD grfHLFNAMEF, [out] LPWSTR * ppwzFriendlyName); HRESULT SetTargetFrameName( [in, unique] LPCWSTR pwzTargetFrameName); HRESULT GetTargetFrameName( [out] LPWSTR *ppwzTargetFrameName); HRESULT GetMiscStatus( [out] DWORD *pdwStatus); HRESULT Navigate( [in] DWORD grfHLNF, [in, unique] LPBC pibc, [in, unique] IBindStatusCallback * pibsc, [in, unique] IHlinkBrowseContext * pihlbc); HRESULT SetAdditionalParams( [in, unique] LPCWSTR pwzAdditionalParams); HRESULT GetAdditionalParams( [out] LPWSTR *ppwzAdditionalParams); } cpp_quote("#endif") //+--------------------------------------------------------------------------- // // Copyright (C) Microsoft Corporation, 1995 - 1997. // // Contents: IHlinkSite interface definition // //---------------------------------------------------------------------------- cpp_quote("#ifndef _LPHLINKSITE_DEFINED") cpp_quote("#define _LPHLINKSITE_DEFINED") cpp_quote("EXTERN_C const GUID SID_SContainer;") [ object, uuid(79eac9c2-baf9-11ce-8c82-00aa004ba90b), pointer_default(unique) ] interface IHlinkSite: IUnknown { typedef [unique] IHlinkSite *LPHLINKSITE; // values indicating the moniker to be retrieved typedef enum { HLINKWHICHMK_CONTAINER = 1, HLINKWHICHMK_BASE = 2, } HLINKWHICHMK; HRESULT QueryService( [in] DWORD dwSiteData, #ifdef _MAC [in] GUID * guidService, #else [in] REFGUID guidService, #endif // _MAC [in] REFIID riid, [out, iid_is(riid)] IUnknown ** ppiunk); HRESULT GetMoniker( [in] DWORD dwSiteData, [in] DWORD dwAssign, [in] DWORD dwWhich, [out] IMoniker ** ppimk); HRESULT ReadyToNavigate( [in] DWORD dwSiteData, [in] DWORD dwReserved); HRESULT OnNavigationComplete( [in] DWORD dwSiteData, [in] DWORD dwreserved, [in] HRESULT hrError, [in, unique] LPCWSTR pwzError); } cpp_quote("#endif") //+--------------------------------------------------------------------------- // // Copyright (C) Microsoft Corporation, 1995 - 1997. // // Contents: IHlinkTarget interface definition // //---------------------------------------------------------------------------- cpp_quote("#ifndef _LPHLINKTARGET_DEFINED") cpp_quote("#define _LPHLINKTARGET_DEFINED") [ object, uuid(79eac9c4-baf9-11ce-8c82-00aa004ba90b), pointer_default(unique) ] interface IHlinkTarget : IUnknown { typedef [unique] IHlinkTarget *LPHLINKTARGET; HRESULT SetBrowseContext( [in, unique] IHlinkBrowseContext * pihlbc); HRESULT GetBrowseContext( [out] IHlinkBrowseContext ** ppihlbc); HRESULT Navigate( [in] DWORD grfHLNF, [in, unique] LPCWSTR pwzJumpLocation); HRESULT GetMoniker( [in,unique] LPCWSTR pwzLocation, [in] DWORD dwAssign, [out] IMoniker ** ppimkLocation); HRESULT GetFriendlyName( [in,unique] LPCWSTR pwzLocation, [out] LPWSTR * ppwzFriendlyName); } cpp_quote("#endif") //+--------------------------------------------------------------------------- // // Copyright (C) Microsoft Corporation, 1995 - 1997. // // Contents: IHlinkFrame interface definition // //---------------------------------------------------------------------------- cpp_quote("#ifndef _LPHLINKFRAME_DEFINED") cpp_quote("#define _LPHLINKFRAME_DEFINED") cpp_quote("EXTERN_C const GUID SID_SHlinkFrame;") [ object, uuid(79eac9c5-baf9-11ce-8c82-00aa004ba90b), pointer_default(unique) ] interface IHlinkFrame : IUnknown { typedef [unique] IHlinkFrame *LPHLINKFRAME; HRESULT SetBrowseContext( [in, unique] IHlinkBrowseContext * pihlbc); HRESULT GetBrowseContext( [out] IHlinkBrowseContext ** ppihlbc); HRESULT Navigate( [in] DWORD grfHLNF, [in, unique] LPBC pbc, [in, unique] IBindStatusCallback * pibsc, [in, unique] IHlink * pihlNavigate); HRESULT OnNavigate( [in] DWORD grfHLNF, [in, unique] IMoniker * pimkTarget, [in, unique] LPCWSTR pwzLocation, [in, unique] LPCWSTR pwzFriendlyName, [in] DWORD dwreserved); HRESULT UpdateHlink( [in] ULONG uHLID, [in, unique] IMoniker * pimkTarget, [in, unique] LPCWSTR pwzLocation, [in, unique] LPCWSTR pwzFriendlyName); } cpp_quote("#endif") //+--------------------------------------------------------------------------- // // Copyright (C) Microsoft Corporation, 1995 - 1997. // // Contents: IEnumHLITEM interface definition // //---------------------------------------------------------------------------- cpp_quote("#ifndef _LPENUMHLITEM_DEFINED") cpp_quote("#define _LPENUMHLITEM_DEFINED") [ local, object, uuid(79eac9c6-baf9-11ce-8c82-00aa004ba90b), pointer_default(unique) ] interface IEnumHLITEM : IUnknown { typedef [unique] IEnumHLITEM *LPENUMHLITEM; typedef struct tagHLITEM { ULONG uHLID; LPWSTR pwzFriendlyName; } HLITEM; typedef [unique] HLITEM *LPHLITEM; //[local] HRESULT __stdcall Next( [in] ULONG celt, [out] HLITEM * rgelt, [out] ULONG * pceltFetched); #ifdef NOTUSED [call_as(Next)] HRESULT __stdcall RemoteNext( [in] ULONG celt, [out, size_is(celt), length_is(*pceltFetched)] HLITEM * rgelt, [out] ULONG *pceltFetched); #endif HRESULT Skip( [in] ULONG celt); HRESULT Reset(); HRESULT Clone( [out] IEnumHLITEM ** ppienumhlitem); } cpp_quote("#endif") //+--------------------------------------------------------------------------- // // Copyright (C) Microsoft Corporation, 1995 - 1997. // // Contents: IHlinkBrowseContext interface definition // //---------------------------------------------------------------------------- cpp_quote("#ifndef _LPHLINKBROWSECONTEXT_DEFINED") cpp_quote("#define _LPHLINKBROWSECONTEXT_DEFINED") [ local, object, uuid(79eac9c7-baf9-11ce-8c82-00aa004ba90b), pointer_default(unique) ] interface IHlinkBrowseContext : IUnknown { typedef [unique] IHlinkBrowseContext *LPHLINKBROWSECONTEXT; // Information about the toolbars enum { HLTB_DOCKEDLEFT = 0, HLTB_DOCKEDTOP = 1, HLTB_DOCKEDRIGHT = 2, HLTB_DOCKEDBOTTOM = 3, HLTB_FLOATING = 4, }; typedef struct _tagHLTBINFO { ULONG uDockType; RECT rcTbPos; } HLTBINFO; // information about the browse window enum { HLBWIF_HASFRAMEWNDINFO = 0x00000001, HLBWIF_HASDOCWNDINFO = 0x00000002, HLBWIF_FRAMEWNDMAXIMIZED = 0x00000004, HLBWIF_DOCWNDMAXIMIZED = 0x00000008, HLBWIF_HASWEBTOOLBARINFO = 0x00000010, HLBWIF_WEBTOOLBARHIDDEN = 0x00000020 }; typedef struct _tagHLBWINFO { ULONG cbSize; DWORD grfHLBWIF; RECT rcFramePos; RECT rcDocPos; HLTBINFO hltbinfo; } HLBWINFO; typedef [unique] HLBWINFO *LPHLBWINFO; enum { HLID_INVALID = 0x0, HLID_PREVIOUS = 0xFFFFFFFF, HLID_NEXT = 0xFFFFFFFE, HLID_CURRENT = 0xFFFFFFFD, HLID_STACKBOTTOM = 0xFFFFFFFC, HLID_STACKTOP = 0xFFFFFFFB, }; enum { HLQF_ISVALID = 0x00000001, HLQF_ISCURRENT = 0x00000002 }; HRESULT Register( [in] DWORD reserved, [in, unique] IUnknown * piunk, [in, unique] IMoniker * pimk, [out] DWORD * pdwRegister); HRESULT GetObject( [in, unique] IMoniker * pimk, [in] BOOL fBindIfRootRegistered, [out] IUnknown ** ppiunk); HRESULT Revoke( [in] DWORD dwRegister); HRESULT SetBrowseWindowInfo( [in, unique] HLBWINFO * phlbwi); HRESULT GetBrowseWindowInfo( [out] HLBWINFO * phlbwi); HRESULT SetInitialHlink( [in, unique] IMoniker * pimkTarget, [in, unique] LPCWSTR pwzLocation, [in, unique] LPCWSTR pwzFriendlyName); HRESULT OnNavigateHlink( [in] DWORD grfHLNF, [in, unique] IMoniker * pimkTarget, [in, unique] LPCWSTR pwzLocation, [in, unique] LPCWSTR pwzFriendlyName, [out] ULONG * puHLID); HRESULT UpdateHlink( [in] ULONG uHLID, [in, unique] IMoniker * pimkTarget, [in, unique] LPCWSTR pwzLocation, [in, unique] LPCWSTR pwzFriendlyName); HRESULT EnumNavigationStack( [in] DWORD dwReserved, [in] DWORD grfHLFNAMEF, [out] IEnumHLITEM ** ppienumhlitem); HRESULT QueryHlink( [in] DWORD grfHLQF, [in] ULONG uHLID); HRESULT GetHlink( [in] ULONG uHLID, [out] IHlink ** ppihl); HRESULT SetCurrentHlink( [in] ULONG uHLID); HRESULT Clone( [in, unique] IUnknown * piunkOuter, [in] REFIID riid, [out, iid_is(riid)] IUnknown ** ppiunkObj); HRESULT Close( [in] DWORD reserved); } cpp_quote("#endif") //+--------------------------------------------------------------------------- // // Copyright (C) Microsoft Corporation, 1995 - 1997. // // Contents: IExtensionServices interface definition // //---------------------------------------------------------------------------- cpp_quote("#ifndef _LPEXTENSIONSERVICES_DEFINED") cpp_quote("#define _LPEXTENSIONSERVICES_DEFINED") [ local, object, uuid(79eac9cb-baf9-11ce-8c82-00aa004ba90b), pointer_default(unique) ] interface IExtensionServices : IUnknown { typedef [unique] IExtensionServices *LPEXTENSIONSERVICES; HRESULT SetAdditionalHeaders( [in] LPCWSTR pwzAdditionalHeaders); HRESULT SetAuthenticateData( [in] HWND phwnd, [in] LPCWSTR pwzUsername, [in] LPCWSTR pwzPassword); } cpp_quote("#endif") cpp_quote(" ") cpp_quote("#endif // !HLINK_H ")