af062818b47340eef15700d2f0211576ba3506eevboxsync/*
af062818b47340eef15700d2f0211576ba3506eevboxsync * Copyright 2005 Jacek Caban
af062818b47340eef15700d2f0211576ba3506eevboxsync *
af062818b47340eef15700d2f0211576ba3506eevboxsync * This library is free software; you can redistribute it and/or
af062818b47340eef15700d2f0211576ba3506eevboxsync * modify it under the terms of the GNU Lesser General Public
af062818b47340eef15700d2f0211576ba3506eevboxsync * License as published by the Free Software Foundation; either
af062818b47340eef15700d2f0211576ba3506eevboxsync * version 2.1 of the License, or (at your option) any later version.
af062818b47340eef15700d2f0211576ba3506eevboxsync *
af062818b47340eef15700d2f0211576ba3506eevboxsync * This library is distributed in the hope that it will be useful,
af062818b47340eef15700d2f0211576ba3506eevboxsync * but WITHOUT ANY WARRANTY; without even the implied warranty of
af062818b47340eef15700d2f0211576ba3506eevboxsync * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
af062818b47340eef15700d2f0211576ba3506eevboxsync * Lesser General Public License for more details.
af062818b47340eef15700d2f0211576ba3506eevboxsync *
af062818b47340eef15700d2f0211576ba3506eevboxsync * You should have received a copy of the GNU Lesser General Public
af062818b47340eef15700d2f0211576ba3506eevboxsync * License along with this library; if not, write to the Free Software
af062818b47340eef15700d2f0211576ba3506eevboxsync * Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301, USA
af062818b47340eef15700d2f0211576ba3506eevboxsync */
af062818b47340eef15700d2f0211576ba3506eevboxsync
589fd26cedb2b4ebbed14f2964cad03cc8ebbca2vboxsync/*
4b9d6701570cb98fd36e209314239d104ec584d3vboxsync * Oracle LGPL Disclaimer: For the avoidance of doubt, except that if any license choice
4b9d6701570cb98fd36e209314239d104ec584d3vboxsync * other than GPL or LGPL is available it will apply instead, Oracle elects to use only
589fd26cedb2b4ebbed14f2964cad03cc8ebbca2vboxsync * the Lesser General Public License version 2.1 (LGPLv2) at this time for any software where
589fd26cedb2b4ebbed14f2964cad03cc8ebbca2vboxsync * a choice of LGPL license versions is made available with the language indicating
589fd26cedb2b4ebbed14f2964cad03cc8ebbca2vboxsync * that LGPLv2 or any later version may be used, or where a choice of which version
589fd26cedb2b4ebbed14f2964cad03cc8ebbca2vboxsync * of the LGPL is applied is otherwise unspecified.
589fd26cedb2b4ebbed14f2964cad03cc8ebbca2vboxsync */
589fd26cedb2b4ebbed14f2964cad03cc8ebbca2vboxsync
af062818b47340eef15700d2f0211576ba3506eevboxsyncimport "urlmon.idl";
af062818b47340eef15700d2f0211576ba3506eevboxsync
af062818b47340eef15700d2f0211576ba3506eevboxsyncinterface IHlink;
af062818b47340eef15700d2f0211576ba3506eevboxsyncinterface IHlinkSite;
af062818b47340eef15700d2f0211576ba3506eevboxsyncinterface IHlinkFrame;
af062818b47340eef15700d2f0211576ba3506eevboxsyncinterface IHlinkBrowseContext;
af062818b47340eef15700d2f0211576ba3506eevboxsync
af062818b47340eef15700d2f0211576ba3506eevboxsynccpp_quote("HRESULT WINAPI HlinkCreateFromMoniker(IMoniker*, LPCWSTR, LPCWSTR, IHlinkSite*, DWORD, IUnknown*, REFIID, void**);")
af062818b47340eef15700d2f0211576ba3506eevboxsynccpp_quote("HRESULT WINAPI HlinkCreateFromString(LPCWSTR, LPCWSTR, LPCWSTR, IHlinkSite*, DWORD, IUnknown*, REFIID, void**);")
af062818b47340eef15700d2f0211576ba3506eevboxsynccpp_quote("HRESULT WINAPI HlinkCreateFromData(IDataObject*, IHlinkSite*, DWORD dwSiteData, IUnknown*, REFIID, void**);")
af062818b47340eef15700d2f0211576ba3506eevboxsynccpp_quote("HRESULT WINAPI HlinkCreateExtensionServices(LPCWSTR, HWND, LPCWSTR, LPCWSTR, IUnknown*, REFIID, void**);")
af062818b47340eef15700d2f0211576ba3506eevboxsynccpp_quote("HRESULT WINAPI HlinkQueryCreateFromData(IDataObject*);")
af062818b47340eef15700d2f0211576ba3506eevboxsynccpp_quote("HRESULT WINAPI HlinkClone(IHlink*, REFIID, IHlinkSite*, DWORD, void **);")
af062818b47340eef15700d2f0211576ba3506eevboxsynccpp_quote("HRESULT WINAPI HlinkCreateBrowseContext(IUnknown*, REFIID, void **);")
af062818b47340eef15700d2f0211576ba3506eevboxsynccpp_quote("HRESULT WINAPI HlinkNavigateToStringReference(LPCWSTR, LPCWSTR, IHlinkSite*, DWORD, IHlinkFrame*, DWORD, LPBC, IBindStatusCallback*, IHlinkBrowseContext*);")
af062818b47340eef15700d2f0211576ba3506eevboxsynccpp_quote("HRESULT WINAPI HlinkNavigate(IHlink*, IHlinkFrame*, DWORD, LPBC, IBindStatusCallback*, IHlinkBrowseContext*);")
af062818b47340eef15700d2f0211576ba3506eevboxsynccpp_quote("HRESULT WINAPI HlinkOnNavigate(IHlinkFrame*, IHlinkBrowseContext*, DWORD, IMoniker*, LPCWSTR, LPCWSTR, ULONG*);")
af062818b47340eef15700d2f0211576ba3506eevboxsynccpp_quote("HRESULT WINAPI HlinkIsShortcut(LPCWSTR);")
af062818b47340eef15700d2f0211576ba3506eevboxsynccpp_quote("HRESULT WINAPI HlinkTranslateURL(LPCWSTR,DWORD,LPWSTR*);")
af062818b47340eef15700d2f0211576ba3506eevboxsynccpp_quote("HRESULT WINAPI HlinkParseDisplayName(LPBC,LPCWSTR,BOOL,ULONG*,IMoniker**);")
af062818b47340eef15700d2f0211576ba3506eevboxsynccpp_quote("HRESULT WINAPI HlinkResolveMonikerForData(LPMONIKER,DWORD,LPBC,ULONG,FORMATETC*,IBindStatusCallback*,LPMONIKER);")
af062818b47340eef15700d2f0211576ba3506eevboxsync
af062818b47340eef15700d2f0211576ba3506eevboxsynctypedef enum _HLSR_NOREDEF10 {
af062818b47340eef15700d2f0211576ba3506eevboxsync HLSR_HOME,
af062818b47340eef15700d2f0211576ba3506eevboxsync HLSR_SEARCHPAGE,
af062818b47340eef15700d2f0211576ba3506eevboxsync HLSR_HISTORYFOLDER
af062818b47340eef15700d2f0211576ba3506eevboxsync} HLSR;
af062818b47340eef15700d2f0211576ba3506eevboxsync
af062818b47340eef15700d2f0211576ba3506eevboxsynccpp_quote("HRESULT WINAPI HlinkSetSpecialReference(ULONG uReference, LPCWSTR pwzReference);")
af062818b47340eef15700d2f0211576ba3506eevboxsynccpp_quote("HRESULT WINAPI HlinkGetSpecialReference(ULONG uReference, LPWSTR *ppwzReference);")
af062818b47340eef15700d2f0211576ba3506eevboxsync
af062818b47340eef15700d2f0211576ba3506eevboxsynccpp_quote("#define SID_SHlinkFrame IID_IHlinkFrame")
af062818b47340eef15700d2f0211576ba3506eevboxsync
af062818b47340eef15700d2f0211576ba3506eevboxsync/*****************************************************************************
af062818b47340eef15700d2f0211576ba3506eevboxsync * IHlink interface
af062818b47340eef15700d2f0211576ba3506eevboxsync */
af062818b47340eef15700d2f0211576ba3506eevboxsync[
af062818b47340eef15700d2f0211576ba3506eevboxsync object,
af062818b47340eef15700d2f0211576ba3506eevboxsync uuid(79EAC9C3-BAF9-11CE-8C82-00AA004BA90B),
af062818b47340eef15700d2f0211576ba3506eevboxsync pointer_default(unique)
af062818b47340eef15700d2f0211576ba3506eevboxsync]
af062818b47340eef15700d2f0211576ba3506eevboxsyncinterface IHlink: IUnknown
af062818b47340eef15700d2f0211576ba3506eevboxsync{
af062818b47340eef15700d2f0211576ba3506eevboxsync typedef [unique] IHlink *LPHLINK;
af062818b47340eef15700d2f0211576ba3506eevboxsync
af062818b47340eef15700d2f0211576ba3506eevboxsync typedef enum {
af062818b47340eef15700d2f0211576ba3506eevboxsync HLNF_INTERNALJUMP = 0x00000001,
af062818b47340eef15700d2f0211576ba3506eevboxsync HLNF_OPENINNEWWINDOW = 0x00000002,
af062818b47340eef15700d2f0211576ba3506eevboxsync HLNF_NAVIGATINGBACK = 0x00000004,
af062818b47340eef15700d2f0211576ba3506eevboxsync HLNF_NAVIGATINGFORWARD = 0x00000008,
af062818b47340eef15700d2f0211576ba3506eevboxsync HLNF_NAVIGATINGTOSTACKITEM = 0x00000010,
af062818b47340eef15700d2f0211576ba3506eevboxsync HLNF_CREATENOHISTORY = 0x00000020
af062818b47340eef15700d2f0211576ba3506eevboxsync } HLNF;
af062818b47340eef15700d2f0211576ba3506eevboxsync
af062818b47340eef15700d2f0211576ba3506eevboxsync typedef enum {
af062818b47340eef15700d2f0211576ba3506eevboxsync HLINKGETREF_DEFAULT = 0,
af062818b47340eef15700d2f0211576ba3506eevboxsync HLINKGETREF_ABSOLUTE = 1,
af062818b47340eef15700d2f0211576ba3506eevboxsync HLINKGETREF_RELATIVE = 2,
af062818b47340eef15700d2f0211576ba3506eevboxsync } HLINKGETREF;
af062818b47340eef15700d2f0211576ba3506eevboxsync
af062818b47340eef15700d2f0211576ba3506eevboxsync typedef enum {
af062818b47340eef15700d2f0211576ba3506eevboxsync HLFNAMEF_DEFAULT = 0x00000000,
af062818b47340eef15700d2f0211576ba3506eevboxsync HLFNAMEF_TRYCACHE = 0x00000001,
af062818b47340eef15700d2f0211576ba3506eevboxsync HLFNAMEF_TRYPRETTYTARGET = 0x00000002,
af062818b47340eef15700d2f0211576ba3506eevboxsync HLFNAMEF_TRYFULLTARGET = 0x00000004,
af062818b47340eef15700d2f0211576ba3506eevboxsync HLFNAMEF_TRYWIN95SHORTCUT = 0x00000008
af062818b47340eef15700d2f0211576ba3506eevboxsync } HLFNAMEF;
af062818b47340eef15700d2f0211576ba3506eevboxsync
af062818b47340eef15700d2f0211576ba3506eevboxsync typedef enum {
af062818b47340eef15700d2f0211576ba3506eevboxsync HLINKMISC_RELATIVE = 0x00000001,
af062818b47340eef15700d2f0211576ba3506eevboxsync } HLINKMISC;
af062818b47340eef15700d2f0211576ba3506eevboxsync
af062818b47340eef15700d2f0211576ba3506eevboxsync typedef enum {
af062818b47340eef15700d2f0211576ba3506eevboxsync HLINKSETF_TARGET = 0x00000001,
af062818b47340eef15700d2f0211576ba3506eevboxsync HLINKSETF_LOCATION = 0x00000002
af062818b47340eef15700d2f0211576ba3506eevboxsync } HLINKSETF;
af062818b47340eef15700d2f0211576ba3506eevboxsync
af062818b47340eef15700d2f0211576ba3506eevboxsync HRESULT SetHlinkSite(
af062818b47340eef15700d2f0211576ba3506eevboxsync [in, unique] IHlinkSite *pihlSite,
af062818b47340eef15700d2f0211576ba3506eevboxsync [in] DWORD dwSiteData);
af062818b47340eef15700d2f0211576ba3506eevboxsync
af062818b47340eef15700d2f0211576ba3506eevboxsync HRESULT GetHlinkSite(
af062818b47340eef15700d2f0211576ba3506eevboxsync [out] IHlinkSite **ppihlSite,
af062818b47340eef15700d2f0211576ba3506eevboxsync [out] DWORD *pdwSiteData);
af062818b47340eef15700d2f0211576ba3506eevboxsync
af062818b47340eef15700d2f0211576ba3506eevboxsync HRESULT SetMonikerReference(
af062818b47340eef15700d2f0211576ba3506eevboxsync [in] DWORD grfHLSETF,
af062818b47340eef15700d2f0211576ba3506eevboxsync [in, unique] IMoniker *pimkTarget,
af062818b47340eef15700d2f0211576ba3506eevboxsync [in, unique] LPCWSTR pwzLocation);
af062818b47340eef15700d2f0211576ba3506eevboxsync
af062818b47340eef15700d2f0211576ba3506eevboxsync HRESULT GetMonikerReference(
af062818b47340eef15700d2f0211576ba3506eevboxsync [in] DWORD dwWhichRef,
af062818b47340eef15700d2f0211576ba3506eevboxsync [out] IMoniker **ppimkTarget,
af062818b47340eef15700d2f0211576ba3506eevboxsync [out] LPWSTR *ppwzLocation);
af062818b47340eef15700d2f0211576ba3506eevboxsync
af062818b47340eef15700d2f0211576ba3506eevboxsync HRESULT SetStringReference(
af062818b47340eef15700d2f0211576ba3506eevboxsync [in] DWORD grfHLSETF,
af062818b47340eef15700d2f0211576ba3506eevboxsync [in, unique] LPCWSTR pwzTarget,
af062818b47340eef15700d2f0211576ba3506eevboxsync [in, unique] LPCWSTR pwzLocation);
af062818b47340eef15700d2f0211576ba3506eevboxsync
af062818b47340eef15700d2f0211576ba3506eevboxsync HRESULT GetStringReference(
af062818b47340eef15700d2f0211576ba3506eevboxsync [in] DWORD dwWhichRef,
af062818b47340eef15700d2f0211576ba3506eevboxsync [out] LPWSTR *ppwzTarget,
af062818b47340eef15700d2f0211576ba3506eevboxsync [out] LPWSTR *ppwzLocation);
af062818b47340eef15700d2f0211576ba3506eevboxsync
af062818b47340eef15700d2f0211576ba3506eevboxsync HRESULT SetFriendlyName(
af062818b47340eef15700d2f0211576ba3506eevboxsync [in, unique] LPCWSTR pwzFriendlyName);
af062818b47340eef15700d2f0211576ba3506eevboxsync
af062818b47340eef15700d2f0211576ba3506eevboxsync HRESULT GetFriendlyName(
af062818b47340eef15700d2f0211576ba3506eevboxsync [in] DWORD grfHLFNAMEF,
af062818b47340eef15700d2f0211576ba3506eevboxsync [out] LPWSTR *ppwzFriendlyName);
af062818b47340eef15700d2f0211576ba3506eevboxsync
af062818b47340eef15700d2f0211576ba3506eevboxsync HRESULT SetTargetFrameName(
af062818b47340eef15700d2f0211576ba3506eevboxsync [in, unique] LPCWSTR pwzTargetFrameName);
af062818b47340eef15700d2f0211576ba3506eevboxsync
af062818b47340eef15700d2f0211576ba3506eevboxsync HRESULT GetTargetFrameName(
af062818b47340eef15700d2f0211576ba3506eevboxsync [out] LPWSTR *ppwzTargetFrameName);
af062818b47340eef15700d2f0211576ba3506eevboxsync
af062818b47340eef15700d2f0211576ba3506eevboxsync HRESULT GetMiscStatus(
af062818b47340eef15700d2f0211576ba3506eevboxsync [out] DWORD *pdwStatus);
af062818b47340eef15700d2f0211576ba3506eevboxsync
af062818b47340eef15700d2f0211576ba3506eevboxsync HRESULT Navigate(
af062818b47340eef15700d2f0211576ba3506eevboxsync [in] DWORD grfHLNF,
af062818b47340eef15700d2f0211576ba3506eevboxsync [in, unique] LPBC pibc,
af062818b47340eef15700d2f0211576ba3506eevboxsync [in, unique] IBindStatusCallback *pibsc,
af062818b47340eef15700d2f0211576ba3506eevboxsync [in, unique] IHlinkBrowseContext *pihlbc);
af062818b47340eef15700d2f0211576ba3506eevboxsync
af062818b47340eef15700d2f0211576ba3506eevboxsync HRESULT SetAdditionalParams(
af062818b47340eef15700d2f0211576ba3506eevboxsync [in, unique] LPCWSTR pwzAdditionalParams);
af062818b47340eef15700d2f0211576ba3506eevboxsync
af062818b47340eef15700d2f0211576ba3506eevboxsync HRESULT GetAdditionalParams(
af062818b47340eef15700d2f0211576ba3506eevboxsync [out] LPWSTR *ppwzAdditionalParams);
af062818b47340eef15700d2f0211576ba3506eevboxsync}
af062818b47340eef15700d2f0211576ba3506eevboxsync
af062818b47340eef15700d2f0211576ba3506eevboxsync/*****************************************************************************
5112e32d7072e280613921c982a6672f2c859cf3vboxsync * IHlinkSite interface
af062818b47340eef15700d2f0211576ba3506eevboxsync */
af062818b47340eef15700d2f0211576ba3506eevboxsync[
af062818b47340eef15700d2f0211576ba3506eevboxsync object,
af062818b47340eef15700d2f0211576ba3506eevboxsync uuid(79EAC9C2-BAF9-11CE-8C82-00AA004BA90B),
af062818b47340eef15700d2f0211576ba3506eevboxsync pointer_default(unique)
af062818b47340eef15700d2f0211576ba3506eevboxsync]
af062818b47340eef15700d2f0211576ba3506eevboxsyncinterface IHlinkSite: IUnknown
af062818b47340eef15700d2f0211576ba3506eevboxsync{
af062818b47340eef15700d2f0211576ba3506eevboxsync typedef [unique] IHlinkSite *LPHLINKSITE;
af062818b47340eef15700d2f0211576ba3506eevboxsync
af062818b47340eef15700d2f0211576ba3506eevboxsync typedef enum {
af062818b47340eef15700d2f0211576ba3506eevboxsync HLINKWHICHMK_CONTAINER = 1,
af062818b47340eef15700d2f0211576ba3506eevboxsync HLINKWHICHMK_BASE = 2,
af062818b47340eef15700d2f0211576ba3506eevboxsync } HLINKWHICHMK;
af062818b47340eef15700d2f0211576ba3506eevboxsync
af062818b47340eef15700d2f0211576ba3506eevboxsync HRESULT QueryService(
af062818b47340eef15700d2f0211576ba3506eevboxsync [in] DWORD dwSiteData,
af062818b47340eef15700d2f0211576ba3506eevboxsync [in] REFGUID guidService,
af062818b47340eef15700d2f0211576ba3506eevboxsync [in] REFIID riid,
af062818b47340eef15700d2f0211576ba3506eevboxsync [out, iid_is(riid)] IUnknown **ppiunk);
af062818b47340eef15700d2f0211576ba3506eevboxsync
af062818b47340eef15700d2f0211576ba3506eevboxsync HRESULT GetMoniker(
af062818b47340eef15700d2f0211576ba3506eevboxsync [in] DWORD dwSiteData,
af062818b47340eef15700d2f0211576ba3506eevboxsync [in] DWORD dwAssign,
af062818b47340eef15700d2f0211576ba3506eevboxsync [in] DWORD dwWhich,
af062818b47340eef15700d2f0211576ba3506eevboxsync [out] IMoniker **ppimk);
af062818b47340eef15700d2f0211576ba3506eevboxsync
af062818b47340eef15700d2f0211576ba3506eevboxsync HRESULT ReadyToNavigate(
af062818b47340eef15700d2f0211576ba3506eevboxsync [in] DWORD dwSiteData,
af062818b47340eef15700d2f0211576ba3506eevboxsync [in] DWORD dwReserved);
af062818b47340eef15700d2f0211576ba3506eevboxsync
af062818b47340eef15700d2f0211576ba3506eevboxsync HRESULT OnNavigationComplete(
af062818b47340eef15700d2f0211576ba3506eevboxsync [in] DWORD dwSiteData,
af062818b47340eef15700d2f0211576ba3506eevboxsync [in] DWORD dwreserved,
af062818b47340eef15700d2f0211576ba3506eevboxsync [in] HRESULT hrError,
af062818b47340eef15700d2f0211576ba3506eevboxsync [in, unique] LPCWSTR pwzError);
af062818b47340eef15700d2f0211576ba3506eevboxsync}
af062818b47340eef15700d2f0211576ba3506eevboxsync
af062818b47340eef15700d2f0211576ba3506eevboxsync/*****************************************************************************
af062818b47340eef15700d2f0211576ba3506eevboxsync * IEnumHLITEM interface
af062818b47340eef15700d2f0211576ba3506eevboxsync */
af062818b47340eef15700d2f0211576ba3506eevboxsync[
af062818b47340eef15700d2f0211576ba3506eevboxsync local,
af062818b47340eef15700d2f0211576ba3506eevboxsync object,
af062818b47340eef15700d2f0211576ba3506eevboxsync uuid(79EAC9C6-BAF9-11CE-8C82-00AA004BA90B),
af062818b47340eef15700d2f0211576ba3506eevboxsync pointer_default(unique)
af062818b47340eef15700d2f0211576ba3506eevboxsync]
af062818b47340eef15700d2f0211576ba3506eevboxsyncinterface IEnumHLITEM : IUnknown
af062818b47340eef15700d2f0211576ba3506eevboxsync{
af062818b47340eef15700d2f0211576ba3506eevboxsync typedef [unique] IEnumHLITEM *LPENUMHLITEM;
af062818b47340eef15700d2f0211576ba3506eevboxsync
af062818b47340eef15700d2f0211576ba3506eevboxsync typedef struct tagHLITEM {
af062818b47340eef15700d2f0211576ba3506eevboxsync ULONG uHLID;
af062818b47340eef15700d2f0211576ba3506eevboxsync LPWSTR pwzFriendlyName;
af062818b47340eef15700d2f0211576ba3506eevboxsync } HLITEM;
af062818b47340eef15700d2f0211576ba3506eevboxsync typedef [unique] HLITEM *LPHLITEM;
af062818b47340eef15700d2f0211576ba3506eevboxsync
af062818b47340eef15700d2f0211576ba3506eevboxsync HRESULT Next(
af062818b47340eef15700d2f0211576ba3506eevboxsync [in] ULONG celt,
af062818b47340eef15700d2f0211576ba3506eevboxsync [out] HLITEM *rgelt,
af062818b47340eef15700d2f0211576ba3506eevboxsync [out] ULONG *pceltFetched);
af062818b47340eef15700d2f0211576ba3506eevboxsync
af062818b47340eef15700d2f0211576ba3506eevboxsync HRESULT Skip(
af062818b47340eef15700d2f0211576ba3506eevboxsync [in] ULONG celt);
af062818b47340eef15700d2f0211576ba3506eevboxsync
af062818b47340eef15700d2f0211576ba3506eevboxsync HRESULT Reset();
af062818b47340eef15700d2f0211576ba3506eevboxsync
af062818b47340eef15700d2f0211576ba3506eevboxsync HRESULT Clone(
af062818b47340eef15700d2f0211576ba3506eevboxsync [out] IEnumHLITEM **ppienumhlitem);
af062818b47340eef15700d2f0211576ba3506eevboxsync}
af062818b47340eef15700d2f0211576ba3506eevboxsync
af062818b47340eef15700d2f0211576ba3506eevboxsync/*****************************************************************************
af062818b47340eef15700d2f0211576ba3506eevboxsync * IHlinkBrowseContext interface
af062818b47340eef15700d2f0211576ba3506eevboxsync */
af062818b47340eef15700d2f0211576ba3506eevboxsync[
af062818b47340eef15700d2f0211576ba3506eevboxsync local,
af062818b47340eef15700d2f0211576ba3506eevboxsync object,
af062818b47340eef15700d2f0211576ba3506eevboxsync uuid(79EAC9C7-BAF9-11CE-8C82-00AA004BA90B),
af062818b47340eef15700d2f0211576ba3506eevboxsync pointer_default(unique)
af062818b47340eef15700d2f0211576ba3506eevboxsync]
af062818b47340eef15700d2f0211576ba3506eevboxsyncinterface IHlinkBrowseContext : IUnknown
af062818b47340eef15700d2f0211576ba3506eevboxsync{
af062818b47340eef15700d2f0211576ba3506eevboxsync typedef [unique] IHlinkBrowseContext *LPHLINKBROWSECONTEXT;
af062818b47340eef15700d2f0211576ba3506eevboxsync
af062818b47340eef15700d2f0211576ba3506eevboxsync enum {
af062818b47340eef15700d2f0211576ba3506eevboxsync HLTB_DOCKEDLEFT = 0,
af062818b47340eef15700d2f0211576ba3506eevboxsync HLTB_DOCKEDTOP = 1,
af062818b47340eef15700d2f0211576ba3506eevboxsync HLTB_DOCKEDRIGHT = 2,
af062818b47340eef15700d2f0211576ba3506eevboxsync HLTB_DOCKEDBOTTOM = 3,
af062818b47340eef15700d2f0211576ba3506eevboxsync HLTB_FLOATING = 4
af062818b47340eef15700d2f0211576ba3506eevboxsync };
af062818b47340eef15700d2f0211576ba3506eevboxsync
af062818b47340eef15700d2f0211576ba3506eevboxsync typedef struct _tagHLTBINFO {
af062818b47340eef15700d2f0211576ba3506eevboxsync ULONG uDockType;
af062818b47340eef15700d2f0211576ba3506eevboxsync RECT rcTbPos;
af062818b47340eef15700d2f0211576ba3506eevboxsync } HLTBINFO;
af062818b47340eef15700d2f0211576ba3506eevboxsync
af062818b47340eef15700d2f0211576ba3506eevboxsync enum {
af062818b47340eef15700d2f0211576ba3506eevboxsync HLBWIF_HASFRAMEWNDINFO = 0x00000001,
af062818b47340eef15700d2f0211576ba3506eevboxsync HLBWIF_HASDOCWNDINFO = 0x00000002,
af062818b47340eef15700d2f0211576ba3506eevboxsync HLBWIF_FRAMEWNDMAXIMIZED = 0x00000004,
af062818b47340eef15700d2f0211576ba3506eevboxsync HLBWIF_DOCWNDMAXIMIZED = 0x00000008,
af062818b47340eef15700d2f0211576ba3506eevboxsync HLBWIF_HASWEBTOOLBARINFO = 0x00000010,
af062818b47340eef15700d2f0211576ba3506eevboxsync HLBWIF_WEBTOOLBARHIDDEN = 0x00000020
af062818b47340eef15700d2f0211576ba3506eevboxsync };
af062818b47340eef15700d2f0211576ba3506eevboxsync
af062818b47340eef15700d2f0211576ba3506eevboxsync typedef struct _tagHLBWINFO {
af062818b47340eef15700d2f0211576ba3506eevboxsync ULONG cbSize;
af062818b47340eef15700d2f0211576ba3506eevboxsync DWORD grfHLBWIF;
af062818b47340eef15700d2f0211576ba3506eevboxsync RECT rcFramePos;
af062818b47340eef15700d2f0211576ba3506eevboxsync RECT rcDocPos;
af062818b47340eef15700d2f0211576ba3506eevboxsync HLTBINFO hltbinfo;
af062818b47340eef15700d2f0211576ba3506eevboxsync } HLBWINFO;
af062818b47340eef15700d2f0211576ba3506eevboxsync
af062818b47340eef15700d2f0211576ba3506eevboxsync typedef [unique] HLBWINFO *LPHLBWINFO;
af062818b47340eef15700d2f0211576ba3506eevboxsync
af062818b47340eef15700d2f0211576ba3506eevboxsync enum {
af062818b47340eef15700d2f0211576ba3506eevboxsync HLID_INVALID = 0x00000000,
af062818b47340eef15700d2f0211576ba3506eevboxsync HLID_PREVIOUS = 0xFFFFFFFF,
af062818b47340eef15700d2f0211576ba3506eevboxsync HLID_NEXT = 0xFFFFFFFE,
af062818b47340eef15700d2f0211576ba3506eevboxsync HLID_CURRENT = 0xFFFFFFFD,
af062818b47340eef15700d2f0211576ba3506eevboxsync HLID_STACKBOTTOM = 0xFFFFFFFC,
af062818b47340eef15700d2f0211576ba3506eevboxsync HLID_STACKTOP = 0xFFFFFFFB
af062818b47340eef15700d2f0211576ba3506eevboxsync };
af062818b47340eef15700d2f0211576ba3506eevboxsync
af062818b47340eef15700d2f0211576ba3506eevboxsync enum {
af062818b47340eef15700d2f0211576ba3506eevboxsync HLQF_ISVALID = 0x00000001,
af062818b47340eef15700d2f0211576ba3506eevboxsync HLQF_ISCURRENT = 0x00000002
af062818b47340eef15700d2f0211576ba3506eevboxsync };
af062818b47340eef15700d2f0211576ba3506eevboxsync
af062818b47340eef15700d2f0211576ba3506eevboxsync HRESULT Register(
af062818b47340eef15700d2f0211576ba3506eevboxsync [in] DWORD reserved,
af062818b47340eef15700d2f0211576ba3506eevboxsync [in, unique] IUnknown *piunk,
af062818b47340eef15700d2f0211576ba3506eevboxsync [in, unique] IMoniker *pimk,
af062818b47340eef15700d2f0211576ba3506eevboxsync [out] DWORD *pdwRegister);
af062818b47340eef15700d2f0211576ba3506eevboxsync
af062818b47340eef15700d2f0211576ba3506eevboxsynccpp_quote("#ifdef WINE_NO_UNICODE_MACROS")
af062818b47340eef15700d2f0211576ba3506eevboxsynccpp_quote("#undef GetObject")
af062818b47340eef15700d2f0211576ba3506eevboxsynccpp_quote("#endif")
af062818b47340eef15700d2f0211576ba3506eevboxsync
af062818b47340eef15700d2f0211576ba3506eevboxsync HRESULT GetObject(
af062818b47340eef15700d2f0211576ba3506eevboxsync [in, unique] IMoniker *pimk,
af062818b47340eef15700d2f0211576ba3506eevboxsync [in] BOOL fBindIfRootRegistered,
af062818b47340eef15700d2f0211576ba3506eevboxsync [out] IUnknown **ppiunk);
af062818b47340eef15700d2f0211576ba3506eevboxsync
af062818b47340eef15700d2f0211576ba3506eevboxsync HRESULT Revoke(
af062818b47340eef15700d2f0211576ba3506eevboxsync [in] DWORD dwRegister);
af062818b47340eef15700d2f0211576ba3506eevboxsync
af062818b47340eef15700d2f0211576ba3506eevboxsync HRESULT SetBrowseWindowInfo(
af062818b47340eef15700d2f0211576ba3506eevboxsync [in, unique] HLBWINFO *phlbwi);
af062818b47340eef15700d2f0211576ba3506eevboxsync
af062818b47340eef15700d2f0211576ba3506eevboxsync HRESULT GetBrowseWindowInfo(
af062818b47340eef15700d2f0211576ba3506eevboxsync [out] HLBWINFO *phlbwi);
af062818b47340eef15700d2f0211576ba3506eevboxsync
af062818b47340eef15700d2f0211576ba3506eevboxsync HRESULT SetInitialHlink(
af062818b47340eef15700d2f0211576ba3506eevboxsync [in, unique] IMoniker * pimkTarget,
af062818b47340eef15700d2f0211576ba3506eevboxsync [in, unique] LPCWSTR pwzLocation,
af062818b47340eef15700d2f0211576ba3506eevboxsync [in, unique] LPCWSTR pwzFriendlyName);
af062818b47340eef15700d2f0211576ba3506eevboxsync
af062818b47340eef15700d2f0211576ba3506eevboxsync HRESULT OnNavigateHlink(
af062818b47340eef15700d2f0211576ba3506eevboxsync [in] DWORD grfHLNF,
af062818b47340eef15700d2f0211576ba3506eevboxsync [in, unique] IMoniker *pimkTarget,
af062818b47340eef15700d2f0211576ba3506eevboxsync [in, unique] LPCWSTR pwzLocation,
af062818b47340eef15700d2f0211576ba3506eevboxsync [in, unique] LPCWSTR pwzFriendlyName,
af062818b47340eef15700d2f0211576ba3506eevboxsync [out] ULONG *puHLID);
af062818b47340eef15700d2f0211576ba3506eevboxsync
af062818b47340eef15700d2f0211576ba3506eevboxsync HRESULT UpdateHlink(
af062818b47340eef15700d2f0211576ba3506eevboxsync [in] ULONG uHLID,
af062818b47340eef15700d2f0211576ba3506eevboxsync [in, unique] IMoniker *pimkTarget,
af062818b47340eef15700d2f0211576ba3506eevboxsync [in, unique] LPCWSTR pwzLocation,
af062818b47340eef15700d2f0211576ba3506eevboxsync [in, unique] LPCWSTR pwzFriendlyName);
af062818b47340eef15700d2f0211576ba3506eevboxsync
af062818b47340eef15700d2f0211576ba3506eevboxsync HRESULT EnumNavigationStack(
af062818b47340eef15700d2f0211576ba3506eevboxsync [in] DWORD dwReserved,
af062818b47340eef15700d2f0211576ba3506eevboxsync [in] DWORD grfHLFNAMEF,
af062818b47340eef15700d2f0211576ba3506eevboxsync [out] IEnumHLITEM **ppienumhlitem);
af062818b47340eef15700d2f0211576ba3506eevboxsync
af062818b47340eef15700d2f0211576ba3506eevboxsync HRESULT QueryHlink(
af062818b47340eef15700d2f0211576ba3506eevboxsync [in] DWORD grfHLQF,
af062818b47340eef15700d2f0211576ba3506eevboxsync [in] ULONG uHLID);
af062818b47340eef15700d2f0211576ba3506eevboxsync
af062818b47340eef15700d2f0211576ba3506eevboxsync HRESULT GetHlink(
af062818b47340eef15700d2f0211576ba3506eevboxsync [in] ULONG uHLID,
af062818b47340eef15700d2f0211576ba3506eevboxsync [out] IHlink **ppihl);
af062818b47340eef15700d2f0211576ba3506eevboxsync
af062818b47340eef15700d2f0211576ba3506eevboxsync HRESULT SetCurrentHlink(
af062818b47340eef15700d2f0211576ba3506eevboxsync [in] ULONG uHLID);
af062818b47340eef15700d2f0211576ba3506eevboxsync
af062818b47340eef15700d2f0211576ba3506eevboxsync HRESULT Clone(
af062818b47340eef15700d2f0211576ba3506eevboxsync [in, unique] IUnknown *piunkOuter,
af062818b47340eef15700d2f0211576ba3506eevboxsync [in] REFIID riid,
af062818b47340eef15700d2f0211576ba3506eevboxsync [out, iid_is(riid)] IUnknown **ppiunkObj);
af062818b47340eef15700d2f0211576ba3506eevboxsync
af062818b47340eef15700d2f0211576ba3506eevboxsync HRESULT Close(
af062818b47340eef15700d2f0211576ba3506eevboxsync [in] DWORD reserved);
af062818b47340eef15700d2f0211576ba3506eevboxsync}
af062818b47340eef15700d2f0211576ba3506eevboxsync
af062818b47340eef15700d2f0211576ba3506eevboxsync
af062818b47340eef15700d2f0211576ba3506eevboxsync/*****************************************************************************
af062818b47340eef15700d2f0211576ba3506eevboxsync * IHlinkTarget interface
af062818b47340eef15700d2f0211576ba3506eevboxsync */
af062818b47340eef15700d2f0211576ba3506eevboxsync[
af062818b47340eef15700d2f0211576ba3506eevboxsync object,
af062818b47340eef15700d2f0211576ba3506eevboxsync uuid(79EAC9C4-BAF9-11CE-8C82-00AA004BA90B),
af062818b47340eef15700d2f0211576ba3506eevboxsync pointer_default(unique)
af062818b47340eef15700d2f0211576ba3506eevboxsync]
af062818b47340eef15700d2f0211576ba3506eevboxsyncinterface IHlinkTarget : IUnknown
af062818b47340eef15700d2f0211576ba3506eevboxsync{
af062818b47340eef15700d2f0211576ba3506eevboxsync typedef [unique] IHlinkTarget *LPHLINKTARGET;
af062818b47340eef15700d2f0211576ba3506eevboxsync
af062818b47340eef15700d2f0211576ba3506eevboxsync HRESULT SetBrowseContext(
af062818b47340eef15700d2f0211576ba3506eevboxsync [in, unique] IHlinkBrowseContext *pihlbc);
af062818b47340eef15700d2f0211576ba3506eevboxsync
af062818b47340eef15700d2f0211576ba3506eevboxsync HRESULT GetBrowseContext(
af062818b47340eef15700d2f0211576ba3506eevboxsync [out] IHlinkBrowseContext **ppihlbc);
af062818b47340eef15700d2f0211576ba3506eevboxsync
af062818b47340eef15700d2f0211576ba3506eevboxsync HRESULT Navigate(
af062818b47340eef15700d2f0211576ba3506eevboxsync [in] DWORD grfHLNF,
af062818b47340eef15700d2f0211576ba3506eevboxsync [in, unique] LPCWSTR pwzJumpLocation);
af062818b47340eef15700d2f0211576ba3506eevboxsync
af062818b47340eef15700d2f0211576ba3506eevboxsync HRESULT GetMoniker(
af062818b47340eef15700d2f0211576ba3506eevboxsync [in,unique] LPCWSTR pwzLocation,
af062818b47340eef15700d2f0211576ba3506eevboxsync [in] DWORD dwAssign,
af062818b47340eef15700d2f0211576ba3506eevboxsync [out] IMoniker **ppimkLocation);
af062818b47340eef15700d2f0211576ba3506eevboxsync
af062818b47340eef15700d2f0211576ba3506eevboxsync HRESULT GetFriendlyName(
af062818b47340eef15700d2f0211576ba3506eevboxsync [in,unique] LPCWSTR pwzLocation,
af062818b47340eef15700d2f0211576ba3506eevboxsync [out] LPWSTR *ppwzFriendlyName);
af062818b47340eef15700d2f0211576ba3506eevboxsync}
af062818b47340eef15700d2f0211576ba3506eevboxsync
af062818b47340eef15700d2f0211576ba3506eevboxsync/*****************************************************************************
af062818b47340eef15700d2f0211576ba3506eevboxsync * IHlinkFrame interface
af062818b47340eef15700d2f0211576ba3506eevboxsync */
af062818b47340eef15700d2f0211576ba3506eevboxsync[
af062818b47340eef15700d2f0211576ba3506eevboxsync object,
af062818b47340eef15700d2f0211576ba3506eevboxsync uuid(79eac9c5-baf9-11ce-8c82-00aa004ba90b),
af062818b47340eef15700d2f0211576ba3506eevboxsync pointer_default(unique)
af062818b47340eef15700d2f0211576ba3506eevboxsync]
af062818b47340eef15700d2f0211576ba3506eevboxsync
af062818b47340eef15700d2f0211576ba3506eevboxsyncinterface IHlinkFrame : IUnknown
af062818b47340eef15700d2f0211576ba3506eevboxsync{
af062818b47340eef15700d2f0211576ba3506eevboxsync typedef IHlinkFrame *LPHLINKFRAME;
af062818b47340eef15700d2f0211576ba3506eevboxsync
af062818b47340eef15700d2f0211576ba3506eevboxsync HRESULT SetBrowseContext(
af062818b47340eef15700d2f0211576ba3506eevboxsync [in, unique] IHlinkBrowseContext * pihlbc);
af062818b47340eef15700d2f0211576ba3506eevboxsync HRESULT GetBrowseContext(
af062818b47340eef15700d2f0211576ba3506eevboxsync [out] IHlinkBrowseContext ** ppihlbc);
af062818b47340eef15700d2f0211576ba3506eevboxsync HRESULT Navigate(
af062818b47340eef15700d2f0211576ba3506eevboxsync [in] DWORD grfHLNF,
af062818b47340eef15700d2f0211576ba3506eevboxsync [in, unique] LPBC pbc,
af062818b47340eef15700d2f0211576ba3506eevboxsync [in, unique] IBindStatusCallback *pibsc,
af062818b47340eef15700d2f0211576ba3506eevboxsync [in, unique] IHlink *pihlNavigate);
af062818b47340eef15700d2f0211576ba3506eevboxsync HRESULT OnNavigate(
af062818b47340eef15700d2f0211576ba3506eevboxsync [in] DWORD grfHLNF,
af062818b47340eef15700d2f0211576ba3506eevboxsync [in, unique] IMoniker *pimkTarget,
af062818b47340eef15700d2f0211576ba3506eevboxsync [in, unique] LPCWSTR pwzLocation,
af062818b47340eef15700d2f0211576ba3506eevboxsync [in, unique] LPCWSTR pwzFriendlyName,
af062818b47340eef15700d2f0211576ba3506eevboxsync [in] DWORD dwreserved);
af062818b47340eef15700d2f0211576ba3506eevboxsync HRESULT UpdateHlink(
af062818b47340eef15700d2f0211576ba3506eevboxsync [in] ULONG uHLID,
af062818b47340eef15700d2f0211576ba3506eevboxsync [in, unique] IMoniker *pimkTarget,
af062818b47340eef15700d2f0211576ba3506eevboxsync [in, unique] LPCWSTR pwzLocation,
af062818b47340eef15700d2f0211576ba3506eevboxsync [in, unique] LPCWSTR pwzFriendlyName);
af062818b47340eef15700d2f0211576ba3506eevboxsync}
af062818b47340eef15700d2f0211576ba3506eevboxsync
af062818b47340eef15700d2f0211576ba3506eevboxsync/*****************************************************************************
af062818b47340eef15700d2f0211576ba3506eevboxsync * IExtensionServices interface
af062818b47340eef15700d2f0211576ba3506eevboxsync */
af062818b47340eef15700d2f0211576ba3506eevboxsync[
af062818b47340eef15700d2f0211576ba3506eevboxsync object,
af062818b47340eef15700d2f0211576ba3506eevboxsync uuid(79eac9cb-baf9-11ce-8c82-00aa004ba90b),
af062818b47340eef15700d2f0211576ba3506eevboxsync pointer_default(unique)
af062818b47340eef15700d2f0211576ba3506eevboxsync]
af062818b47340eef15700d2f0211576ba3506eevboxsync
af062818b47340eef15700d2f0211576ba3506eevboxsyncinterface IExtensionServices: IUnknown
af062818b47340eef15700d2f0211576ba3506eevboxsync{
af062818b47340eef15700d2f0211576ba3506eevboxsync typedef IExtensionServices *LPEXTENSIONSERVICES;
af062818b47340eef15700d2f0211576ba3506eevboxsync
af062818b47340eef15700d2f0211576ba3506eevboxsync HRESULT SetAdditionalHeaders(
af062818b47340eef15700d2f0211576ba3506eevboxsync [in] LPCWSTR pwzAdditionalHeaders);
af062818b47340eef15700d2f0211576ba3506eevboxsync
af062818b47340eef15700d2f0211576ba3506eevboxsync HRESULT SetAuthenticateData(
af062818b47340eef15700d2f0211576ba3506eevboxsync [in] HWND phwnd,
af062818b47340eef15700d2f0211576ba3506eevboxsync [in] LPCWSTR pwzUsername,
af062818b47340eef15700d2f0211576ba3506eevboxsync [in] LPCWSTR pwzPassword);
af062818b47340eef15700d2f0211576ba3506eevboxsync}