1 /**
2  * This file has no copyright assigned and is placed in the Public Domain.
3  * This file is part of the mingw-w64 runtime package.
4  * No warranty is given; refer to the file DISCLAIMER.PD within this package.
5  */
6 #ifndef __REQUIRED_RPCNDR_H_VERSION__
7 #define __REQUIRED_RPCNDR_H_VERSION__ 440
8 #endif
9 
10 #include "rpc.h"
11 #include "rpcndr.h"
12 
13 #ifndef __RPCNDR_H_VERSION__
14 #error This stub requires an updated version of <rpcndr.h>
15 #endif
16 
17 #ifndef COM_NO_WINDOWS_H
18 #include "windows.h"
19 #include "ole2.h"
20 #endif
21 
22 #ifndef __hlink_h__
23 #define __hlink_h__
24 
25 #ifndef __IHlink_FWD_DEFINED__
26 #define __IHlink_FWD_DEFINED__
27 typedef struct IHlink IHlink;
28 #endif
29 
30 #ifndef __IHlinkSite_FWD_DEFINED__
31 #define __IHlinkSite_FWD_DEFINED__
32 typedef struct IHlinkSite IHlinkSite;
33 #endif
34 
35 #ifndef __IHlinkTarget_FWD_DEFINED__
36 #define __IHlinkTarget_FWD_DEFINED__
37 typedef struct IHlinkTarget IHlinkTarget;
38 #endif
39 
40 #ifndef __IHlinkFrame_FWD_DEFINED__
41 #define __IHlinkFrame_FWD_DEFINED__
42 typedef struct IHlinkFrame IHlinkFrame;
43 #endif
44 
45 #ifndef __IEnumHLITEM_FWD_DEFINED__
46 #define __IEnumHLITEM_FWD_DEFINED__
47 typedef struct IEnumHLITEM IEnumHLITEM;
48 #endif
49 
50 #ifndef __IHlinkBrowseContext_FWD_DEFINED__
51 #define __IHlinkBrowseContext_FWD_DEFINED__
52 typedef struct IHlinkBrowseContext IHlinkBrowseContext;
53 #endif
54 
55 #ifndef __IExtensionServices_FWD_DEFINED__
56 #define __IExtensionServices_FWD_DEFINED__
57 typedef struct IExtensionServices IExtensionServices;
58 #endif
59 
60 #include "urlmon.h"
61 #ifdef __cplusplus
62 extern "C"{
63 #endif
64 
65 #ifndef __MIDL_user_allocate_free_DEFINED__
66 #define __MIDL_user_allocate_free_DEFINED__
67   void *__RPC_API MIDL_user_allocate(size_t);
68   void __RPC_API MIDL_user_free(void *);
69 #endif
70 
71 #ifndef HLINK_H
72 #define HLINK_H
73 
74 #define SID_SHlinkFrame IID_IHlinkFrame
75 #define IID_IHlinkSource IID_IHlinkTarget
76 #define IHlinkSource IHlinkTarget
77 #define IHlinkSourceVtbl IHlinkTargetVtbl
78 #define LPHLINKSOURCE LPHLINKTARGET
79 
80 #ifndef _HLINK_ERRORS_DEFINED
81 #define _HLINK_ERRORS_DEFINED
82 #define HLINK_E_FIRST (OLE_E_LAST+1)
83 #define HLINK_S_FIRST (OLE_S_LAST+1)
84 #define HLINK_S_DONTHIDE (HLINK_S_FIRST)
85 #endif
86 
87 #define CFSTR_HYPERLINK (TEXT("Hyperlink"))
88 
89   STDAPI HlinkCreateFromMoniker(IMoniker *pimkTrgt,LPCWSTR pwzLocation,LPCWSTR pwzFriendlyName,IHlinkSite *pihlsite,DWORD dwSiteData,IUnknown *piunkOuter,REFIID riid,void **ppvObj);
90   STDAPI HlinkCreateFromString(LPCWSTR pwzTarget,LPCWSTR pwzLocation,LPCWSTR pwzFriendlyName,IHlinkSite *pihlsite,DWORD dwSiteData,IUnknown *piunkOuter,REFIID riid,void **ppvObj);
91   STDAPI HlinkCreateFromData(IDataObject *piDataObj,IHlinkSite *pihlsite,DWORD dwSiteData,IUnknown *piunkOuter,REFIID riid,void **ppvObj);
92   STDAPI HlinkQueryCreateFromData(IDataObject *piDataObj);
93   STDAPI HlinkClone(IHlink *pihl,REFIID riid,IHlinkSite *pihlsiteForClone,DWORD dwSiteData,void **ppvObj);
94   STDAPI HlinkCreateBrowseContext(IUnknown *piunkOuter,REFIID riid,void **ppvObj);
95   STDAPI HlinkNavigateToStringReference(LPCWSTR pwzTarget,LPCWSTR pwzLocation,IHlinkSite *pihlsite,DWORD dwSiteData,IHlinkFrame *pihlframe,DWORD grfHLNF,LPBC pibc,IBindStatusCallback *pibsc,IHlinkBrowseContext *pihlbc);
96   STDAPI HlinkNavigate(IHlink *pihl,IHlinkFrame *pihlframe,DWORD grfHLNF,LPBC pbc,IBindStatusCallback *pibsc,IHlinkBrowseContext *pihlbc);
97   STDAPI HlinkOnNavigate(IHlinkFrame *pihlframe,IHlinkBrowseContext *pihlbc,DWORD grfHLNF,IMoniker *pimkTarget,LPCWSTR pwzLocation,LPCWSTR pwzFriendlyName,ULONG *puHLID);
98   STDAPI HlinkUpdateStackItem(IHlinkFrame *pihlframe,IHlinkBrowseContext *pihlbc,ULONG uHLID,IMoniker *pimkTrgt,LPCWSTR pwzLocation,LPCWSTR pwzFriendlyName);
99   STDAPI HlinkOnRenameDocument(DWORD dwReserved,IHlinkBrowseContext *pihlbc,IMoniker *pimkOld,IMoniker *pimkNew);
100   STDAPI HlinkResolveMonikerForData(LPMONIKER pimkReference,DWORD reserved,LPBC pibc,ULONG cFmtetc,FORMATETC *rgFmtetc,IBindStatusCallback *pibsc,LPMONIKER pimkBase);
101   STDAPI HlinkResolveStringForData(LPCWSTR pwzReference,DWORD reserved,LPBC pibc,ULONG cFmtetc,FORMATETC *rgFmtetc,IBindStatusCallback *pibsc,LPMONIKER pimkBase);
102   STDAPI HlinkParseDisplayName(LPBC pibc,LPCWSTR pwzDisplayName,WINBOOL fNoForceAbs,ULONG *pcchEaten,IMoniker **ppimk);
103   STDAPI HlinkCreateExtensionServices(LPCWSTR pwzAdditionalHeaders,HWND phwnd,LPCWSTR pszUsername,LPCWSTR pszPassword,IUnknown *piunkOuter,REFIID riid,void **ppvObj);
104   STDAPI HlinkPreprocessMoniker(LPBC pibc,IMoniker *pimkIn,IMoniker **ppimkOut);
105   STDAPI OleSaveToStreamEx(IUnknown *piunk,IStream *pistm,WINBOOL fClearDirty);
106 
107   typedef enum _HLSR_NOREDEF10 {
108     HLSR_HOME = 0,HLSR_SEARCHPAGE = 1,HLSR_HISTORYFOLDER = 2
109   } HLSR;
110 
111   STDAPI HlinkSetSpecialReference(ULONG uReference,LPCWSTR pwzReference);
112   STDAPI HlinkGetSpecialReference(ULONG uReference,LPWSTR *ppwzReference);
113 
114   typedef enum _HLSHORTCUTF__NOREDEF10 {
115     HLSHORTCUTF_DEFAULT = 0,HLSHORTCUTF_DONTACTUALLYCREATE = 0x1,HLSHORTCUTF_USEFILENAMEFROMFRIENDLYNAME = 0x2,HLSHORTCUTF_USEUNIQUEFILENAME = 0x4,
116     HLSHORTCUTF_MAYUSEEXISTINGSHORTCUT = 0x8
117   } HLSHORTCUTF;
118 
119   STDAPI HlinkCreateShortcut(DWORD grfHLSHORTCUTF,IHlink *pihl,LPCWSTR pwzDir,LPCWSTR pwzFileName,LPWSTR *ppwzShortcutFile,DWORD dwReserved);
120   STDAPI HlinkCreateShortcutFromMoniker(DWORD grfHLSHORTCUTF,IMoniker *pimkTarget,LPCWSTR pwzLocation,LPCWSTR pwzDir,LPCWSTR pwzFileName,LPWSTR *ppwzShortcutFile,DWORD dwReserved);
121   STDAPI HlinkCreateShortcutFromString(DWORD grfHLSHORTCUTF,LPCWSTR pwzTarget,LPCWSTR pwzLocation,LPCWSTR pwzDir,LPCWSTR pwzFileName,LPWSTR *ppwzShortcutFile,DWORD dwReserved);
122   STDAPI HlinkResolveShortcut(LPCWSTR pwzShortcutFileName,IHlinkSite *pihlsite,DWORD dwSiteData,IUnknown *piunkOuter,REFIID riid,void **ppvObj);
123   STDAPI HlinkResolveShortcutToMoniker(LPCWSTR pwzShortcutFileName,IMoniker **ppimkTarget,LPWSTR *ppwzLocation);
124   STDAPI HlinkResolveShortcutToString(LPCWSTR pwzShortcutFileName,LPWSTR *ppwzTarget,LPWSTR *ppwzLocation);
125   STDAPI HlinkIsShortcut(LPCWSTR pwzFileName);
126   STDAPI HlinkGetValueFromParams(LPCWSTR pwzParams,LPCWSTR pwzName,LPWSTR *ppwzValue);
127 
128   typedef enum _HLTRANSLATEF_NOREDEF10 {
129     HLTRANSLATEF_DEFAULT = 0,HLTRANSLATEF_DONTAPPLYDEFAULTPREFIX = 0x1
130   } HLTRANSLATEF;
131 
132   STDAPI HlinkTranslateURL(LPCWSTR pwzURL,DWORD grfFlags,LPWSTR *ppwzTranslatedURL);
133 
134 #ifndef _LPHLINK_DEFINED
135 #define _LPHLINK_DEFINED
136   extern RPC_IF_HANDLE __MIDL_itf_hlink_0000_v0_0_c_ifspec;
137   extern RPC_IF_HANDLE __MIDL_itf_hlink_0000_v0_0_s_ifspec;
138 #ifndef __IHlink_INTERFACE_DEFINED__
139 #define __IHlink_INTERFACE_DEFINED__
140   typedef IHlink *LPHLINK;
141 
142   typedef enum __MIDL_IHlink_0001 {
143     HLNF_INTERNALJUMP = 0x1,HLNF_OPENINNEWWINDOW = 0x2,HLNF_NAVIGATINGBACK = 0x4,HLNF_NAVIGATINGFORWARD = 0x8,HLNF_NAVIGATINGTOSTACKITEM = 0x10,
144     HLNF_CREATENOHISTORY = 0x20
145   } HLNF;
146 
147   typedef enum __MIDL_IHlink_0002 {
148     HLINKGETREF_DEFAULT = 0,HLINKGETREF_ABSOLUTE = 1,HLINKGETREF_RELATIVE = 2
149   } HLINKGETREF;
150 
151   typedef enum __MIDL_IHlink_0003 {
152     HLFNAMEF_DEFAULT = 0,HLFNAMEF_TRYCACHE = 0x1,HLFNAMEF_TRYPRETTYTARGET = 0x2,HLFNAMEF_TRYFULLTARGET = 0x4,HLFNAMEF_TRYWIN95SHORTCUT = 0x8
153   } HLFNAMEF;
154 
155   typedef enum __MIDL_IHlink_0004 {
156     HLINKMISC_RELATIVE = 0x1
157   } HLINKMISC;
158 
159   typedef enum __MIDL_IHlink_0005 {
160     HLINKSETF_TARGET = 0x1,HLINKSETF_LOCATION = 0x2
161   } HLINKSETF;
162 
163   EXTERN_C const IID IID_IHlink;
164 
165 #if defined(__cplusplus) && !defined(CINTERFACE)
166   struct IHlink : public IUnknown {
167   public:
168     virtual HRESULT WINAPI SetHlinkSite(IHlinkSite *pihlSite,DWORD dwSiteData) = 0;
169     virtual HRESULT WINAPI GetHlinkSite(IHlinkSite **ppihlSite,DWORD *pdwSiteData) = 0;
170     virtual HRESULT WINAPI SetMonikerReference(DWORD grfHLSETF,IMoniker *pimkTarget,LPCWSTR pwzLocation) = 0;
171     virtual HRESULT WINAPI GetMonikerReference(DWORD dwWhichRef,IMoniker **ppimkTarget,LPWSTR *ppwzLocation) = 0;
172     virtual HRESULT WINAPI SetStringReference(DWORD grfHLSETF,LPCWSTR pwzTarget,LPCWSTR pwzLocation) = 0;
173     virtual HRESULT WINAPI GetStringReference(DWORD dwWhichRef,LPWSTR *ppwzTarget,LPWSTR *ppwzLocation) = 0;
174     virtual HRESULT WINAPI SetFriendlyName(LPCWSTR pwzFriendlyName) = 0;
175     virtual HRESULT WINAPI GetFriendlyName(DWORD grfHLFNAMEF,LPWSTR *ppwzFriendlyName) = 0;
176     virtual HRESULT WINAPI SetTargetFrameName(LPCWSTR pwzTargetFrameName) = 0;
177     virtual HRESULT WINAPI GetTargetFrameName(LPWSTR *ppwzTargetFrameName) = 0;
178     virtual HRESULT WINAPI GetMiscStatus(DWORD *pdwStatus) = 0;
179     virtual HRESULT WINAPI Navigate(DWORD grfHLNF,LPBC pibc,IBindStatusCallback *pibsc,IHlinkBrowseContext *pihlbc) = 0;
180     virtual HRESULT WINAPI SetAdditionalParams(LPCWSTR pwzAdditionalParams) = 0;
181     virtual HRESULT WINAPI GetAdditionalParams(LPWSTR *ppwzAdditionalParams) = 0;
182   };
183 #else
184   typedef struct IHlinkVtbl {
185     BEGIN_INTERFACE
186       HRESULT (WINAPI *QueryInterface)(IHlink *This,REFIID riid,void **ppvObject);
187       ULONG (WINAPI *AddRef)(IHlink *This);
188       ULONG (WINAPI *Release)(IHlink *This);
189       HRESULT (WINAPI *SetHlinkSite)(IHlink *This,IHlinkSite *pihlSite,DWORD dwSiteData);
190       HRESULT (WINAPI *GetHlinkSite)(IHlink *This,IHlinkSite **ppihlSite,DWORD *pdwSiteData);
191       HRESULT (WINAPI *SetMonikerReference)(IHlink *This,DWORD grfHLSETF,IMoniker *pimkTarget,LPCWSTR pwzLocation);
192       HRESULT (WINAPI *GetMonikerReference)(IHlink *This,DWORD dwWhichRef,IMoniker **ppimkTarget,LPWSTR *ppwzLocation);
193       HRESULT (WINAPI *SetStringReference)(IHlink *This,DWORD grfHLSETF,LPCWSTR pwzTarget,LPCWSTR pwzLocation);
194       HRESULT (WINAPI *GetStringReference)(IHlink *This,DWORD dwWhichRef,LPWSTR *ppwzTarget,LPWSTR *ppwzLocation);
195       HRESULT (WINAPI *SetFriendlyName)(IHlink *This,LPCWSTR pwzFriendlyName);
196       HRESULT (WINAPI *GetFriendlyName)(IHlink *This,DWORD grfHLFNAMEF,LPWSTR *ppwzFriendlyName);
197       HRESULT (WINAPI *SetTargetFrameName)(IHlink *This,LPCWSTR pwzTargetFrameName);
198       HRESULT (WINAPI *GetTargetFrameName)(IHlink *This,LPWSTR *ppwzTargetFrameName);
199       HRESULT (WINAPI *GetMiscStatus)(IHlink *This,DWORD *pdwStatus);
200       HRESULT (WINAPI *Navigate)(IHlink *This,DWORD grfHLNF,LPBC pibc,IBindStatusCallback *pibsc,IHlinkBrowseContext *pihlbc);
201       HRESULT (WINAPI *SetAdditionalParams)(IHlink *This,LPCWSTR pwzAdditionalParams);
202       HRESULT (WINAPI *GetAdditionalParams)(IHlink *This,LPWSTR *ppwzAdditionalParams);
203     END_INTERFACE
204   } IHlinkVtbl;
205   struct IHlink {
206     CONST_VTBL struct IHlinkVtbl *lpVtbl;
207   };
208 #ifdef COBJMACROS
209 #define IHlink_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject)
210 #define IHlink_AddRef(This) (This)->lpVtbl->AddRef(This)
211 #define IHlink_Release(This) (This)->lpVtbl->Release(This)
212 #define IHlink_SetHlinkSite(This,pihlSite,dwSiteData) (This)->lpVtbl->SetHlinkSite(This,pihlSite,dwSiteData)
213 #define IHlink_GetHlinkSite(This,ppihlSite,pdwSiteData) (This)->lpVtbl->GetHlinkSite(This,ppihlSite,pdwSiteData)
214 #define IHlink_SetMonikerReference(This,grfHLSETF,pimkTarget,pwzLocation) (This)->lpVtbl->SetMonikerReference(This,grfHLSETF,pimkTarget,pwzLocation)
215 #define IHlink_GetMonikerReference(This,dwWhichRef,ppimkTarget,ppwzLocation) (This)->lpVtbl->GetMonikerReference(This,dwWhichRef,ppimkTarget,ppwzLocation)
216 #define IHlink_SetStringReference(This,grfHLSETF,pwzTarget,pwzLocation) (This)->lpVtbl->SetStringReference(This,grfHLSETF,pwzTarget,pwzLocation)
217 #define IHlink_GetStringReference(This,dwWhichRef,ppwzTarget,ppwzLocation) (This)->lpVtbl->GetStringReference(This,dwWhichRef,ppwzTarget,ppwzLocation)
218 #define IHlink_SetFriendlyName(This,pwzFriendlyName) (This)->lpVtbl->SetFriendlyName(This,pwzFriendlyName)
219 #define IHlink_GetFriendlyName(This,grfHLFNAMEF,ppwzFriendlyName) (This)->lpVtbl->GetFriendlyName(This,grfHLFNAMEF,ppwzFriendlyName)
220 #define IHlink_SetTargetFrameName(This,pwzTargetFrameName) (This)->lpVtbl->SetTargetFrameName(This,pwzTargetFrameName)
221 #define IHlink_GetTargetFrameName(This,ppwzTargetFrameName) (This)->lpVtbl->GetTargetFrameName(This,ppwzTargetFrameName)
222 #define IHlink_GetMiscStatus(This,pdwStatus) (This)->lpVtbl->GetMiscStatus(This,pdwStatus)
223 #define IHlink_Navigate(This,grfHLNF,pibc,pibsc,pihlbc) (This)->lpVtbl->Navigate(This,grfHLNF,pibc,pibsc,pihlbc)
224 #define IHlink_SetAdditionalParams(This,pwzAdditionalParams) (This)->lpVtbl->SetAdditionalParams(This,pwzAdditionalParams)
225 #define IHlink_GetAdditionalParams(This,ppwzAdditionalParams) (This)->lpVtbl->GetAdditionalParams(This,ppwzAdditionalParams)
226 #endif
227 #endif
228   HRESULT WINAPI IHlink_SetHlinkSite_Proxy(IHlink *This,IHlinkSite *pihlSite,DWORD dwSiteData);
229   void __RPC_STUB IHlink_SetHlinkSite_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
230   HRESULT WINAPI IHlink_GetHlinkSite_Proxy(IHlink *This,IHlinkSite **ppihlSite,DWORD *pdwSiteData);
231   void __RPC_STUB IHlink_GetHlinkSite_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
232   HRESULT WINAPI IHlink_SetMonikerReference_Proxy(IHlink *This,DWORD grfHLSETF,IMoniker *pimkTarget,LPCWSTR pwzLocation);
233   void __RPC_STUB IHlink_SetMonikerReference_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
234   HRESULT WINAPI IHlink_GetMonikerReference_Proxy(IHlink *This,DWORD dwWhichRef,IMoniker **ppimkTarget,LPWSTR *ppwzLocation);
235   void __RPC_STUB IHlink_GetMonikerReference_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
236   HRESULT WINAPI IHlink_SetStringReference_Proxy(IHlink *This,DWORD grfHLSETF,LPCWSTR pwzTarget,LPCWSTR pwzLocation);
237   void __RPC_STUB IHlink_SetStringReference_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
238   HRESULT WINAPI IHlink_GetStringReference_Proxy(IHlink *This,DWORD dwWhichRef,LPWSTR *ppwzTarget,LPWSTR *ppwzLocation);
239   void __RPC_STUB IHlink_GetStringReference_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
240   HRESULT WINAPI IHlink_SetFriendlyName_Proxy(IHlink *This,LPCWSTR pwzFriendlyName);
241   void __RPC_STUB IHlink_SetFriendlyName_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
242   HRESULT WINAPI IHlink_GetFriendlyName_Proxy(IHlink *This,DWORD grfHLFNAMEF,LPWSTR *ppwzFriendlyName);
243   void __RPC_STUB IHlink_GetFriendlyName_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
244   HRESULT WINAPI IHlink_SetTargetFrameName_Proxy(IHlink *This,LPCWSTR pwzTargetFrameName);
245   void __RPC_STUB IHlink_SetTargetFrameName_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
246   HRESULT WINAPI IHlink_GetTargetFrameName_Proxy(IHlink *This,LPWSTR *ppwzTargetFrameName);
247   void __RPC_STUB IHlink_GetTargetFrameName_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
248   HRESULT WINAPI IHlink_GetMiscStatus_Proxy(IHlink *This,DWORD *pdwStatus);
249   void __RPC_STUB IHlink_GetMiscStatus_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
250   HRESULT WINAPI IHlink_Navigate_Proxy(IHlink *This,DWORD grfHLNF,LPBC pibc,IBindStatusCallback *pibsc,IHlinkBrowseContext *pihlbc);
251   void __RPC_STUB IHlink_Navigate_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
252   HRESULT WINAPI IHlink_SetAdditionalParams_Proxy(IHlink *This,LPCWSTR pwzAdditionalParams);
253   void __RPC_STUB IHlink_SetAdditionalParams_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
254   HRESULT WINAPI IHlink_GetAdditionalParams_Proxy(IHlink *This,LPWSTR *ppwzAdditionalParams);
255   void __RPC_STUB IHlink_GetAdditionalParams_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
256 #endif
257 #endif
258 
259 #ifndef _LPHLINKSITE_DEFINED
260 #define _LPHLINKSITE_DEFINED
261   EXTERN_C const GUID SID_SContainer;
262   extern RPC_IF_HANDLE __MIDL_itf_hlink_0217_v0_0_c_ifspec;
263   extern RPC_IF_HANDLE __MIDL_itf_hlink_0217_v0_0_s_ifspec;
264 #ifndef __IHlinkSite_INTERFACE_DEFINED__
265 #define __IHlinkSite_INTERFACE_DEFINED__
266   typedef IHlinkSite *LPHLINKSITE;
267 
268   typedef enum __MIDL_IHlinkSite_0001 {
269     HLINKWHICHMK_CONTAINER = 1,HLINKWHICHMK_BASE = 2
270   } HLINKWHICHMK;
271 
272   EXTERN_C const IID IID_IHlinkSite;
273 #if defined(__cplusplus) && !defined(CINTERFACE)
274   struct IHlinkSite : public IUnknown {
275   public:
276     virtual HRESULT WINAPI QueryService(DWORD dwSiteData,REFGUID guidService,REFIID riid,IUnknown **ppiunk) = 0;
277     virtual HRESULT WINAPI GetMoniker(DWORD dwSiteData,DWORD dwAssign,DWORD dwWhich,IMoniker **ppimk) = 0;
278     virtual HRESULT WINAPI ReadyToNavigate(DWORD dwSiteData,DWORD dwReserved) = 0;
279     virtual HRESULT WINAPI OnNavigationComplete(DWORD dwSiteData,DWORD dwreserved,HRESULT hrError,LPCWSTR pwzError) = 0;
280   };
281 #else
282   typedef struct IHlinkSiteVtbl {
283     BEGIN_INTERFACE
284       HRESULT (WINAPI *QueryInterface)(IHlinkSite *This,REFIID riid,void **ppvObject);
285       ULONG (WINAPI *AddRef)(IHlinkSite *This);
286       ULONG (WINAPI *Release)(IHlinkSite *This);
287       HRESULT (WINAPI *QueryService)(IHlinkSite *This,DWORD dwSiteData,REFGUID guidService,REFIID riid,IUnknown **ppiunk);
288       HRESULT (WINAPI *GetMoniker)(IHlinkSite *This,DWORD dwSiteData,DWORD dwAssign,DWORD dwWhich,IMoniker **ppimk);
289       HRESULT (WINAPI *ReadyToNavigate)(IHlinkSite *This,DWORD dwSiteData,DWORD dwReserved);
290       HRESULT (WINAPI *OnNavigationComplete)(IHlinkSite *This,DWORD dwSiteData,DWORD dwreserved,HRESULT hrError,LPCWSTR pwzError);
291     END_INTERFACE
292   } IHlinkSiteVtbl;
293   struct IHlinkSite {
294     CONST_VTBL struct IHlinkSiteVtbl *lpVtbl;
295   };
296 #ifdef COBJMACROS
297 #define IHlinkSite_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject)
298 #define IHlinkSite_AddRef(This) (This)->lpVtbl->AddRef(This)
299 #define IHlinkSite_Release(This) (This)->lpVtbl->Release(This)
300 #define IHlinkSite_QueryService(This,dwSiteData,guidService,riid,ppiunk) (This)->lpVtbl->QueryService(This,dwSiteData,guidService,riid,ppiunk)
301 #define IHlinkSite_GetMoniker(This,dwSiteData,dwAssign,dwWhich,ppimk) (This)->lpVtbl->GetMoniker(This,dwSiteData,dwAssign,dwWhich,ppimk)
302 #define IHlinkSite_ReadyToNavigate(This,dwSiteData,dwReserved) (This)->lpVtbl->ReadyToNavigate(This,dwSiteData,dwReserved)
303 #define IHlinkSite_OnNavigationComplete(This,dwSiteData,dwreserved,hrError,pwzError) (This)->lpVtbl->OnNavigationComplete(This,dwSiteData,dwreserved,hrError,pwzError)
304 #endif
305 #endif
306   HRESULT WINAPI IHlinkSite_QueryService_Proxy(IHlinkSite *This,DWORD dwSiteData,REFGUID guidService,REFIID riid,IUnknown **ppiunk);
307   void __RPC_STUB IHlinkSite_QueryService_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
308   HRESULT WINAPI IHlinkSite_GetMoniker_Proxy(IHlinkSite *This,DWORD dwSiteData,DWORD dwAssign,DWORD dwWhich,IMoniker **ppimk);
309   void __RPC_STUB IHlinkSite_GetMoniker_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
310   HRESULT WINAPI IHlinkSite_ReadyToNavigate_Proxy(IHlinkSite *This,DWORD dwSiteData,DWORD dwReserved);
311   void __RPC_STUB IHlinkSite_ReadyToNavigate_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
312   HRESULT WINAPI IHlinkSite_OnNavigationComplete_Proxy(IHlinkSite *This,DWORD dwSiteData,DWORD dwreserved,HRESULT hrError,LPCWSTR pwzError);
313   void __RPC_STUB IHlinkSite_OnNavigationComplete_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
314 #endif
315 #endif
316 
317 #ifndef _LPHLINKTARGET_DEFINED
318 #define _LPHLINKTARGET_DEFINED
319   extern RPC_IF_HANDLE __MIDL_itf_hlink_0218_v0_0_c_ifspec;
320   extern RPC_IF_HANDLE __MIDL_itf_hlink_0218_v0_0_s_ifspec;
321 #ifndef __IHlinkTarget_INTERFACE_DEFINED__
322 #define __IHlinkTarget_INTERFACE_DEFINED__
323   typedef IHlinkTarget *LPHLINKTARGET;
324   EXTERN_C const IID IID_IHlinkTarget;
325 #if defined(__cplusplus) && !defined(CINTERFACE)
326   struct IHlinkTarget : public IUnknown {
327   public:
328     virtual HRESULT WINAPI SetBrowseContext(IHlinkBrowseContext *pihlbc) = 0;
329     virtual HRESULT WINAPI GetBrowseContext(IHlinkBrowseContext **ppihlbc) = 0;
330     virtual HRESULT WINAPI Navigate(DWORD grfHLNF,LPCWSTR pwzJumpLocation) = 0;
331     virtual HRESULT WINAPI GetMoniker(LPCWSTR pwzLocation,DWORD dwAssign,IMoniker **ppimkLocation) = 0;
332     virtual HRESULT WINAPI GetFriendlyName(LPCWSTR pwzLocation,LPWSTR *ppwzFriendlyName) = 0;
333   };
334 #else
335   typedef struct IHlinkTargetVtbl {
336     BEGIN_INTERFACE
337       HRESULT (WINAPI *QueryInterface)(IHlinkTarget *This,REFIID riid,void **ppvObject);
338       ULONG (WINAPI *AddRef)(IHlinkTarget *This);
339       ULONG (WINAPI *Release)(IHlinkTarget *This);
340       HRESULT (WINAPI *SetBrowseContext)(IHlinkTarget *This,IHlinkBrowseContext *pihlbc);
341       HRESULT (WINAPI *GetBrowseContext)(IHlinkTarget *This,IHlinkBrowseContext **ppihlbc);
342       HRESULT (WINAPI *Navigate)(IHlinkTarget *This,DWORD grfHLNF,LPCWSTR pwzJumpLocation);
343       HRESULT (WINAPI *GetMoniker)(IHlinkTarget *This,LPCWSTR pwzLocation,DWORD dwAssign,IMoniker **ppimkLocation);
344       HRESULT (WINAPI *GetFriendlyName)(IHlinkTarget *This,LPCWSTR pwzLocation,LPWSTR *ppwzFriendlyName);
345     END_INTERFACE
346   } IHlinkTargetVtbl;
347   struct IHlinkTarget {
348     CONST_VTBL struct IHlinkTargetVtbl *lpVtbl;
349   };
350 #ifdef COBJMACROS
351 #define IHlinkTarget_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject)
352 #define IHlinkTarget_AddRef(This) (This)->lpVtbl->AddRef(This)
353 #define IHlinkTarget_Release(This) (This)->lpVtbl->Release(This)
354 #define IHlinkTarget_SetBrowseContext(This,pihlbc) (This)->lpVtbl->SetBrowseContext(This,pihlbc)
355 #define IHlinkTarget_GetBrowseContext(This,ppihlbc) (This)->lpVtbl->GetBrowseContext(This,ppihlbc)
356 #define IHlinkTarget_Navigate(This,grfHLNF,pwzJumpLocation) (This)->lpVtbl->Navigate(This,grfHLNF,pwzJumpLocation)
357 #define IHlinkTarget_GetMoniker(This,pwzLocation,dwAssign,ppimkLocation) (This)->lpVtbl->GetMoniker(This,pwzLocation,dwAssign,ppimkLocation)
358 #define IHlinkTarget_GetFriendlyName(This,pwzLocation,ppwzFriendlyName) (This)->lpVtbl->GetFriendlyName(This,pwzLocation,ppwzFriendlyName)
359 #endif
360 #endif
361   HRESULT WINAPI IHlinkTarget_SetBrowseContext_Proxy(IHlinkTarget *This,IHlinkBrowseContext *pihlbc);
362   void __RPC_STUB IHlinkTarget_SetBrowseContext_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
363   HRESULT WINAPI IHlinkTarget_GetBrowseContext_Proxy(IHlinkTarget *This,IHlinkBrowseContext **ppihlbc);
364   void __RPC_STUB IHlinkTarget_GetBrowseContext_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
365   HRESULT WINAPI IHlinkTarget_Navigate_Proxy(IHlinkTarget *This,DWORD grfHLNF,LPCWSTR pwzJumpLocation);
366   void __RPC_STUB IHlinkTarget_Navigate_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
367   HRESULT WINAPI IHlinkTarget_GetMoniker_Proxy(IHlinkTarget *This,LPCWSTR pwzLocation,DWORD dwAssign,IMoniker **ppimkLocation);
368   void __RPC_STUB IHlinkTarget_GetMoniker_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
369   HRESULT WINAPI IHlinkTarget_GetFriendlyName_Proxy(IHlinkTarget *This,LPCWSTR pwzLocation,LPWSTR *ppwzFriendlyName);
370   void __RPC_STUB IHlinkTarget_GetFriendlyName_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
371 #endif
372 #endif
373 
374 #ifndef _LPHLINKFRAME_DEFINED
375 #define _LPHLINKFRAME_DEFINED
376   EXTERN_C const GUID SID_SHlinkFrame;
377   extern RPC_IF_HANDLE __MIDL_itf_hlink_0219_v0_0_c_ifspec;
378   extern RPC_IF_HANDLE __MIDL_itf_hlink_0219_v0_0_s_ifspec;
379 #ifndef __IHlinkFrame_INTERFACE_DEFINED__
380 #define __IHlinkFrame_INTERFACE_DEFINED__
381   typedef IHlinkFrame *LPHLINKFRAME;
382 
383   EXTERN_C const IID IID_IHlinkFrame;
384 #if defined(__cplusplus) && !defined(CINTERFACE)
385   struct IHlinkFrame : public IUnknown {
386   public:
387     virtual HRESULT WINAPI SetBrowseContext(IHlinkBrowseContext *pihlbc) = 0;
388     virtual HRESULT WINAPI GetBrowseContext(IHlinkBrowseContext **ppihlbc) = 0;
389     virtual HRESULT WINAPI Navigate(DWORD grfHLNF,LPBC pbc,IBindStatusCallback *pibsc,IHlink *pihlNavigate) = 0;
390     virtual HRESULT WINAPI OnNavigate(DWORD grfHLNF,IMoniker *pimkTarget,LPCWSTR pwzLocation,LPCWSTR pwzFriendlyName,DWORD dwreserved) = 0;
391     virtual HRESULT WINAPI UpdateHlink(ULONG uHLID,IMoniker *pimkTarget,LPCWSTR pwzLocation,LPCWSTR pwzFriendlyName) = 0;
392   };
393 #else
394   typedef struct IHlinkFrameVtbl {
395     BEGIN_INTERFACE
396       HRESULT (WINAPI *QueryInterface)(IHlinkFrame *This,REFIID riid,void **ppvObject);
397       ULONG (WINAPI *AddRef)(IHlinkFrame *This);
398       ULONG (WINAPI *Release)(IHlinkFrame *This);
399       HRESULT (WINAPI *SetBrowseContext)(IHlinkFrame *This,IHlinkBrowseContext *pihlbc);
400       HRESULT (WINAPI *GetBrowseContext)(IHlinkFrame *This,IHlinkBrowseContext **ppihlbc);
401       HRESULT (WINAPI *Navigate)(IHlinkFrame *This,DWORD grfHLNF,LPBC pbc,IBindStatusCallback *pibsc,IHlink *pihlNavigate);
402       HRESULT (WINAPI *OnNavigate)(IHlinkFrame *This,DWORD grfHLNF,IMoniker *pimkTarget,LPCWSTR pwzLocation,LPCWSTR pwzFriendlyName,DWORD dwreserved);
403       HRESULT (WINAPI *UpdateHlink)(IHlinkFrame *This,ULONG uHLID,IMoniker *pimkTarget,LPCWSTR pwzLocation,LPCWSTR pwzFriendlyName);
404     END_INTERFACE
405   } IHlinkFrameVtbl;
406   struct IHlinkFrame {
407     CONST_VTBL struct IHlinkFrameVtbl *lpVtbl;
408   };
409 #ifdef COBJMACROS
410 #define IHlinkFrame_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject)
411 #define IHlinkFrame_AddRef(This) (This)->lpVtbl->AddRef(This)
412 #define IHlinkFrame_Release(This) (This)->lpVtbl->Release(This)
413 #define IHlinkFrame_SetBrowseContext(This,pihlbc) (This)->lpVtbl->SetBrowseContext(This,pihlbc)
414 #define IHlinkFrame_GetBrowseContext(This,ppihlbc) (This)->lpVtbl->GetBrowseContext(This,ppihlbc)
415 #define IHlinkFrame_Navigate(This,grfHLNF,pbc,pibsc,pihlNavigate) (This)->lpVtbl->Navigate(This,grfHLNF,pbc,pibsc,pihlNavigate)
416 #define IHlinkFrame_OnNavigate(This,grfHLNF,pimkTarget,pwzLocation,pwzFriendlyName,dwreserved) (This)->lpVtbl->OnNavigate(This,grfHLNF,pimkTarget,pwzLocation,pwzFriendlyName,dwreserved)
417 #define IHlinkFrame_UpdateHlink(This,uHLID,pimkTarget,pwzLocation,pwzFriendlyName) (This)->lpVtbl->UpdateHlink(This,uHLID,pimkTarget,pwzLocation,pwzFriendlyName)
418 #endif
419 #endif
420   HRESULT WINAPI IHlinkFrame_SetBrowseContext_Proxy(IHlinkFrame *This,IHlinkBrowseContext *pihlbc);
421   void __RPC_STUB IHlinkFrame_SetBrowseContext_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
422   HRESULT WINAPI IHlinkFrame_GetBrowseContext_Proxy(IHlinkFrame *This,IHlinkBrowseContext **ppihlbc);
423   void __RPC_STUB IHlinkFrame_GetBrowseContext_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
424   HRESULT WINAPI IHlinkFrame_Navigate_Proxy(IHlinkFrame *This,DWORD grfHLNF,LPBC pbc,IBindStatusCallback *pibsc,IHlink *pihlNavigate);
425   void __RPC_STUB IHlinkFrame_Navigate_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
426   HRESULT WINAPI IHlinkFrame_OnNavigate_Proxy(IHlinkFrame *This,DWORD grfHLNF,IMoniker *pimkTarget,LPCWSTR pwzLocation,LPCWSTR pwzFriendlyName,DWORD dwreserved);
427   void __RPC_STUB IHlinkFrame_OnNavigate_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
428   HRESULT WINAPI IHlinkFrame_UpdateHlink_Proxy(IHlinkFrame *This,ULONG uHLID,IMoniker *pimkTarget,LPCWSTR pwzLocation,LPCWSTR pwzFriendlyName);
429   void __RPC_STUB IHlinkFrame_UpdateHlink_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
430 #endif
431 #endif
432 
433 #ifndef _LPENUMHLITEM_DEFINED
434 #define _LPENUMHLITEM_DEFINED
435   extern RPC_IF_HANDLE __MIDL_itf_hlink_0220_v0_0_c_ifspec;
436   extern RPC_IF_HANDLE __MIDL_itf_hlink_0220_v0_0_s_ifspec;
437 
438 #ifndef __IEnumHLITEM_INTERFACE_DEFINED__
439 #define __IEnumHLITEM_INTERFACE_DEFINED__
440   typedef IEnumHLITEM *LPENUMHLITEM;
441   typedef struct tagHLITEM {
442     ULONG uHLID;
443     LPWSTR pwzFriendlyName;
444   } HLITEM;
445   typedef HLITEM *LPHLITEM;
446 
447   EXTERN_C const IID IID_IEnumHLITEM;
448 #if defined(__cplusplus) && !defined(CINTERFACE)
449   struct IEnumHLITEM : public IUnknown {
450   public:
451     virtual HRESULT WINAPI Next(ULONG celt,HLITEM *rgelt,ULONG *pceltFetched) = 0;
452     virtual HRESULT WINAPI Skip(ULONG celt) = 0;
453     virtual HRESULT WINAPI Reset(void) = 0;
454     virtual HRESULT WINAPI Clone(IEnumHLITEM **ppienumhlitem) = 0;
455   };
456 #else
457   typedef struct IEnumHLITEMVtbl {
458     BEGIN_INTERFACE
459       HRESULT (WINAPI *QueryInterface)(IEnumHLITEM *This,REFIID riid,void **ppvObject);
460       ULONG (WINAPI *AddRef)(IEnumHLITEM *This);
461       ULONG (WINAPI *Release)(IEnumHLITEM *This);
462       HRESULT (WINAPI *Next)(IEnumHLITEM *This,ULONG celt,HLITEM *rgelt,ULONG *pceltFetched);
463       HRESULT (WINAPI *Skip)(IEnumHLITEM *This,ULONG celt);
464       HRESULT (WINAPI *Reset)(IEnumHLITEM *This);
465       HRESULT (WINAPI *Clone)(IEnumHLITEM *This,IEnumHLITEM **ppienumhlitem);
466     END_INTERFACE
467   } IEnumHLITEMVtbl;
468   struct IEnumHLITEM {
469     CONST_VTBL struct IEnumHLITEMVtbl *lpVtbl;
470   };
471 #ifdef COBJMACROS
472 #define IEnumHLITEM_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject)
473 #define IEnumHLITEM_AddRef(This) (This)->lpVtbl->AddRef(This)
474 #define IEnumHLITEM_Release(This) (This)->lpVtbl->Release(This)
475 #define IEnumHLITEM_Next(This,celt,rgelt,pceltFetched) (This)->lpVtbl->Next(This,celt,rgelt,pceltFetched)
476 #define IEnumHLITEM_Skip(This,celt) (This)->lpVtbl->Skip(This,celt)
477 #define IEnumHLITEM_Reset(This) (This)->lpVtbl->Reset(This)
478 #define IEnumHLITEM_Clone(This,ppienumhlitem) (This)->lpVtbl->Clone(This,ppienumhlitem)
479 #endif
480 #endif
481   HRESULT WINAPI IEnumHLITEM_Next_Proxy(IEnumHLITEM *This,ULONG celt,HLITEM *rgelt,ULONG *pceltFetched);
482   void __RPC_STUB IEnumHLITEM_Next_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
483   HRESULT WINAPI IEnumHLITEM_Skip_Proxy(IEnumHLITEM *This,ULONG celt);
484   void __RPC_STUB IEnumHLITEM_Skip_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
485   HRESULT WINAPI IEnumHLITEM_Reset_Proxy(IEnumHLITEM *This);
486   void __RPC_STUB IEnumHLITEM_Reset_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
487   HRESULT WINAPI IEnumHLITEM_Clone_Proxy(IEnumHLITEM *This,IEnumHLITEM **ppienumhlitem);
488   void __RPC_STUB IEnumHLITEM_Clone_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
489 #endif
490 #endif
491 
492 #ifndef _LPHLINKBROWSECONTEXT_DEFINED
493 #define _LPHLINKBROWSECONTEXT_DEFINED
494   extern RPC_IF_HANDLE __MIDL_itf_hlink_0221_v0_0_c_ifspec;
495   extern RPC_IF_HANDLE __MIDL_itf_hlink_0221_v0_0_s_ifspec;
496 
497 #ifndef __IHlinkBrowseContext_INTERFACE_DEFINED__
498 #define __IHlinkBrowseContext_INTERFACE_DEFINED__
499   typedef IHlinkBrowseContext *LPHLINKBROWSECONTEXT;
500 
501   enum __MIDL_IHlinkBrowseContext_0001 {
502     HLTB_DOCKEDLEFT = 0,HLTB_DOCKEDTOP = 1,HLTB_DOCKEDRIGHT = 2,HLTB_DOCKEDBOTTOM = 3,HLTB_FLOATING = 4
503   };
504   typedef struct _tagHLTBINFO {
505     ULONG uDockType;
506     RECT rcTbPos;
507   } HLTBINFO;
508 
509   enum __MIDL_IHlinkBrowseContext_0002 {
510     HLBWIF_HASFRAMEWNDINFO = 0x1,HLBWIF_HASDOCWNDINFO = 0x2,HLBWIF_FRAMEWNDMAXIMIZED = 0x4,HLBWIF_DOCWNDMAXIMIZED = 0x8,
511     HLBWIF_HASWEBTOOLBARINFO = 0x10,HLBWIF_WEBTOOLBARHIDDEN = 0x20
512   };
513   typedef struct _tagHLBWINFO {
514     ULONG cbSize;
515     DWORD grfHLBWIF;
516     RECT rcFramePos;
517     RECT rcDocPos;
518     HLTBINFO hltbinfo;
519   } HLBWINFO;
520   typedef HLBWINFO *LPHLBWINFO;
521 
522   enum __MIDL_IHlinkBrowseContext_0003 {
523     HLID_INVALID = 0,HLID_PREVIOUS = 0xffffffff,HLID_NEXT = 0xfffffffe,HLID_CURRENT = 0xfffffffd,HLID_STACKBOTTOM = 0xfffffffc,
524     HLID_STACKTOP = 0xfffffffb
525   };
526 
527   enum __MIDL_IHlinkBrowseContext_0004 {
528     HLQF_ISVALID = 0x1,HLQF_ISCURRENT = 0x2
529   };
530 
531   EXTERN_C const IID IID_IHlinkBrowseContext;
532 #if defined(__cplusplus) && !defined(CINTERFACE)
533   struct IHlinkBrowseContext : public IUnknown {
534   public:
535     virtual HRESULT WINAPI Register(DWORD reserved,IUnknown *piunk,IMoniker *pimk,DWORD *pdwRegister) = 0;
536     virtual HRESULT WINAPI GetObject(IMoniker *pimk,WINBOOL fBindIfRootRegistered,IUnknown **ppiunk) = 0;
537     virtual HRESULT WINAPI Revoke(DWORD dwRegister) = 0;
538     virtual HRESULT WINAPI SetBrowseWindowInfo(HLBWINFO *phlbwi) = 0;
539     virtual HRESULT WINAPI GetBrowseWindowInfo(HLBWINFO *phlbwi) = 0;
540     virtual HRESULT WINAPI SetInitialHlink(IMoniker *pimkTarget,LPCWSTR pwzLocation,LPCWSTR pwzFriendlyName) = 0;
541     virtual HRESULT WINAPI OnNavigateHlink(DWORD grfHLNF,IMoniker *pimkTarget,LPCWSTR pwzLocation,LPCWSTR pwzFriendlyName,ULONG *puHLID) = 0;
542     virtual HRESULT WINAPI UpdateHlink(ULONG uHLID,IMoniker *pimkTarget,LPCWSTR pwzLocation,LPCWSTR pwzFriendlyName) = 0;
543     virtual HRESULT WINAPI EnumNavigationStack(DWORD dwReserved,DWORD grfHLFNAMEF,IEnumHLITEM **ppienumhlitem) = 0;
544     virtual HRESULT WINAPI QueryHlink(DWORD grfHLQF,ULONG uHLID) = 0;
545     virtual HRESULT WINAPI GetHlink(ULONG uHLID,IHlink **ppihl) = 0;
546     virtual HRESULT WINAPI SetCurrentHlink(ULONG uHLID) = 0;
547     virtual HRESULT WINAPI Clone(IUnknown *piunkOuter,REFIID riid,IUnknown **ppiunkObj) = 0;
548     virtual HRESULT WINAPI Close(DWORD reserved) = 0;
549   };
550 #else
551   typedef struct IHlinkBrowseContextVtbl {
552     BEGIN_INTERFACE
553       HRESULT (WINAPI *QueryInterface)(IHlinkBrowseContext *This,REFIID riid,void **ppvObject);
554       ULONG (WINAPI *AddRef)(IHlinkBrowseContext *This);
555       ULONG (WINAPI *Release)(IHlinkBrowseContext *This);
556       HRESULT (WINAPI *Register)(IHlinkBrowseContext *This,DWORD reserved,IUnknown *piunk,IMoniker *pimk,DWORD *pdwRegister);
557       HRESULT (WINAPI *GetObject)(IHlinkBrowseContext *This,IMoniker *pimk,WINBOOL fBindIfRootRegistered,IUnknown **ppiunk);
558       HRESULT (WINAPI *Revoke)(IHlinkBrowseContext *This,DWORD dwRegister);
559       HRESULT (WINAPI *SetBrowseWindowInfo)(IHlinkBrowseContext *This,HLBWINFO *phlbwi);
560       HRESULT (WINAPI *GetBrowseWindowInfo)(IHlinkBrowseContext *This,HLBWINFO *phlbwi);
561       HRESULT (WINAPI *SetInitialHlink)(IHlinkBrowseContext *This,IMoniker *pimkTarget,LPCWSTR pwzLocation,LPCWSTR pwzFriendlyName);
562       HRESULT (WINAPI *OnNavigateHlink)(IHlinkBrowseContext *This,DWORD grfHLNF,IMoniker *pimkTarget,LPCWSTR pwzLocation,LPCWSTR pwzFriendlyName,ULONG *puHLID);
563       HRESULT (WINAPI *UpdateHlink)(IHlinkBrowseContext *This,ULONG uHLID,IMoniker *pimkTarget,LPCWSTR pwzLocation,LPCWSTR pwzFriendlyName);
564       HRESULT (WINAPI *EnumNavigationStack)(IHlinkBrowseContext *This,DWORD dwReserved,DWORD grfHLFNAMEF,IEnumHLITEM **ppienumhlitem);
565       HRESULT (WINAPI *QueryHlink)(IHlinkBrowseContext *This,DWORD grfHLQF,ULONG uHLID);
566       HRESULT (WINAPI *GetHlink)(IHlinkBrowseContext *This,ULONG uHLID,IHlink **ppihl);
567       HRESULT (WINAPI *SetCurrentHlink)(IHlinkBrowseContext *This,ULONG uHLID);
568       HRESULT (WINAPI *Clone)(IHlinkBrowseContext *This,IUnknown *piunkOuter,REFIID riid,IUnknown **ppiunkObj);
569       HRESULT (WINAPI *Close)(IHlinkBrowseContext *This,DWORD reserved);
570     END_INTERFACE
571   } IHlinkBrowseContextVtbl;
572   struct IHlinkBrowseContext {
573     CONST_VTBL struct IHlinkBrowseContextVtbl *lpVtbl;
574   };
575 #ifdef COBJMACROS
576 #define IHlinkBrowseContext_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject)
577 #define IHlinkBrowseContext_AddRef(This) (This)->lpVtbl->AddRef(This)
578 #define IHlinkBrowseContext_Release(This) (This)->lpVtbl->Release(This)
579 #define IHlinkBrowseContext_Register(This,reserved,piunk,pimk,pdwRegister) (This)->lpVtbl->Register(This,reserved,piunk,pimk,pdwRegister)
580 #define IHlinkBrowseContext_GetObject(This,pimk,fBindIfRootRegistered,ppiunk) (This)->lpVtbl->GetObject(This,pimk,fBindIfRootRegistered,ppiunk)
581 #define IHlinkBrowseContext_Revoke(This,dwRegister) (This)->lpVtbl->Revoke(This,dwRegister)
582 #define IHlinkBrowseContext_SetBrowseWindowInfo(This,phlbwi) (This)->lpVtbl->SetBrowseWindowInfo(This,phlbwi)
583 #define IHlinkBrowseContext_GetBrowseWindowInfo(This,phlbwi) (This)->lpVtbl->GetBrowseWindowInfo(This,phlbwi)
584 #define IHlinkBrowseContext_SetInitialHlink(This,pimkTarget,pwzLocation,pwzFriendlyName) (This)->lpVtbl->SetInitialHlink(This,pimkTarget,pwzLocation,pwzFriendlyName)
585 #define IHlinkBrowseContext_OnNavigateHlink(This,grfHLNF,pimkTarget,pwzLocation,pwzFriendlyName,puHLID) (This)->lpVtbl->OnNavigateHlink(This,grfHLNF,pimkTarget,pwzLocation,pwzFriendlyName,puHLID)
586 #define IHlinkBrowseContext_UpdateHlink(This,uHLID,pimkTarget,pwzLocation,pwzFriendlyName) (This)->lpVtbl->UpdateHlink(This,uHLID,pimkTarget,pwzLocation,pwzFriendlyName)
587 #define IHlinkBrowseContext_EnumNavigationStack(This,dwReserved,grfHLFNAMEF,ppienumhlitem) (This)->lpVtbl->EnumNavigationStack(This,dwReserved,grfHLFNAMEF,ppienumhlitem)
588 #define IHlinkBrowseContext_QueryHlink(This,grfHLQF,uHLID) (This)->lpVtbl->QueryHlink(This,grfHLQF,uHLID)
589 #define IHlinkBrowseContext_GetHlink(This,uHLID,ppihl) (This)->lpVtbl->GetHlink(This,uHLID,ppihl)
590 #define IHlinkBrowseContext_SetCurrentHlink(This,uHLID) (This)->lpVtbl->SetCurrentHlink(This,uHLID)
591 #define IHlinkBrowseContext_Clone(This,piunkOuter,riid,ppiunkObj) (This)->lpVtbl->Clone(This,piunkOuter,riid,ppiunkObj)
592 #define IHlinkBrowseContext_Close(This,reserved) (This)->lpVtbl->Close(This,reserved)
593 #endif
594 #endif
595   HRESULT WINAPI IHlinkBrowseContext_Register_Proxy(IHlinkBrowseContext *This,DWORD reserved,IUnknown *piunk,IMoniker *pimk,DWORD *pdwRegister);
596   void __RPC_STUB IHlinkBrowseContext_Register_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
597   HRESULT WINAPI IHlinkBrowseContext_GetObject_Proxy(IHlinkBrowseContext *This,IMoniker *pimk,WINBOOL fBindIfRootRegistered,IUnknown **ppiunk);
598   void __RPC_STUB IHlinkBrowseContext_GetObject_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
599   HRESULT WINAPI IHlinkBrowseContext_Revoke_Proxy(IHlinkBrowseContext *This,DWORD dwRegister);
600   void __RPC_STUB IHlinkBrowseContext_Revoke_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
601   HRESULT WINAPI IHlinkBrowseContext_SetBrowseWindowInfo_Proxy(IHlinkBrowseContext *This,HLBWINFO *phlbwi);
602   void __RPC_STUB IHlinkBrowseContext_SetBrowseWindowInfo_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
603   HRESULT WINAPI IHlinkBrowseContext_GetBrowseWindowInfo_Proxy(IHlinkBrowseContext *This,HLBWINFO *phlbwi);
604   void __RPC_STUB IHlinkBrowseContext_GetBrowseWindowInfo_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
605   HRESULT WINAPI IHlinkBrowseContext_SetInitialHlink_Proxy(IHlinkBrowseContext *This,IMoniker *pimkTarget,LPCWSTR pwzLocation,LPCWSTR pwzFriendlyName);
606   void __RPC_STUB IHlinkBrowseContext_SetInitialHlink_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
607   HRESULT WINAPI IHlinkBrowseContext_OnNavigateHlink_Proxy(IHlinkBrowseContext *This,DWORD grfHLNF,IMoniker *pimkTarget,LPCWSTR pwzLocation,LPCWSTR pwzFriendlyName,ULONG *puHLID);
608   void __RPC_STUB IHlinkBrowseContext_OnNavigateHlink_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
609   HRESULT WINAPI IHlinkBrowseContext_UpdateHlink_Proxy(IHlinkBrowseContext *This,ULONG uHLID,IMoniker *pimkTarget,LPCWSTR pwzLocation,LPCWSTR pwzFriendlyName);
610   void __RPC_STUB IHlinkBrowseContext_UpdateHlink_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
611   HRESULT WINAPI IHlinkBrowseContext_EnumNavigationStack_Proxy(IHlinkBrowseContext *This,DWORD dwReserved,DWORD grfHLFNAMEF,IEnumHLITEM **ppienumhlitem);
612   void __RPC_STUB IHlinkBrowseContext_EnumNavigationStack_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
613   HRESULT WINAPI IHlinkBrowseContext_QueryHlink_Proxy(IHlinkBrowseContext *This,DWORD grfHLQF,ULONG uHLID);
614   void __RPC_STUB IHlinkBrowseContext_QueryHlink_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
615   HRESULT WINAPI IHlinkBrowseContext_GetHlink_Proxy(IHlinkBrowseContext *This,ULONG uHLID,IHlink **ppihl);
616   void __RPC_STUB IHlinkBrowseContext_GetHlink_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
617   HRESULT WINAPI IHlinkBrowseContext_SetCurrentHlink_Proxy(IHlinkBrowseContext *This,ULONG uHLID);
618   void __RPC_STUB IHlinkBrowseContext_SetCurrentHlink_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
619   HRESULT WINAPI IHlinkBrowseContext_Clone_Proxy(IHlinkBrowseContext *This,IUnknown *piunkOuter,REFIID riid,IUnknown **ppiunkObj);
620   void __RPC_STUB IHlinkBrowseContext_Clone_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
621   HRESULT WINAPI IHlinkBrowseContext_Close_Proxy(IHlinkBrowseContext *This,DWORD reserved);
622   void __RPC_STUB IHlinkBrowseContext_Close_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
623 #endif
624 #endif
625 
626 #ifndef _LPEXTENSIONSERVICES_DEFINED
627 #define _LPEXTENSIONSERVICES_DEFINED
628   extern RPC_IF_HANDLE __MIDL_itf_hlink_0222_v0_0_c_ifspec;
629   extern RPC_IF_HANDLE __MIDL_itf_hlink_0222_v0_0_s_ifspec;
630 
631 #ifndef __IExtensionServices_INTERFACE_DEFINED__
632 #define __IExtensionServices_INTERFACE_DEFINED__
633   typedef IExtensionServices *LPEXTENSIONSERVICES;
634 
635   EXTERN_C const IID IID_IExtensionServices;
636 #if defined(__cplusplus) && !defined(CINTERFACE)
637   struct IExtensionServices : public IUnknown {
638   public:
639     virtual HRESULT WINAPI SetAdditionalHeaders(LPCWSTR pwzAdditionalHeaders) = 0;
640     virtual HRESULT WINAPI SetAuthenticateData(HWND phwnd,LPCWSTR pwzUsername,LPCWSTR pwzPassword) = 0;
641   };
642 #else
643   typedef struct IExtensionServicesVtbl {
644     BEGIN_INTERFACE
645       HRESULT (WINAPI *QueryInterface)(IExtensionServices *This,REFIID riid,void **ppvObject);
646       ULONG (WINAPI *AddRef)(IExtensionServices *This);
647       ULONG (WINAPI *Release)(IExtensionServices *This);
648       HRESULT (WINAPI *SetAdditionalHeaders)(IExtensionServices *This,LPCWSTR pwzAdditionalHeaders);
649       HRESULT (WINAPI *SetAuthenticateData)(IExtensionServices *This,HWND phwnd,LPCWSTR pwzUsername,LPCWSTR pwzPassword);
650     END_INTERFACE
651   } IExtensionServicesVtbl;
652   struct IExtensionServices {
653     CONST_VTBL struct IExtensionServicesVtbl *lpVtbl;
654   };
655 #ifdef COBJMACROS
656 #define IExtensionServices_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject)
657 #define IExtensionServices_AddRef(This) (This)->lpVtbl->AddRef(This)
658 #define IExtensionServices_Release(This) (This)->lpVtbl->Release(This)
659 #define IExtensionServices_SetAdditionalHeaders(This,pwzAdditionalHeaders) (This)->lpVtbl->SetAdditionalHeaders(This,pwzAdditionalHeaders)
660 #define IExtensionServices_SetAuthenticateData(This,phwnd,pwzUsername,pwzPassword) (This)->lpVtbl->SetAuthenticateData(This,phwnd,pwzUsername,pwzPassword)
661 #endif
662 #endif
663   HRESULT WINAPI IExtensionServices_SetAdditionalHeaders_Proxy(IExtensionServices *This,LPCWSTR pwzAdditionalHeaders);
664   void __RPC_STUB IExtensionServices_SetAdditionalHeaders_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
665   HRESULT WINAPI IExtensionServices_SetAuthenticateData_Proxy(IExtensionServices *This,HWND phwnd,LPCWSTR pwzUsername,LPCWSTR pwzPassword);
666   void __RPC_STUB IExtensionServices_SetAuthenticateData_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
667 #endif
668 #endif
669 #endif
670 
671   extern RPC_IF_HANDLE __MIDL_itf_hlink_0223_v0_0_c_ifspec;
672   extern RPC_IF_HANDLE __MIDL_itf_hlink_0223_v0_0_s_ifspec;
673 
674 #ifdef __cplusplus
675 }
676 #endif
677 #endif
678