2 * Copyright 2005 Jacek Caban
4 * This library is free software; you can redistribute it and/or
5 * modify it under the terms of the GNU Lesser General Public
6 * License as published by the Free Software Foundation; either
7 * version 2.1 of the License, or (at your option) any later version.
9 * This library is distributed in the hope that it will be useful,
10 * but WITHOUT ANY WARRANTY; without even the implied warranty of
11 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
12 * Lesser General Public License for more details.
14 * You should have received a copy of the GNU Lesser General Public
15 * License along with this library; if not, write to the Free Software
16 * Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301, USA
23 interface IHlinkFrame
;
24 interface IHlinkBrowseContext
;
26 cpp_quote
("HRESULT WINAPI HlinkCreateFromMoniker(IMoniker*, LPCWSTR, LPCWSTR, IHlinkSite*, DWORD, IUnknown*, REFIID, void**);")
27 cpp_quote
("HRESULT WINAPI HlinkCreateFromString(LPCWSTR, LPCWSTR, LPCWSTR, IHlinkSite*, DWORD, IUnknown*, REFIID, void**);")
28 cpp_quote
("HRESULT WINAPI HlinkCreateFromData(IDataObject*, IHlinkSite*, DWORD dwSiteData, IUnknown*, REFIID, void**);")
29 cpp_quote
("HRESULT WINAPI HlinkCreateExtensionServices(LPCWSTR, HWND, LPCWSTR, LPCWSTR, IUnknown*, REFIID, void**);")
30 cpp_quote
("HRESULT WINAPI HlinkQueryCreateFromData(IDataObject*);")
31 cpp_quote
("HRESULT WINAPI HlinkClone(IHlink*, REFIID, IHlinkSite*, DWORD, void **);")
32 cpp_quote
("HRESULT WINAPI HlinkCreateBrowseContext(IUnknown*, REFIID, void **);")
33 cpp_quote
("HRESULT WINAPI HlinkNavigateToStringReference(LPCWSTR, LPCWSTR, IHlinkSite*, DWORD, IHlinkFrame*, DWORD, LPBC, IBindStatusCallback*, IHlinkBrowseContext*);")
34 cpp_quote
("HRESULT WINAPI HlinkNavigate(IHlink*, IHlinkFrame*, DWORD, LPBC, IBindStatusCallback*, IHlinkBrowseContext*);")
35 cpp_quote
("HRESULT WINAPI HlinkOnNavigate(IHlinkFrame*, IHlinkBrowseContext*, DWORD, IMoniker*, LPCWSTR, LPCWSTR, ULONG*);")
36 cpp_quote
("HRESULT WINAPI HlinkIsShortcut(LPCWSTR);")
37 cpp_quote
("HRESULT WINAPI HlinkTranslateURL(LPCWSTR,DWORD,LPWSTR*);")
39 typedef enum _HLSR_NOREDEF10
{
45 cpp_quote
("HRESULT WINAPI HlinkSetSpecialReference(ULONG uReference, LPCWSTR pwzReference);")
46 cpp_quote
("HRESULT WINAPI HlinkGetSpecialReference(ULONG uReference, LPWSTR *ppwzReference);")
48 cpp_quote
("#define SID_SHlinkFrame IID_IHlinkFrame")
50 /*****************************************************************************
55 uuid(79EAC9C3
-BAF9
-11CE
-8C82
-00AA004BA90B
),
56 pointer_default(unique)
58 interface IHlink
: IUnknown
60 typedef [unique] IHlink
*LPHLINK
;
63 HLNF_INTERNALJUMP
= 0x00000001,
64 HLNF_OPENINNEWWINDOW
= 0x00000002,
65 HLNF_NAVIGATINGBACK
= 0x00000004,
66 HLNF_NAVIGATINGFORWARD
= 0x00000008,
67 HLNF_NAVIGATINGTOSTACKITEM
= 0x00000010,
68 HLNF_CREATENOHISTORY
= 0x00000020
72 HLINKGETREF_DEFAULT
= 0,
73 HLINKGETREF_ABSOLUTE
= 1,
74 HLINKGETREF_RELATIVE
= 2,
78 HLFNAMEF_DEFAULT
= 0x00000000,
79 HLFNAMEF_TRYCACHE
= 0x00000001,
80 HLFNAMEF_TRYPRETTYTARGET
= 0x00000002,
81 HLFNAMEF_TRYFULLTARGET
= 0x00000004,
82 HLFNAMEF_TRYWIN95SHORTCUT
= 0x00000008
86 HLINKMISC_RELATIVE
= 0x00000001,
90 HLINKSETF_TARGET
= 0x00000001,
91 HLINKSETF_LOCATION
= 0x00000002
95 [in, unique] IHlinkSite
*pihlSite
,
96 [in] DWORD dwSiteData
);
99 [out] IHlinkSite
**ppihlSite
,
100 [out] DWORD
*pdwSiteData
);
102 HRESULT SetMonikerReference
(
103 [in] DWORD grfHLSETF
,
104 [in, unique] IMoniker
*pimkTarget
,
105 [in, unique] LPCWSTR pwzLocation
);
107 HRESULT GetMonikerReference
(
108 [in] DWORD dwWhichRef
,
109 [out] IMoniker
**ppimkTarget
,
110 [out] LPWSTR
*ppwzLocation
);
112 HRESULT SetStringReference
(
113 [in] DWORD grfHLSETF
,
114 [in, unique] LPCWSTR pwzTarget
,
115 [in, unique] LPCWSTR pwzLocation
);
117 HRESULT GetStringReference
(
118 [in] DWORD dwWhichRef
,
119 [out] LPWSTR
*ppwzTarget
,
120 [out] LPWSTR
*ppwzLocation
);
122 HRESULT SetFriendlyName
(
123 [in, unique] LPCWSTR pwzFriendlyName
);
125 HRESULT GetFriendlyName
(
126 [in] DWORD grfHLFNAMEF
,
127 [out] LPWSTR
*ppwzFriendlyName
);
129 HRESULT SetTargetFrameName
(
130 [in, unique] LPCWSTR pwzTargetFrameName
);
132 HRESULT GetTargetFrameName
(
133 [out] LPWSTR
*ppwzTargetFrameName
);
135 HRESULT GetMiscStatus
(
136 [out] DWORD
*pdwStatus
);
140 [in, unique] LPBC pibc
,
141 [in, unique] IBindStatusCallback
*pibsc
,
142 [in, unique] IHlinkBrowseContext
*pihlbc
);
144 HRESULT SetAdditionalParams
(
145 [in, unique] LPCWSTR pwzAdditionalParams
);
147 HRESULT GetAdditionalParams
(
148 [out] LPWSTR
*ppwzAdditionalParams
);
151 /*****************************************************************************
156 uuid(79EAC9C2
-BAF9
-11CE
-8C82
-00AA004BA90B
),
157 pointer_default(unique)
159 interface IHlinkSite
: IUnknown
161 typedef [unique] IHlinkSite
*LPHLINKSITE
;
164 HLINKWHICHMK_CONTAINER
= 1,
165 HLINKWHICHMK_BASE
= 2,
168 HRESULT QueryService
(
169 [in] DWORD dwSiteData
,
170 [in] REFGUID guidService
,
172 [out, iid_is(riid
)] IUnknown
**ppiunk
);
175 [in] DWORD dwSiteData
,
178 [out] IMoniker
**ppimk
);
180 HRESULT ReadyToNavigate
(
181 [in] DWORD dwSiteData
,
182 [in] DWORD dwReserved
);
184 HRESULT OnNavigationComplete
(
185 [in] DWORD dwSiteData
,
186 [in] DWORD dwreserved
,
187 [in] HRESULT hrError
,
188 [in, unique] LPCWSTR pwzError
);
191 /*****************************************************************************
192 * IEnumHLITEM interface
197 uuid(79EAC9C6
-BAF9
-11CE
-8C82
-00AA004BA90B
),
198 pointer_default(unique)
200 interface IEnumHLITEM
: IUnknown
202 typedef [unique] IEnumHLITEM
*LPENUMHLITEM
;
204 typedef struct tagHLITEM
{
206 LPWSTR pwzFriendlyName
;
208 typedef [unique] HLITEM
*LPHLITEM
;
213 [out] ULONG
*pceltFetched
);
221 [out] IEnumHLITEM
**ppienumhlitem
);
224 /*****************************************************************************
225 * IHlinkBrowseContext interface
230 uuid(79EAC9C7
-BAF9
-11CE
-8C82
-00AA004BA90B
),
231 pointer_default(unique)
233 interface IHlinkBrowseContext
: IUnknown
235 typedef [unique] IHlinkBrowseContext
*LPHLINKBROWSECONTEXT
;
240 HLTB_DOCKEDRIGHT
= 2,
241 HLTB_DOCKEDBOTTOM
= 3,
245 typedef struct _tagHLTBINFO
{
251 HLBWIF_HASFRAMEWNDINFO
= 0x00000001,
252 HLBWIF_HASDOCWNDINFO
= 0x00000002,
253 HLBWIF_FRAMEWNDMAXIMIZED
= 0x00000004,
254 HLBWIF_DOCWNDMAXIMIZED
= 0x00000008,
255 HLBWIF_HASWEBTOOLBARINFO
= 0x00000010,
256 HLBWIF_WEBTOOLBARHIDDEN
= 0x00000020
259 typedef struct _tagHLBWINFO
{
267 typedef [unique] HLBWINFO
*LPHLBWINFO
;
270 HLID_INVALID
= 0x00000000,
271 HLID_PREVIOUS
= 0xFFFFFFFF,
272 HLID_NEXT
= 0xFFFFFFFE,
273 HLID_CURRENT
= 0xFFFFFFFD,
274 HLID_STACKBOTTOM
= 0xFFFFFFFC,
275 HLID_STACKTOP
= 0xFFFFFFFB
279 HLQF_ISVALID
= 0x00000001,
280 HLQF_ISCURRENT
= 0x00000002
285 [in, unique] IUnknown
*piunk
,
286 [in, unique] IMoniker
*pimk
,
287 [out] DWORD
*pdwRegister
);
289 cpp_quote
("#ifdef WINE_NO_UNICODE_MACROS")
290 cpp_quote
("#undef GetObject")
294 [in, unique] IMoniker
*pimk
,
295 [in] BOOL fBindIfRootRegistered
,
296 [out] IUnknown
**ppiunk
);
299 [in] DWORD dwRegister
);
301 HRESULT SetBrowseWindowInfo
(
302 [in, unique] HLBWINFO
*phlbwi
);
304 HRESULT GetBrowseWindowInfo
(
305 [out] HLBWINFO
*phlbwi
);
307 HRESULT SetInitialHlink
(
308 [in, unique] IMoniker
* pimkTarget
,
309 [in, unique] LPCWSTR pwzLocation
,
310 [in, unique] LPCWSTR pwzFriendlyName
);
312 HRESULT OnNavigateHlink
(
314 [in, unique] IMoniker
*pimkTarget
,
315 [in, unique] LPCWSTR pwzLocation
,
316 [in, unique] LPCWSTR pwzFriendlyName
,
317 [out] ULONG
*puHLID
);
321 [in, unique] IMoniker
*pimkTarget
,
322 [in, unique] LPCWSTR pwzLocation
,
323 [in, unique] LPCWSTR pwzFriendlyName
);
325 HRESULT EnumNavigationStack
(
326 [in] DWORD dwReserved
,
327 [in] DWORD grfHLFNAMEF
,
328 [out] IEnumHLITEM
**ppienumhlitem
);
336 [out] IHlink
**ppihl
);
338 HRESULT SetCurrentHlink
(
342 [in, unique] IUnknown
*piunkOuter
,
344 [out, iid_is(riid
)] IUnknown
**ppiunkObj
);
347 [in] DWORD reserved
);
351 /*****************************************************************************
352 * IHlinkTarget interface
356 uuid(79EAC9C4
-BAF9
-11CE
-8C82
-00AA004BA90B
),
357 pointer_default(unique)
359 interface IHlinkTarget
: IUnknown
361 typedef [unique] IHlinkTarget
*LPHLINKTARGET
;
363 HRESULT SetBrowseContext
(
364 [in, unique] IHlinkBrowseContext
*pihlbc
);
366 HRESULT GetBrowseContext
(
367 [out] IHlinkBrowseContext
**ppihlbc
);
371 [in, unique] LPCWSTR pwzJumpLocation
);
374 [in,unique] LPCWSTR pwzLocation
,
376 [out] IMoniker
**ppimkLocation
);
378 HRESULT GetFriendlyName
(
379 [in,unique] LPCWSTR pwzLocation
,
380 [out] LPWSTR
*ppwzFriendlyName
);
383 /*****************************************************************************
384 * IHlinkFrame interface
388 uuid(79eac9c5
-baf9
-11ce
-8c82
-00aa004ba90b
),
389 pointer_default(unique)
392 interface IHlinkFrame
: IUnknown
394 typedef IHlinkFrame
*LPHLINKFRAME
;
396 HRESULT SetBrowseContext
(
397 [in, unique] IHlinkBrowseContext
* pihlbc
);
398 HRESULT GetBrowseContext
(
399 [out] IHlinkBrowseContext
** ppihlbc
);
402 [in, unique] LPBC pbc
,
403 [in, unique] IBindStatusCallback
*pibsc
,
404 [in, unique] IHlink
*pihlNavigate
);
407 [in, unique] IMoniker
*pimkTarget
,
408 [in, unique] LPCWSTR pwzLocation
,
409 [in, unique] LPCWSTR pwzFriendlyName
,
410 [in] DWORD dwreserved
);
413 [in, unique] IMoniker
*pimkTarget
,
414 [in, unique] LPCWSTR pwzLocation
,
415 [in, unique] LPCWSTR pwzFriendlyName
);