/include/hlink.idl
IDL | 440 lines | 327 code | 75 blank | 38 comment | 0 complexity | 10e67bf8ab0f312185db8cfe292d2cbc MD5 | raw file
- /*
- * Copyright 2005 Jacek Caban
- *
- * This library is free software; you can redistribute it and/or
- * modify it under the terms of the GNU Lesser General Public
- * License as published by the Free Software Foundation; either
- * version 2.1 of the License, or (at your option) any later version.
- *
- * This library is distributed in the hope that it will be useful,
- * but WITHOUT ANY WARRANTY; without even the implied warranty of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
- * Lesser General Public License for more details.
- *
- * You should have received a copy of the GNU Lesser General Public
- * License along with this library; if not, write to the Free Software
- * Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301, USA
- */
- import "urlmon.idl";
- interface IHlink;
- interface IHlinkSite;
- interface IHlinkFrame;
- interface IHlinkBrowseContext;
- cpp_quote("HRESULT WINAPI HlinkCreateFromMoniker(IMoniker*, LPCWSTR, LPCWSTR, IHlinkSite*, DWORD, IUnknown*, REFIID, void**);")
- cpp_quote("HRESULT WINAPI HlinkCreateFromString(LPCWSTR, LPCWSTR, LPCWSTR, IHlinkSite*, DWORD, IUnknown*, REFIID, void**);")
- cpp_quote("HRESULT WINAPI HlinkCreateFromData(IDataObject*, IHlinkSite*, DWORD dwSiteData, IUnknown*, REFIID, void**);")
- cpp_quote("HRESULT WINAPI HlinkCreateExtensionServices(LPCWSTR, HWND, LPCWSTR, LPCWSTR, IUnknown*, REFIID, void**);")
- cpp_quote("HRESULT WINAPI HlinkQueryCreateFromData(IDataObject*);")
- cpp_quote("HRESULT WINAPI HlinkClone(IHlink*, REFIID, IHlinkSite*, DWORD, void **);")
- cpp_quote("HRESULT WINAPI HlinkCreateBrowseContext(IUnknown*, REFIID, void **);")
- cpp_quote("HRESULT WINAPI HlinkNavigateToStringReference(LPCWSTR, LPCWSTR, IHlinkSite*, DWORD, IHlinkFrame*, DWORD, LPBC, IBindStatusCallback*, IHlinkBrowseContext*);")
- cpp_quote("HRESULT WINAPI HlinkNavigate(IHlink*, IHlinkFrame*, DWORD, LPBC, IBindStatusCallback*, IHlinkBrowseContext*);")
- cpp_quote("HRESULT WINAPI HlinkOnNavigate(IHlinkFrame*, IHlinkBrowseContext*, DWORD, IMoniker*, LPCWSTR, LPCWSTR, ULONG*);")
- cpp_quote("HRESULT WINAPI HlinkIsShortcut(LPCWSTR);")
- cpp_quote("HRESULT WINAPI HlinkTranslateURL(LPCWSTR,DWORD,LPWSTR*);")
- cpp_quote("HRESULT WINAPI HlinkParseDisplayName(LPBC,LPCWSTR,BOOL,ULONG*,IMoniker**);")
- cpp_quote("HRESULT WINAPI HlinkResolveMonikerForData(LPMONIKER,DWORD,LPBC,ULONG,FORMATETC*,IBindStatusCallback*,LPMONIKER);")
- typedef enum _HLSR_NOREDEF10 {
- HLSR_HOME,
- HLSR_SEARCHPAGE,
- HLSR_HISTORYFOLDER
- } HLSR;
- cpp_quote("HRESULT WINAPI HlinkSetSpecialReference(ULONG uReference, LPCWSTR pwzReference);")
- cpp_quote("HRESULT WINAPI HlinkGetSpecialReference(ULONG uReference, LPWSTR *ppwzReference);")
- cpp_quote("#define SID_SHlinkFrame IID_IHlinkFrame")
- /*****************************************************************************
- * IHlink interface
- */
- [
- object,
- uuid(79EAC9C3-BAF9-11CE-8C82-00AA004BA90B),
- pointer_default(unique)
- ]
- interface IHlink: IUnknown
- {
- typedef [unique] IHlink *LPHLINK;
- typedef enum {
- HLNF_INTERNALJUMP = 0x00000001,
- HLNF_OPENINNEWWINDOW = 0x00000002,
- HLNF_NAVIGATINGBACK = 0x00000004,
- HLNF_NAVIGATINGFORWARD = 0x00000008,
- HLNF_NAVIGATINGTOSTACKITEM = 0x00000010,
- HLNF_CREATENOHISTORY = 0x00000020
- } HLNF;
- typedef enum {
- HLINKGETREF_DEFAULT = 0,
- HLINKGETREF_ABSOLUTE = 1,
- HLINKGETREF_RELATIVE = 2,
- } HLINKGETREF;
- typedef enum {
- HLFNAMEF_DEFAULT = 0x00000000,
- HLFNAMEF_TRYCACHE = 0x00000001,
- HLFNAMEF_TRYPRETTYTARGET = 0x00000002,
- HLFNAMEF_TRYFULLTARGET = 0x00000004,
- HLFNAMEF_TRYWIN95SHORTCUT = 0x00000008
- } HLFNAMEF;
- typedef enum {
- HLINKMISC_RELATIVE = 0x00000001,
- } HLINKMISC;
- 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);
- }
- /*****************************************************************************
- * IHlinkSite interface
- */
- [
- object,
- uuid(79EAC9C2-BAF9-11CE-8C82-00AA004BA90B),
- pointer_default(unique)
- ]
- interface IHlinkSite: IUnknown
- {
- typedef [unique] IHlinkSite *LPHLINKSITE;
- typedef enum {
- HLINKWHICHMK_CONTAINER = 1,
- HLINKWHICHMK_BASE = 2,
- } HLINKWHICHMK;
- HRESULT QueryService(
- [in] DWORD dwSiteData,
- [in] REFGUID guidService,
- [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);
- }
- /*****************************************************************************
- * IEnumHLITEM interface
- */
- [
- 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;
- HRESULT Next(
- [in] ULONG celt,
- [out] HLITEM *rgelt,
- [out] ULONG *pceltFetched);
- HRESULT Skip(
- [in] ULONG celt);
- HRESULT Reset();
- HRESULT Clone(
- [out] IEnumHLITEM **ppienumhlitem);
- }
- /*****************************************************************************
- * IHlinkBrowseContext interface
- */
- [
- local,
- object,
- uuid(79EAC9C7-BAF9-11CE-8C82-00AA004BA90B),
- pointer_default(unique)
- ]
- interface IHlinkBrowseContext : IUnknown
- {
- typedef [unique] IHlinkBrowseContext *LPHLINKBROWSECONTEXT;
- enum {
- HLTB_DOCKEDLEFT = 0,
- HLTB_DOCKEDTOP = 1,
- HLTB_DOCKEDRIGHT = 2,
- HLTB_DOCKEDBOTTOM = 3,
- HLTB_FLOATING = 4
- };
- typedef struct _tagHLTBINFO {
- ULONG uDockType;
- RECT rcTbPos;
- } HLTBINFO;
- 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 = 0x00000000,
- 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);
- cpp_quote("#ifdef WINE_NO_UNICODE_MACROS")
- cpp_quote("#undef GetObject")
- cpp_quote("#endif")
- 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);
- }
- /*****************************************************************************
- * IHlinkTarget interface
- */
- [
- 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);
- }
- /*****************************************************************************
- * IHlinkFrame interface
- */
- [
- object,
- uuid(79eac9c5-baf9-11ce-8c82-00aa004ba90b),
- pointer_default(unique)
- ]
- interface IHlinkFrame : IUnknown
- {
- typedef 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);
- }
- /*****************************************************************************
- * IExtensionServices interface
- */
- [
- object,
- uuid(79eac9cb-baf9-11ce-8c82-00aa004ba90b),
- pointer_default(unique)
- ]
- interface IExtensionServices: IUnknown
- {
- typedef IExtensionServices *LPEXTENSIONSERVICES;
- HRESULT SetAdditionalHeaders(
- [in] LPCWSTR pwzAdditionalHeaders);
- HRESULT SetAuthenticateData(
- [in] HWND phwnd,
- [in] LPCWSTR pwzUsername,
- [in] LPCWSTR pwzPassword);
- }