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 HlinkQueryCreateFromData(IDataObject*);")
30 cpp_quote
("HRESULT WINAPI HlinkClone(IHlink*, REFIID, IHlinkSite*, DWORD, void **);")
31 cpp_quote
("HRESULT WINAPI HlinkCreateBrowseContext(IUnknown*, REFIID, void **);")
32 cpp_quote
("HRESULT WINAPI HlinkNavigateToStringReference(LPCWSTR, LPCWSTR, IHlinkSite*, DWORD, IHlinkFrame*, DWORD, LPBC, IBindStatusCallback*, IHlinkBrowseContext*);")
33 cpp_quote
("HRESULT WINAPI HlinkNavigate(IHlink*, IHlinkFrame*, DWORD, LPBC, IBindStatusCallback*, IHlinkBrowseContext*);")
34 cpp_quote
("HRESULT WINAPI HlinkOnNavigate(IHlinkFrame*, IHlinkBrowseContext*, DWORD, IMoniker*, LPCWSTR, LPCWSTR, ULONG*);")
35 cpp_quote
("HRESULT WINAPI HlinkIsShortcut(LPCWSTR);")
36 cpp_quote
("HRESULT WINAPI HlinkTranslateURL(LPCWSTR,DWORD,LPWSTR*);")
38 /*****************************************************************************
43 uuid(79EAC9C3
-BAF9
-11CE
-8C82
-00AA004BA90B
),
44 pointer_default(unique)
46 interface IHlink
: IUnknown
48 typedef [unique] IHlink
*LPHLINK
;
51 HLNF_INTERNALJUMP
= 0x00000001,
52 HLNF_OPENINNEWWINDOW
= 0x00000002,
53 HLNF_NAVIGATINGBACK
= 0x00000004,
54 HLNF_NAVIGATINGFORWARD
= 0x00000008,
55 HLNF_NAVIGATINGTOSTACKITEM
= 0x00000010,
56 HLNF_CREATENOHISTORY
= 0x00000020
60 HLINKGETREF_DEFAULT
= 0,
61 HLINKGETREF_ABSOLUTE
= 1,
62 HLINKGETREF_RELATIVE
= 2,
66 HLFNAMEF_DEFAULT
= 0x00000000,
67 HLFNAMEF_TRYCACHE
= 0x00000001,
68 HLFNAMEF_TRYPRETTYTARGET
= 0x00000002,
69 HLFNAMEF_TRYFULLTARGET
= 0x00000004,
70 HLFNAMEF_TRYWIN95SHORTCUT
= 0x00000008
74 HLINKMISC_RELATIVE
= 0x00000001,
78 HLINKSETF_TARGET
= 0x00000001,
79 HLINKSETF_LOCATION
= 0x00000002
83 [in, unique] IHlinkSite
*pihlSite
,
84 [in] DWORD dwSiteData
);
87 [out] IHlinkSite
**ppihlSite
,
88 [out] DWORD
*pdwSiteData
);
90 HRESULT SetMonikerReference
(
92 [in, unique] IMoniker
*pimkTarget
,
93 [in, unique] LPCWSTR pwzLocation
);
95 HRESULT GetMonikerReference
(
96 [in] DWORD dwWhichRef
,
97 [out] IMoniker
**ppimkTarget
,
98 [out] LPWSTR
*ppwzLocation
);
100 HRESULT SetStringReference
(
101 [in] DWORD grfHLSETF
,
102 [in, unique] LPCWSTR pwzTarget
,
103 [in, unique] LPCWSTR pwzLocation
);
105 HRESULT GetStringReference
(
106 [in] DWORD dwWhichRef
,
107 [out] LPWSTR
*ppwzTarget
,
108 [out] LPWSTR
*ppwzLocation
);
110 HRESULT SetFriendlyName
(
111 [in, unique] LPCWSTR pwzFriendlyName
);
113 HRESULT GetFriendlyName
(
114 [in] DWORD grfHLFNAMEF
,
115 [out] LPWSTR
*ppwzFriendlyName
);
117 HRESULT SetTargetFrameName
(
118 [in, unique] LPCWSTR pwzTargetFrameName
);
120 HRESULT GetTargetFrameName
(
121 [out] LPWSTR
*ppwzTargetFrameName
);
123 HRESULT GetMiscStatus
(
124 [out] DWORD
*pdwStatus
);
128 [in, unique] LPBC pibc
,
129 [in, unique] IBindStatusCallback
*pibsc
,
130 [in, unique] IHlinkBrowseContext
*pihlbc
);
132 HRESULT SetAdditionalParams
(
133 [in, unique] LPCWSTR pwzAdditionalParams
);
135 HRESULT GetAdditionalParams
(
136 [out] LPWSTR
*ppwzAdditionalParams
);
139 /*****************************************************************************
144 uuid(79EAC9C2
-BAF9
-11CE
-8C82
-00AA004BA90B
),
145 pointer_default(unique)
147 interface IHlinkSite
: IUnknown
149 typedef [unique] IHlinkSite
*LPHLINKSITE
;
152 HLINKWHICHMK_CONTAINER
= 1,
153 HLINKWHICHMK_BASE
= 2,
156 HRESULT QueryService
(
157 [in] DWORD dwSiteData
,
158 [in] REFGUID guidService
,
160 [out, iid_is(riid
)] IUnknown
**ppiunk
);
163 [in] DWORD dwSiteData
,
166 [out] IMoniker
**ppimk
);
168 HRESULT ReadyToNavigate
(
169 [in] DWORD dwSiteData
,
170 [in] DWORD dwReserved
);
172 HRESULT OnNavigationComplete
(
173 [in] DWORD dwSiteData
,
174 [in] DWORD dwreserved
,
175 [in] HRESULT hrError
,
176 [in, unique] LPCWSTR pwzError
);
179 /*****************************************************************************
180 * IEnumHLITEM interface
185 uuid(79EAC9C6
-BAF9
-11CE
-8C82
-00AA004BA90B
),
186 pointer_default(unique)
188 interface IEnumHLITEM
: IUnknown
190 typedef [unique] IEnumHLITEM
*LPENUMHLITEM
;
192 typedef struct tagHLITEM
{
194 LPWSTR pwzFriendlyName
;
196 typedef [unique] HLITEM
*LPHLITEM
;
201 [out] ULONG
*pceltFetched
);
209 [out] IEnumHLITEM
**ppienumhlitem
);
212 /*****************************************************************************
213 * IHlinkBrowseContext interface
218 uuid(79EAC9C7
-BAF9
-11CE
-8C82
-00AA004BA90B
),
219 pointer_default(unique)
221 interface IHlinkBrowseContext
: IUnknown
223 typedef [unique] IHlinkBrowseContext
*LPHLINKBROWSECONTEXT
;
228 HLTB_DOCKEDRIGHT
= 2,
229 HLTB_DOCKEDBOTTOM
= 3,
233 typedef struct _tagHLTBINFO
{
239 HLBWIF_HASFRAMEWNDINFO
= 0x00000001,
240 HLBWIF_HASDOCWNDINFO
= 0x00000002,
241 HLBWIF_FRAMEWNDMAXIMIZED
= 0x00000004,
242 HLBWIF_DOCWNDMAXIMIZED
= 0x00000008,
243 HLBWIF_HASWEBTOOLBARINFO
= 0x00000010,
244 HLBWIF_WEBTOOLBARHIDDEN
= 0x00000020
247 typedef struct _tagHLBWINFO
{
255 typedef [unique] HLBWINFO
*LPHLBWINFO
;
258 HLID_INVALID
= 0x00000000,
259 HLID_PREVIOUS
= 0xFFFFFFFF,
260 HLID_NEXT
= 0xFFFFFFFE,
261 HLID_CURRENT
= 0xFFFFFFFD,
262 HLID_STACKBOTTOM
= 0xFFFFFFFC,
263 HLID_STACKTOP
= 0xFFFFFFFB
267 HLQF_ISVALID
= 0x00000001,
268 HLQF_ISCURRENT
= 0x00000002
273 [in, unique] IUnknown
*piunk
,
274 [in, unique] IMoniker
*pimk
,
275 [out] DWORD
*pdwRegister
);
278 [in, unique] IMoniker
*pimk
,
279 [in] BOOL fBindIfRootRegistered
,
280 [out] IUnknown
**ppiunk
);
283 [in] DWORD dwRegister
);
285 HRESULT SetBrowseWindowInfo
(
286 [in, unique] HLBWINFO
*phlbwi
);
288 HRESULT GetBrowseWindowInfo
(
289 [out] HLBWINFO
*phlbwi
);
291 HRESULT SetInitialHlink
(
292 [in, unique] IMoniker
* pimkTarget
,
293 [in, unique] LPCWSTR pwzLocation
,
294 [in, unique] LPCWSTR pwzFriendlyName
);
296 HRESULT OnNavigateHlink
(
298 [in, unique] IMoniker
*pimkTarget
,
299 [in, unique] LPCWSTR pwzLocation
,
300 [in, unique] LPCWSTR pwzFriendlyName
,
301 [out] ULONG
*puHLID
);
305 [in, unique] IMoniker
*pimkTarget
,
306 [in, unique] LPCWSTR pwzLocation
,
307 [in, unique] LPCWSTR pwzFriendlyName
);
309 HRESULT EnumNavigationStack
(
310 [in] DWORD dwReserved
,
311 [in] DWORD grfHLFNAMEF
,
312 [out] IEnumHLITEM
**ppienumhlitem
);
320 [out] IHlink
**ppihl
);
322 HRESULT SetCurrentHlink
(
326 [in, unique] IUnknown
*piunkOuter
,
328 [out, iid_is(riid
)] IUnknown
**ppiunkObj
);
331 [in] DWORD reserved
);
335 /*****************************************************************************
336 * IHlinkTarget interface
340 uuid(79EAC9C4
-BAF9
-11CE
-8C82
-00AA004BA90B
),
341 pointer_default(unique)
343 interface IHlinkTarget
: IUnknown
345 typedef [unique] IHlinkTarget
*LPHLINKTARGET
;
347 HRESULT SetBrowseContext
(
348 [in, unique] IHlinkBrowseContext
*pihlbc
);
350 HRESULT GetBrowseContext
(
351 [out] IHlinkBrowseContext
**ppihlbc
);
355 [in, unique] LPCWSTR pwzJumpLocation
);
358 [in,unique] LPCWSTR pwzLocation
,
360 [out] IMoniker
**ppimkLocation
);
362 HRESULT GetFriendlyName
(
363 [in,unique] LPCWSTR pwzLocation
,
364 [out] LPWSTR
*ppwzFriendlyName
);
367 /*****************************************************************************
368 * IHlinkFrame interface
372 uuid(79eac9c5
-baf9
-11ce
-8c82
-00aa004ba90b
),
373 pointer_default(unique)
376 interface IHlinkFrame
: IUnknown
378 typedef IHlinkFrame
*LPHLINKFRAME
;
380 HRESULT SetBrowseContext
(
381 [in, unique] IHlinkBrowseContext
* pihlbc
);
382 HRESULT GetBrowseContext
(
383 [out] IHlinkBrowseContext
** ppihlbc
);
386 [in, unique] LPBC pbc
,
387 [in, unique] IBindStatusCallback
*pibsc
,
388 [in, unique] IHlink
*pihlNavigate
);
391 [in, unique] IMoniker
*pimkTarget
,
392 [in, unique] LPCWSTR pwzLocation
,
393 [in, unique] LPCWSTR pwzFriendlyName
,
394 [in] DWORD dwreserved
);
397 [in, unique] IMoniker
*pimkTarget
,
398 [in, unique] LPCWSTR pwzLocation
,
399 [in, unique] LPCWSTR pwzFriendlyName
);