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