ReactOS  0.4.14-dev-606-g14ebc0b
hlink.idl
Go to the documentation of this file.
1 /*
2  * Copyright 2005 Jacek Caban
3  *
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.
8  *
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.
13  *
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
17  */
18 
19 import "urlmon.idl";
20 
21 interface IHlink;
22 interface IHlinkSite;
23 interface IHlinkFrame;
24 interface IHlinkBrowseContext;
25 
26 cpp_quote("HRESULT WINAPI HlinkCreateFromMoniker(IMoniker*, LPCWSTR, LPCWSTR, IHlinkSite*, DWORD, IUnknown*, REFIID, void**);")
41 
46 } HLSR;
47 
48 cpp_quote("HRESULT WINAPI HlinkSetSpecialReference(ULONG uReference, LPCWSTR pwzReference);")
49 cpp_quote("HRESULT WINAPI HlinkGetSpecialReference(ULONG uReference, LPWSTR *ppwzReference);")
50 
51 cpp_quote("#define SID_SHlinkFrame IID_IHlinkFrame")
52 
53 /*****************************************************************************
54  * IHlink interface
55  */
56 [
57  object,
58  uuid(79EAC9C3-BAF9-11CE-8C82-00AA004BA90B),
60 ]
61 interface IHlink: IUnknown
62 {
63  typedef [unique] IHlink *LPHLINK;
64 
65  typedef enum {
66  HLNF_INTERNALJUMP = 0x00000001,
67  HLNF_OPENINNEWWINDOW = 0x00000002,
68  HLNF_NAVIGATINGBACK = 0x00000004,
69  HLNF_NAVIGATINGFORWARD = 0x00000008,
71  HLNF_CREATENOHISTORY = 0x00000020
72  } HLNF;
73 
74  typedef enum {
78  } HLINKGETREF;
79 
80  typedef enum {
81  HLFNAMEF_DEFAULT = 0x00000000,
82  HLFNAMEF_TRYCACHE = 0x00000001,
84  HLFNAMEF_TRYFULLTARGET = 0x00000004,
86  } HLFNAMEF;
87 
88  typedef enum {
89  HLINKMISC_RELATIVE = 0x00000001,
90  } HLINKMISC;
91 
92  typedef enum {
93  HLINKSETF_TARGET = 0x00000001,
94  HLINKSETF_LOCATION = 0x00000002
95  } HLINKSETF;
96 
98  [in, unique] IHlinkSite *pihlSite,
99  [in] DWORD dwSiteData);
100 
102  [out] IHlinkSite **ppihlSite,
103  [out] DWORD *pdwSiteData);
104 
106  [in] DWORD grfHLSETF,
107  [in, unique] IMoniker *pimkTarget,
108  [in, unique] LPCWSTR pwzLocation);
109 
111  [in] DWORD dwWhichRef,
112  [out] IMoniker **ppimkTarget,
113  [out] LPWSTR *ppwzLocation);
114 
116  [in] DWORD grfHLSETF,
117  [in, unique] LPCWSTR pwzTarget,
118  [in, unique] LPCWSTR pwzLocation);
119 
121  [in] DWORD dwWhichRef,
122  [out] LPWSTR *ppwzTarget,
123  [out] LPWSTR *ppwzLocation);
124 
126  [in, unique] LPCWSTR pwzFriendlyName);
127 
129  [in] DWORD grfHLFNAMEF,
130  [out] LPWSTR *ppwzFriendlyName);
131 
133  [in, unique] LPCWSTR pwzTargetFrameName);
134 
136  [out] LPWSTR *ppwzTargetFrameName);
137 
139  [out] DWORD *pdwStatus);
140 
142  [in] DWORD grfHLNF,
143  [in, unique] LPBC pibc,
144  [in, unique] IBindStatusCallback *pibsc,
145  [in, unique] IHlinkBrowseContext *pihlbc);
146 
148  [in, unique] LPCWSTR pwzAdditionalParams);
149 
151  [out] LPWSTR *ppwzAdditionalParams);
152 }
153 
154 /*****************************************************************************
155  * IHlinkSite interface
156  */
157 [
158  object,
159  uuid(79EAC9C2-BAF9-11CE-8C82-00AA004BA90B),
161 ]
163 {
165 
166  typedef enum {
169  } HLINKWHICHMK;
170 
172  [in] DWORD dwSiteData,
173  [in] REFGUID guidService,
174  [in] REFIID riid,
175  [out, iid_is(riid)] IUnknown **ppiunk);
176 
178  [in] DWORD dwSiteData,
179  [in] DWORD dwAssign,
180  [in] DWORD dwWhich,
181  [out] IMoniker **ppimk);
182 
184  [in] DWORD dwSiteData,
185  [in] DWORD dwReserved);
186 
188  [in] DWORD dwSiteData,
189  [in] DWORD dwreserved,
190  [in] HRESULT hrError,
191  [in, unique] LPCWSTR pwzError);
192 }
193 
194 /*****************************************************************************
195  * IEnumHLITEM interface
196  */
197 [
198  local,
199  object,
200  uuid(79EAC9C6-BAF9-11CE-8C82-00AA004BA90B),
202 ]
204 {
206 
207  typedef struct tagHLITEM {
210  } HLITEM;
211  typedef [unique] HLITEM *LPHLITEM;
212 
213  HRESULT Next(
214  [in] ULONG celt,
215  [out] HLITEM *rgelt,
216  [out] ULONG *pceltFetched);
217 
218  HRESULT Skip(
219  [in] ULONG celt);
220 
221  HRESULT Reset();
222 
223  HRESULT Clone(
224  [out] IEnumHLITEM **ppienumhlitem);
225 }
226 
227 /*****************************************************************************
228  * IHlinkBrowseContext interface
229  */
230 [
231  local,
232  object,
233  uuid(79EAC9C7-BAF9-11CE-8C82-00AA004BA90B),
235 ]
237 {
239 
240  enum {
246  };
247 
248  typedef struct _tagHLTBINFO {
251  } HLTBINFO;
252 
253  enum {
255  HLBWIF_HASDOCWNDINFO = 0x00000002,
260  };
261 
262  typedef struct _tagHLBWINFO {
268  } HLBWINFO;
269 
271 
272  enum {
273  HLID_INVALID = 0x00000000,
274  HLID_PREVIOUS = 0xFFFFFFFF,
275  HLID_NEXT = 0xFFFFFFFE,
276  HLID_CURRENT = 0xFFFFFFFD,
277  HLID_STACKBOTTOM = 0xFFFFFFFC,
278  HLID_STACKTOP = 0xFFFFFFFB
279  };
280 
281  enum {
282  HLQF_ISVALID = 0x00000001,
283  HLQF_ISCURRENT = 0x00000002
284  };
285 
287  [in] DWORD reserved,
288  [in, unique] IUnknown *piunk,
289  [in, unique] IMoniker *pimk,
290  [out] DWORD *pdwRegister);
291 
292 cpp_quote("#ifdef WINE_NO_UNICODE_MACROS")
293 cpp_quote("#undef GetObject")
294 cpp_quote("#endif")
295 
297  [in, unique] IMoniker *pimk,
298  [in] BOOL fBindIfRootRegistered,
299  [out] IUnknown **ppiunk);
300 
301  HRESULT Revoke(
302  [in] DWORD dwRegister);
303 
305  [in, unique] HLBWINFO *phlbwi);
306 
308  [out] HLBWINFO *phlbwi);
309 
311  [in, unique] IMoniker * pimkTarget,
312  [in, unique] LPCWSTR pwzLocation,
313  [in, unique] LPCWSTR pwzFriendlyName);
314 
316  [in] DWORD grfHLNF,
317  [in, unique] IMoniker *pimkTarget,
318  [in, unique] LPCWSTR pwzLocation,
319  [in, unique] LPCWSTR pwzFriendlyName,
320  [out] ULONG *puHLID);
321 
323  [in] ULONG uHLID,
324  [in, unique] IMoniker *pimkTarget,
325  [in, unique] LPCWSTR pwzLocation,
326  [in, unique] LPCWSTR pwzFriendlyName);
327 
329  [in] DWORD dwReserved,
330  [in] DWORD grfHLFNAMEF,
331  [out] IEnumHLITEM **ppienumhlitem);
332 
334  [in] DWORD grfHLQF,
335  [in] ULONG uHLID);
336 
338  [in] ULONG uHLID,
339  [out] IHlink **ppihl);
340 
342  [in] ULONG uHLID);
343 
344  HRESULT Clone(
345  [in, unique] IUnknown *piunkOuter,
346  [in] REFIID riid,
347  [out, iid_is(riid)] IUnknown **ppiunkObj);
348 
349  HRESULT Close(
350  [in] DWORD reserved);
351 }
352 
353 
354 /*****************************************************************************
355  * IHlinkTarget interface
356  */
357 [
358  object,
359  uuid(79EAC9C4-BAF9-11CE-8C82-00AA004BA90B),
361 ]
363 {
365 
366  HRESULT SetBrowseContext(
367  [in, unique] IHlinkBrowseContext *pihlbc);
368 
369  HRESULT GetBrowseContext(
370  [out] IHlinkBrowseContext **ppihlbc);
371 
372  HRESULT Navigate(
373  [in] DWORD grfHLNF,
374  [in, unique] LPCWSTR pwzJumpLocation);
375 
376  HRESULT GetMoniker(
377  [in,unique] LPCWSTR pwzLocation,
378  [in] DWORD dwAssign,
379  [out] IMoniker **ppimkLocation);
380 
381  HRESULT GetFriendlyName(
382  [in,unique] LPCWSTR pwzLocation,
383  [out] LPWSTR *ppwzFriendlyName);
384 }
385 
386 /*****************************************************************************
387  * IHlinkFrame interface
388  */
389 [
390  object,
391  uuid(79eac9c5-baf9-11ce-8c82-00aa004ba90b),
393 ]
394 
396 {
398 
399  HRESULT SetBrowseContext(
400  [in, unique] IHlinkBrowseContext * pihlbc);
401  HRESULT GetBrowseContext(
402  [out] IHlinkBrowseContext ** ppihlbc);
403  HRESULT Navigate(
404  [in] DWORD grfHLNF,
405  [in, unique] LPBC pbc,
406  [in, unique] IBindStatusCallback *pibsc,
407  [in, unique] IHlink *pihlNavigate);
408  HRESULT OnNavigate(
409  [in] DWORD grfHLNF,
410  [in, unique] IMoniker *pimkTarget,
411  [in, unique] LPCWSTR pwzLocation,
412  [in, unique] LPCWSTR pwzFriendlyName,
413  [in] DWORD dwreserved);
415  [in] ULONG uHLID,
416  [in, unique] IMoniker *pimkTarget,
417  [in, unique] LPCWSTR pwzLocation,
418  [in, unique] LPCWSTR pwzFriendlyName);
419 }
420 
421 /*****************************************************************************
422  * IExtensionServices interface
423  */
424 [
425  object,
426  uuid(79eac9cb-baf9-11ce-8c82-00aa004ba90b),
428 ]
429 
431 {
433 
434  HRESULT SetAdditionalHeaders(
435  [in] LPCWSTR pwzAdditionalHeaders);
436 
437  HRESULT SetAuthenticateData(
438  [in] HWND phwnd,
439  [in] LPCWSTR pwzUsername,
440  [in] LPCWSTR pwzPassword);
441 }
HRESULT SetInitialHlink([in, unique] IMoniker *pimkTarget, [in, unique] LPCWSTR pwzLocation, [in, unique] LPCWSTR pwzFriendlyName)
HRESULT QueryService([in] DWORD dwSiteData, [in] REFGUID guidService, [in] REFIID riid, [out, iid_is(riid)] IUnknown **ppiunk)
struct IHlinkBrowseContext::_tagHLBWINFO HLBWINFO
IHlinkSite * LPHLINKSITE
Definition: hlink.idl:164
#define REFIID
Definition: guiddef.h:118
HRESULT Next([in] ULONG celt, [out] HLITEM *rgelt, [out] ULONG *pceltFetched)
Definition: scsiwmi.h:51
const WCHAR * LPCWSTR
Definition: xmlstorage.h:185
interface IBindCtx * LPBC
Definition: objfwd.h:18
HRESULT ReadyToNavigate([in] DWORD dwSiteData, [in] DWORD dwReserved)
REFIID riid
Definition: precomp.h:44
HRESULT GetMoniker([in] DWORD dwSiteData, [in] DWORD dwAssign, [in] DWORD dwWhich, [out] IMoniker **ppimk)
HRESULT GetBrowseWindowInfo([out] HLBWINFO *phlbwi)
HRESULT Reset()
HRESULT Register([in] DWORD reserved, [in, unique] IUnknown *piunk, [in, unique] IMoniker *pimk, [out] DWORD *pdwRegister)
HRESULT SetCurrentHlink([in] ULONG uHLID)
coclass AMMultiMediaStream cpp_quote("DEFINE_GUID(CLSID_AMDirectDrawStream, 0x49c47ce4, 0x9ba4, 0x11d0, 0x82, 0x12, 0x00, 0xc0, 0x4f, 0xc3, 0x2c, 0x45);") cpp_quote("DEFINE_GUID(CLSID_AMAudioStream
HLITEM * LPHLITEM
Definition: hlink.idl:211
HRESULT SetBrowseWindowInfo([in, unique] HLBWINFO *phlbwi)
_In_ HANDLE _In_ DWORD _In_ DWORD _Inout_opt_ LPOVERLAPPED _In_opt_ LPTRANSMIT_FILE_BUFFERS _In_ DWORD dwReserved
Definition: mswsock.h:90
unsigned int BOOL
Definition: ntddk_ex.h:94
IHlinkBrowseContext * LPHLINKBROWSECONTEXT
Definition: hlink.idl:238
r reserved
Definition: btrfs.c:2865
HLBWINFO * LPHLBWINFO
Definition: hlink.idl:270
HRESULT Clone([out] IEnumHLITEM **ppienumhlitem)
LONG HRESULT
Definition: typedefs.h:77
#define WINAPI
Definition: msvc.h:6
HRESULT OnNavigationComplete([in] DWORD dwSiteData, [in] DWORD dwreserved, [in] HRESULT hrError, [in, unique] LPCWSTR pwzError)
static FILE * out
Definition: regtests2xml.c:44
unsigned long DWORD
Definition: ntddk_ex.h:95
HRESULT GetHlink([in] ULONG uHLID, [out] IHlink **ppihl)
IHlinkFrame * LPHLINKFRAME
Definition: hlink.idl:397
struct IHlinkBrowseContext::_tagHLTBINFO HLTBINFO
IHlinkTarget * LPHLINKTARGET
Definition: hlink.idl:364
IExtensionServices * LPEXTENSIONSERVICES
Definition: hlink.idl:432
HRESULT Revoke([in] DWORD dwRegister)
#define interface
Definition: basetyps.h:61
interface IMoniker * LPMONIKER
Definition: objfwd.h:9
#define local
Definition: zutil.h:30
HRESULT Clone([in, unique] IUnknown *piunkOuter, [in] REFIID riid, [out, iid_is(riid)] IUnknown **ppiunkObj)
HRESULT Skip([in] ULONG celt)
GLuint in
Definition: glext.h:9616
static unsigned char pointer_default
Definition: parser.tab.c:114
struct IEnumHLITEM::tagHLITEM HLITEM
IEnumHLITEM * LPENUMHLITEM
Definition: hlink.idl:205
HRESULT Close([in] DWORD reserved)
HRESULT GetObject([in, unique] IMoniker *pimk, [in] BOOL fBindIfRootRegistered, [out] IUnknown **ppiunk)
HRESULT UpdateHlink([in] ULONG uHLID, [in, unique] IMoniker *pimkTarget, [in, unique] LPCWSTR pwzLocation, [in, unique] LPCWSTR pwzFriendlyName)
_ForwardIter unique(_ForwardIter __first, _ForwardIter __last)
Definition: _algo.h:298
Definition: msctf.idl:510
unsigned int ULONG
Definition: retypes.h:1
WCHAR * LPWSTR
Definition: xmlstorage.h:184
HRESULT QueryHlink([in] DWORD grfHLQF, [in] ULONG uHLID)
HRESULT OnNavigateHlink([in] DWORD grfHLNF, [in, unique] IMoniker *pimkTarget, [in, unique] LPCWSTR pwzLocation, [in, unique] LPCWSTR pwzFriendlyName, [out] ULONG *puHLID)
void * object
Definition: jmemsys.h:48
HRESULT EnumNavigationStack([in] DWORD dwReserved, [in] DWORD grfHLFNAMEF, [out] IEnumHLITEM **ppienumhlitem)