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*);")
38 cpp_quote
("HRESULT WINAPI HlinkParseDisplayName(LPBC,LPCWSTR,BOOL,ULONG*,IMoniker**);")
39 cpp_quote
("HRESULT WINAPI HlinkResolveMonikerForData(LPMONIKER,DWORD,LPBC,ULONG,FORMATETC*,IBindStatusCallback*,LPMONIKER);")
40 cpp_quote
("HRESULT WINAPI HlinkUpdateStackItem(IHlinkFrame*, IHlinkBrowseContext*, ULONG, IMoniker*, LPCWSTR, LPCWSTR);")
42 typedef enum _HLSR_NOREDEF10
{
48 cpp_quote
("HRESULT WINAPI HlinkSetSpecialReference(ULONG uReference, LPCWSTR pwzReference);")
49 cpp_quote
("HRESULT WINAPI HlinkGetSpecialReference(ULONG uReference, LPWSTR *ppwzReference);")
51 cpp_quote
("#define SID_SHlinkFrame IID_IHlinkFrame")
53 /*****************************************************************************
58 uuid(79EAC9C3
-BAF9
-11CE
-8C82
-00AA004BA90B
),
59 pointer_default(unique)
61 interface IHlink
: IUnknown
63 typedef [unique] IHlink
*LPHLINK
;
66 HLNF_INTERNALJUMP
= 0x00000001,
67 HLNF_OPENINNEWWINDOW
= 0x00000002,
68 HLNF_NAVIGATINGBACK
= 0x00000004,
69 HLNF_NAVIGATINGFORWARD
= 0x00000008,
70 HLNF_NAVIGATINGTOSTACKITEM
= 0x00000010,
71 HLNF_CREATENOHISTORY
= 0x00000020
75 HLINKGETREF_DEFAULT
= 0,
76 HLINKGETREF_ABSOLUTE
= 1,
77 HLINKGETREF_RELATIVE
= 2,
81 HLFNAMEF_DEFAULT
= 0x00000000,
82 HLFNAMEF_TRYCACHE
= 0x00000001,
83 HLFNAMEF_TRYPRETTYTARGET
= 0x00000002,
84 HLFNAMEF_TRYFULLTARGET
= 0x00000004,
85 HLFNAMEF_TRYWIN95SHORTCUT
= 0x00000008
89 HLINKMISC_RELATIVE
= 0x00000001,
93 HLINKSETF_TARGET
= 0x00000001,
94 HLINKSETF_LOCATION
= 0x00000002
98 [in, unique] IHlinkSite
*pihlSite
,
99 [in] DWORD dwSiteData
);
101 HRESULT GetHlinkSite
(
102 [out] IHlinkSite
**ppihlSite
,
103 [out] DWORD
*pdwSiteData
);
105 HRESULT SetMonikerReference
(
106 [in] DWORD grfHLSETF
,
107 [in, unique] IMoniker
*pimkTarget
,
108 [in, unique] LPCWSTR pwzLocation
);
110 HRESULT GetMonikerReference
(
111 [in] DWORD dwWhichRef
,
112 [out] IMoniker
**ppimkTarget
,
113 [out] LPWSTR
*ppwzLocation
);
115 HRESULT SetStringReference
(
116 [in] DWORD grfHLSETF
,
117 [in, unique] LPCWSTR pwzTarget
,
118 [in, unique] LPCWSTR pwzLocation
);
120 HRESULT GetStringReference
(
121 [in] DWORD dwWhichRef
,
122 [out] LPWSTR
*ppwzTarget
,
123 [out] LPWSTR
*ppwzLocation
);
125 HRESULT SetFriendlyName
(
126 [in, unique] LPCWSTR pwzFriendlyName
);
128 HRESULT GetFriendlyName
(
129 [in] DWORD grfHLFNAMEF
,
130 [out] LPWSTR
*ppwzFriendlyName
);
132 HRESULT SetTargetFrameName
(
133 [in, unique] LPCWSTR pwzTargetFrameName
);
135 HRESULT GetTargetFrameName
(
136 [out] LPWSTR
*ppwzTargetFrameName
);
138 HRESULT GetMiscStatus
(
139 [out] DWORD
*pdwStatus
);
143 [in, unique] LPBC pibc
,
144 [in, unique] IBindStatusCallback
*pibsc
,
145 [in, unique] IHlinkBrowseContext
*pihlbc
);
147 HRESULT SetAdditionalParams
(
148 [in, unique] LPCWSTR pwzAdditionalParams
);
150 HRESULT GetAdditionalParams
(
151 [out] LPWSTR
*ppwzAdditionalParams
);
154 /*****************************************************************************
155 * IHlinkSite interface
159 uuid(79EAC9C2
-BAF9
-11CE
-8C82
-00AA004BA90B
),
160 pointer_default(unique)
162 interface IHlinkSite
: IUnknown
164 typedef [unique] IHlinkSite
*LPHLINKSITE
;
167 HLINKWHICHMK_CONTAINER
= 1,
168 HLINKWHICHMK_BASE
= 2,
171 HRESULT QueryService
(
172 [in] DWORD dwSiteData
,
173 [in] REFGUID guidService
,
175 [out, iid_is(riid
)] IUnknown
**ppiunk
);
178 [in] DWORD dwSiteData
,
181 [out] IMoniker
**ppimk
);
183 HRESULT ReadyToNavigate
(
184 [in] DWORD dwSiteData
,
185 [in] DWORD dwReserved
);
187 HRESULT OnNavigationComplete
(
188 [in] DWORD dwSiteData
,
189 [in] DWORD dwreserved
,
190 [in] HRESULT hrError
,
191 [in, unique] LPCWSTR pwzError
);
194 /*****************************************************************************
195 * IEnumHLITEM interface
200 uuid(79EAC9C6
-BAF9
-11CE
-8C82
-00AA004BA90B
),
201 pointer_default(unique)
203 interface IEnumHLITEM
: IUnknown
205 typedef [unique] IEnumHLITEM
*LPENUMHLITEM
;
207 typedef struct tagHLITEM
{
209 LPWSTR pwzFriendlyName
;
211 typedef [unique] HLITEM
*LPHLITEM
;
216 [out] ULONG
*pceltFetched
);
224 [out] IEnumHLITEM
**ppienumhlitem
);
227 /*****************************************************************************
228 * IHlinkBrowseContext interface
233 uuid(79EAC9C7
-BAF9
-11CE
-8C82
-00AA004BA90B
),
234 pointer_default(unique)
236 interface IHlinkBrowseContext
: IUnknown
238 typedef [unique] IHlinkBrowseContext
*LPHLINKBROWSECONTEXT
;
243 HLTB_DOCKEDRIGHT
= 2,
244 HLTB_DOCKEDBOTTOM
= 3,
248 typedef struct _tagHLTBINFO
{
254 HLBWIF_HASFRAMEWNDINFO
= 0x00000001,
255 HLBWIF_HASDOCWNDINFO
= 0x00000002,
256 HLBWIF_FRAMEWNDMAXIMIZED
= 0x00000004,
257 HLBWIF_DOCWNDMAXIMIZED
= 0x00000008,
258 HLBWIF_HASWEBTOOLBARINFO
= 0x00000010,
259 HLBWIF_WEBTOOLBARHIDDEN
= 0x00000020
262 typedef struct _tagHLBWINFO
{
270 typedef [unique] HLBWINFO
*LPHLBWINFO
;
273 HLID_INVALID
= 0x00000000,
274 HLID_PREVIOUS
= 0xFFFFFFFF,
275 HLID_NEXT
= 0xFFFFFFFE,
276 HLID_CURRENT
= 0xFFFFFFFD,
277 HLID_STACKBOTTOM
= 0xFFFFFFFC,
278 HLID_STACKTOP
= 0xFFFFFFFB
282 HLQF_ISVALID
= 0x00000001,
283 HLQF_ISCURRENT
= 0x00000002
288 [in, unique] IUnknown
*piunk
,
289 [in, unique] IMoniker
*pimk
,
290 [out] DWORD
*pdwRegister
);
292 cpp_quote
("#ifdef WINE_NO_UNICODE_MACROS")
293 cpp_quote
("#undef GetObject")
297 [in, unique] IMoniker
*pimk
,
298 [in] BOOL fBindIfRootRegistered
,
299 [out] IUnknown
**ppiunk
);
302 [in] DWORD dwRegister
);
304 HRESULT SetBrowseWindowInfo
(
305 [in, unique] HLBWINFO
*phlbwi
);
307 HRESULT GetBrowseWindowInfo
(
308 [out] HLBWINFO
*phlbwi
);
310 HRESULT SetInitialHlink
(
311 [in, unique] IMoniker
* pimkTarget
,
312 [in, unique] LPCWSTR pwzLocation
,
313 [in, unique] LPCWSTR pwzFriendlyName
);
315 HRESULT OnNavigateHlink
(
317 [in, unique] IMoniker
*pimkTarget
,
318 [in, unique] LPCWSTR pwzLocation
,
319 [in, unique] LPCWSTR pwzFriendlyName
,
320 [out] ULONG
*puHLID
);
324 [in, unique] IMoniker
*pimkTarget
,
325 [in, unique] LPCWSTR pwzLocation
,
326 [in, unique] LPCWSTR pwzFriendlyName
);
328 HRESULT EnumNavigationStack
(
329 [in] DWORD dwReserved
,
330 [in] DWORD grfHLFNAMEF
,
331 [out] IEnumHLITEM
**ppienumhlitem
);
339 [out] IHlink
**ppihl
);
341 HRESULT SetCurrentHlink
(
345 [in, unique] IUnknown
*piunkOuter
,
347 [out, iid_is(riid
)] IUnknown
**ppiunkObj
);
350 [in] DWORD reserved
);
354 /*****************************************************************************
355 * IHlinkTarget interface
359 uuid(79EAC9C4
-BAF9
-11CE
-8C82
-00AA004BA90B
),
360 pointer_default(unique)
362 interface IHlinkTarget
: IUnknown
364 typedef [unique] IHlinkTarget
*LPHLINKTARGET
;
366 HRESULT SetBrowseContext
(
367 [in, unique] IHlinkBrowseContext
*pihlbc
);
369 HRESULT GetBrowseContext
(
370 [out] IHlinkBrowseContext
**ppihlbc
);
374 [in, unique] LPCWSTR pwzJumpLocation
);
377 [in,unique] LPCWSTR pwzLocation
,
379 [out] IMoniker
**ppimkLocation
);
381 HRESULT GetFriendlyName
(
382 [in,unique] LPCWSTR pwzLocation
,
383 [out] LPWSTR
*ppwzFriendlyName
);
386 /*****************************************************************************
387 * IHlinkFrame interface
391 uuid(79eac9c5
-baf9
-11ce
-8c82
-00aa004ba90b
),
392 pointer_default(unique)
395 interface IHlinkFrame
: IUnknown
397 typedef IHlinkFrame
*LPHLINKFRAME
;
399 HRESULT SetBrowseContext
(
400 [in, unique] IHlinkBrowseContext
* pihlbc
);
401 HRESULT GetBrowseContext
(
402 [out] IHlinkBrowseContext
** ppihlbc
);
405 [in, unique] LPBC pbc
,
406 [in, unique] IBindStatusCallback
*pibsc
,
407 [in, unique] IHlink
*pihlNavigate
);
410 [in, unique] IMoniker
*pimkTarget
,
411 [in, unique] LPCWSTR pwzLocation
,
412 [in, unique] LPCWSTR pwzFriendlyName
,
413 [in] DWORD dwreserved
);
416 [in, unique] IMoniker
*pimkTarget
,
417 [in, unique] LPCWSTR pwzLocation
,
418 [in, unique] LPCWSTR pwzFriendlyName
);
421 /*****************************************************************************
422 * IExtensionServices interface
426 uuid(79eac9cb
-baf9
-11ce
-8c82
-00aa004ba90b
),
427 pointer_default(unique)
430 interface IExtensionServices
: IUnknown
432 typedef IExtensionServices
*LPEXTENSIONSERVICES
;
434 HRESULT SetAdditionalHeaders
(
435 [in] LPCWSTR pwzAdditionalHeaders
);
437 HRESULT SetAuthenticateData
(
439 [in] LPCWSTR pwzUsername
,
440 [in] LPCWSTR pwzPassword
);