comparison fuhtark_test/include/winapi/urlmon.h @ 1500:91c8c3b7cbf0

add: futhark tests for generating vulkan api
author sam <sam@basx.dev>
date Wed, 26 Nov 2025 21:36:48 +0700
parents
children
comparison
equal deleted inserted replaced
1499:1f58458b7ef7 1500:91c8c3b7cbf0
1 /**
2 * This file has no copyright assigned and is placed in the Public Domain.
3 * This file is part of the w64 mingw-runtime package.
4 * No warranty is given; refer to the file DISCLAIMER 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 __urlmon_h__
23 #define __urlmon_h__
24
25 #ifndef __IPersistMoniker_FWD_DEFINED__
26 #define __IPersistMoniker_FWD_DEFINED__
27 typedef struct IPersistMoniker IPersistMoniker;
28 #endif
29
30 #ifndef __IMonikerProp_FWD_DEFINED__
31 #define __IMonikerProp_FWD_DEFINED__
32 typedef struct IMonikerProp IMonikerProp;
33 #endif
34
35 #ifndef __IBindProtocol_FWD_DEFINED__
36 #define __IBindProtocol_FWD_DEFINED__
37 typedef struct IBindProtocol IBindProtocol;
38 #endif
39
40 #ifndef __IBinding_FWD_DEFINED__
41 #define __IBinding_FWD_DEFINED__
42 typedef struct IBinding IBinding;
43 #endif
44
45 #ifndef __IBindStatusCallback_FWD_DEFINED__
46 #define __IBindStatusCallback_FWD_DEFINED__
47 typedef struct IBindStatusCallback IBindStatusCallback;
48 #endif
49
50 #ifndef __IAuthenticate_FWD_DEFINED__
51 #define __IAuthenticate_FWD_DEFINED__
52 typedef struct IAuthenticate IAuthenticate;
53 #endif
54
55 #ifndef __IHttpNegotiate_FWD_DEFINED__
56 #define __IHttpNegotiate_FWD_DEFINED__
57 typedef struct IHttpNegotiate IHttpNegotiate;
58 #endif
59
60 #ifndef __IHttpNegotiate2_FWD_DEFINED__
61 #define __IHttpNegotiate2_FWD_DEFINED__
62 typedef struct IHttpNegotiate2 IHttpNegotiate2;
63 #endif
64
65 #ifndef __IWinInetFileStream_FWD_DEFINED__
66 #define __IWinInetFileStream_FWD_DEFINED__
67 typedef struct IWinInetFileStream IWinInetFileStream;
68 #endif
69
70 #ifndef __IWindowForBindingUI_FWD_DEFINED__
71 #define __IWindowForBindingUI_FWD_DEFINED__
72 typedef struct IWindowForBindingUI IWindowForBindingUI;
73 #endif
74
75 #ifndef __ICodeInstall_FWD_DEFINED__
76 #define __ICodeInstall_FWD_DEFINED__
77 typedef struct ICodeInstall ICodeInstall;
78 #endif
79
80 #ifndef __IWinInetInfo_FWD_DEFINED__
81 #define __IWinInetInfo_FWD_DEFINED__
82 typedef struct IWinInetInfo IWinInetInfo;
83 #endif
84
85 #ifndef __IHttpSecurity_FWD_DEFINED__
86 #define __IHttpSecurity_FWD_DEFINED__
87 typedef struct IHttpSecurity IHttpSecurity;
88 #endif
89
90 #ifndef __IWinInetHttpInfo_FWD_DEFINED__
91 #define __IWinInetHttpInfo_FWD_DEFINED__
92 typedef struct IWinInetHttpInfo IWinInetHttpInfo;
93 #endif
94
95 #ifndef __IWinInetCacheHints_FWD_DEFINED__
96 #define __IWinInetCacheHints_FWD_DEFINED__
97 typedef struct IWinInetCacheHints IWinInetCacheHints;
98 #endif
99
100 #ifndef __IBindHost_FWD_DEFINED__
101 #define __IBindHost_FWD_DEFINED__
102 typedef struct IBindHost IBindHost;
103 #endif
104
105 #ifndef __IInternet_FWD_DEFINED__
106 #define __IInternet_FWD_DEFINED__
107 typedef struct IInternet IInternet;
108 #endif
109
110 #ifndef __IInternetBindInfo_FWD_DEFINED__
111 #define __IInternetBindInfo_FWD_DEFINED__
112 typedef struct IInternetBindInfo IInternetBindInfo;
113 #endif
114
115 #ifndef __IInternetProtocolRoot_FWD_DEFINED__
116 #define __IInternetProtocolRoot_FWD_DEFINED__
117 typedef struct IInternetProtocolRoot IInternetProtocolRoot;
118 #endif
119
120 #ifndef __IInternetProtocol_FWD_DEFINED__
121 #define __IInternetProtocol_FWD_DEFINED__
122 typedef struct IInternetProtocol IInternetProtocol;
123 #endif
124
125 #ifndef __IInternetProtocolSink_FWD_DEFINED__
126 #define __IInternetProtocolSink_FWD_DEFINED__
127 typedef struct IInternetProtocolSink IInternetProtocolSink;
128 #endif
129
130 #ifndef __IInternetProtocolSinkStackable_FWD_DEFINED__
131 #define __IInternetProtocolSinkStackable_FWD_DEFINED__
132 typedef struct IInternetProtocolSinkStackable IInternetProtocolSinkStackable;
133 #endif
134
135 #ifndef __IInternetSession_FWD_DEFINED__
136 #define __IInternetSession_FWD_DEFINED__
137 typedef struct IInternetSession IInternetSession;
138 #endif
139
140 #ifndef __IInternetThreadSwitch_FWD_DEFINED__
141 #define __IInternetThreadSwitch_FWD_DEFINED__
142 typedef struct IInternetThreadSwitch IInternetThreadSwitch;
143 #endif
144
145 #ifndef __IInternetPriority_FWD_DEFINED__
146 #define __IInternetPriority_FWD_DEFINED__
147 typedef struct IInternetPriority IInternetPriority;
148 #endif
149
150 #ifndef __IInternetProtocolInfo_FWD_DEFINED__
151 #define __IInternetProtocolInfo_FWD_DEFINED__
152 typedef struct IInternetProtocolInfo IInternetProtocolInfo;
153 #endif
154
155 #ifndef __IInternetSecurityMgrSite_FWD_DEFINED__
156 #define __IInternetSecurityMgrSite_FWD_DEFINED__
157 typedef struct IInternetSecurityMgrSite IInternetSecurityMgrSite;
158 #endif
159
160 #ifndef __IInternetSecurityManager_FWD_DEFINED__
161 #define __IInternetSecurityManager_FWD_DEFINED__
162 typedef struct IInternetSecurityManager IInternetSecurityManager;
163 #endif
164
165 #ifndef __IInternetSecurityManagerEx_FWD_DEFINED__
166 #define __IInternetSecurityManagerEx_FWD_DEFINED__
167 typedef struct IInternetSecurityManagerEx IInternetSecurityManagerEx;
168 #endif
169
170 #ifndef __IZoneIdentifier_FWD_DEFINED__
171 #define __IZoneIdentifier_FWD_DEFINED__
172 typedef struct IZoneIdentifier IZoneIdentifier;
173 #endif
174
175 #ifndef __IInternetHostSecurityManager_FWD_DEFINED__
176 #define __IInternetHostSecurityManager_FWD_DEFINED__
177 typedef struct IInternetHostSecurityManager IInternetHostSecurityManager;
178 #endif
179
180 #ifndef __IInternetZoneManager_FWD_DEFINED__
181 #define __IInternetZoneManager_FWD_DEFINED__
182 typedef struct IInternetZoneManager IInternetZoneManager;
183 #endif
184
185 #ifndef __IInternetZoneManagerEx_FWD_DEFINED__
186 #define __IInternetZoneManagerEx_FWD_DEFINED__
187 typedef struct IInternetZoneManagerEx IInternetZoneManagerEx;
188 #endif
189
190 #ifndef __ISoftDistExt_FWD_DEFINED__
191 #define __ISoftDistExt_FWD_DEFINED__
192 typedef struct ISoftDistExt ISoftDistExt;
193 #endif
194
195 #ifndef __ICatalogFileInfo_FWD_DEFINED__
196 #define __ICatalogFileInfo_FWD_DEFINED__
197 typedef struct ICatalogFileInfo ICatalogFileInfo;
198 #endif
199
200 #ifndef __IDataFilter_FWD_DEFINED__
201 #define __IDataFilter_FWD_DEFINED__
202 typedef struct IDataFilter IDataFilter;
203 #endif
204
205 #ifndef __IEncodingFilterFactory_FWD_DEFINED__
206 #define __IEncodingFilterFactory_FWD_DEFINED__
207 typedef struct IEncodingFilterFactory IEncodingFilterFactory;
208 #endif
209
210 #ifndef __IWrappedProtocol_FWD_DEFINED__
211 #define __IWrappedProtocol_FWD_DEFINED__
212 typedef struct IWrappedProtocol IWrappedProtocol;
213 #endif
214
215 #include "objidl.h"
216 #include "oleidl.h"
217 #include "servprov.h"
218 #include "msxml2.h"
219
220 #ifdef __cplusplus
221 extern "C" {
222 #endif
223
224 #ifndef __MIDL_user_allocate_free_DEFINED__
225 #define __MIDL_user_allocate_free_DEFINED__
226 void *__RPC_API MIDL_user_allocate(size_t);
227 void __RPC_API MIDL_user_free(void *);
228 #endif
229
230 EXTERN_C const IID CLSID_SBS_StdURLMoniker;
231 EXTERN_C const IID CLSID_SBS_HttpProtocol;
232 EXTERN_C const IID CLSID_SBS_FtpProtocol;
233 EXTERN_C const IID CLSID_SBS_GopherProtocol;
234 EXTERN_C const IID CLSID_SBS_HttpSProtocol;
235 EXTERN_C const IID CLSID_SBS_FileProtocol;
236 EXTERN_C const IID CLSID_SBS_MkProtocol;
237 EXTERN_C const IID CLSID_SBS_UrlMkBindCtx;
238 EXTERN_C const IID CLSID_SBS_SoftDistExt;
239 EXTERN_C const IID CLSID_SBS_StdEncodingFilterFac;
240 EXTERN_C const IID CLSID_SBS_DeCompMimeFilter;
241 EXTERN_C const IID CLSID_SBS_CdlProtocol;
242 EXTERN_C const IID CLSID_SBS_ClassInstallFilter;
243 EXTERN_C const IID CLSID_SBS_InternetSecurityManager;
244 EXTERN_C const IID CLSID_SBS_InternetZoneManager;
245
246 #define BINDF_DONTUSECACHE BINDF_GETNEWESTVERSION
247 #define BINDF_DONTPUTINCACHE BINDF_NOWRITECACHE
248 #define BINDF_NOCOPYDATA BINDF_PULLDATA
249 #define INVALID_P_ROOT_SECURITY_ID ((BYTE*)-1)
250 #define PI_DOCFILECLSIDLOOKUP PI_CLSIDLOOKUP
251 EXTERN_C const IID IID_IAsyncMoniker;
252 EXTERN_C const IID CLSID_StdURLMoniker;
253 EXTERN_C const IID CLSID_HttpProtocol;
254 EXTERN_C const IID CLSID_FtpProtocol;
255 EXTERN_C const IID CLSID_GopherProtocol;
256 EXTERN_C const IID CLSID_HttpSProtocol;
257 EXTERN_C const IID CLSID_FileProtocol;
258 EXTERN_C const IID CLSID_MkProtocol;
259 EXTERN_C const IID CLSID_StdURLProtocol;
260 EXTERN_C const IID CLSID_UrlMkBindCtx;
261 EXTERN_C const IID CLSID_StdEncodingFilterFac;
262 EXTERN_C const IID CLSID_DeCompMimeFilter;
263 EXTERN_C const IID CLSID_CdlProtocol;
264 EXTERN_C const IID CLSID_ClassInstallFilter;
265 EXTERN_C const IID IID_IAsyncBindCtx;
266
267 #define SZ_URLCONTEXT OLESTR("URL Context")
268 #define SZ_ASYNC_CALLEE OLESTR("AsyncCallee")
269 #define MKSYS_URLMONIKER 6
270 #define URL_MK_LEGACY 0
271 #define URL_MK_UNIFORM 1
272 #define URL_MK_NO_CANONICALIZE 2
273
274 STDAPI CreateURLMoniker(LPMONIKER pMkCtx,LPCWSTR szURL,LPMONIKER *ppmk);
275 STDAPI CreateURLMonikerEx(LPMONIKER pMkCtx,LPCWSTR szURL,LPMONIKER *ppmk,DWORD dwFlags);
276 STDAPI GetClassURL(LPCWSTR szURL,CLSID *pClsID);
277 STDAPI CreateAsyncBindCtx(DWORD reserved,IBindStatusCallback *pBSCb,IEnumFORMATETC *pEFetc,IBindCtx **ppBC);
278 STDAPI CreateAsyncBindCtxEx(IBindCtx *pbc,DWORD dwOptions,IBindStatusCallback *pBSCb,IEnumFORMATETC *pEnum,IBindCtx **ppBC,DWORD reserved);
279 STDAPI MkParseDisplayNameEx(IBindCtx *pbc,LPCWSTR szDisplayName,ULONG *pchEaten,LPMONIKER *ppmk);
280 STDAPI RegisterBindStatusCallback(LPBC pBC,IBindStatusCallback *pBSCb,IBindStatusCallback **ppBSCBPrev,DWORD dwReserved);
281 STDAPI RevokeBindStatusCallback(LPBC pBC,IBindStatusCallback *pBSCb);
282 STDAPI GetClassFileOrMime(LPBC pBC,LPCWSTR szFilename,LPVOID pBuffer,DWORD cbSize,LPCWSTR szMime,DWORD dwReserved,CLSID *pclsid);
283 STDAPI IsValidURL(LPBC pBC,LPCWSTR szURL,DWORD dwReserved);
284 STDAPI CoGetClassObjectFromURL(REFCLSID rCLASSID,LPCWSTR szCODE,DWORD dwFileVersionMS,DWORD dwFileVersionLS,LPCWSTR szTYPE,LPBINDCTX pBindCtx,DWORD dwClsContext,LPVOID pvReserved,REFIID riid,LPVOID *ppv);
285 STDAPI FaultInIEFeature(HWND hWnd,uCLSSPEC *pClassSpec,QUERYCONTEXT *pQuery,DWORD dwFlags);
286 STDAPI GetComponentIDFromCLSSPEC(uCLSSPEC *pClassspec,LPSTR *ppszComponentID);
287
288 #define FIEF_FLAG_FORCE_JITUI 0x1
289
290 #define FIEF_FLAG_PEEK 0x2
291 #define FIEF_FLAG_SKIP_INSTALLED_VERSION_CHECK 0x4
292
293 STDAPI IsAsyncMoniker(IMoniker *pmk);
294 STDAPI CreateURLBinding(LPCWSTR lpszUrl,IBindCtx *pbc,IBinding **ppBdg);
295 STDAPI RegisterMediaTypes(UINT ctypes,const LPCSTR *rgszTypes,CLIPFORMAT *rgcfTypes);
296 STDAPI FindMediaType(LPCSTR rgszTypes,CLIPFORMAT *rgcfTypes);
297 STDAPI CreateFormatEnumerator(UINT cfmtetc,FORMATETC *rgfmtetc,IEnumFORMATETC **ppenumfmtetc);
298 STDAPI RegisterFormatEnumerator(LPBC pBC,IEnumFORMATETC *pEFetc,DWORD reserved);
299 STDAPI RevokeFormatEnumerator(LPBC pBC,IEnumFORMATETC *pEFetc);
300 STDAPI RegisterMediaTypeClass(LPBC pBC,UINT ctypes,const LPCSTR *rgszTypes,CLSID *rgclsID,DWORD reserved);
301 STDAPI FindMediaTypeClass(LPBC pBC,LPCSTR szType,CLSID *pclsID,DWORD reserved);
302 STDAPI UrlMkSetSessionOption(DWORD dwOption,LPVOID pBuffer,DWORD dwBufferLength,DWORD dwReserved);
303 STDAPI UrlMkGetSessionOption(DWORD dwOption,LPVOID pBuffer,DWORD dwBufferLength,DWORD *pdwBufferLength,DWORD dwReserved);
304 STDAPI FindMimeFromData(LPBC pBC,LPCWSTR pwzUrl,LPVOID pBuffer,DWORD cbSize,LPCWSTR pwzMimeProposed,DWORD dwMimeFlags,LPWSTR *ppwzMimeOut,DWORD dwReserved);
305 #define FMFD_DEFAULT 0x00000000
306 #define FMFD_URLASFILENAME 0x00000001
307 #define FMFD_ENABLEMIMESNIFFING 0x00000002
308 #define FMFD_IGNOREMIMETEXTPLAIN 0x00000004
309 STDAPI ObtainUserAgentString(DWORD dwOption,LPSTR pszUAOut,DWORD *cbSize);
310 STDAPI CompareSecurityIds(BYTE *pbSecurityId1,DWORD dwLen1,BYTE *pbSecurityId2,DWORD dwLen2,DWORD dwReserved);
311 STDAPI CompatFlagsFromClsid(CLSID *pclsid,LPDWORD pdwCompatFlags,LPDWORD pdwMiscStatusFlags);
312
313 #define URLMON_OPTION_USERAGENT 0x10000001
314 #define URLMON_OPTION_USERAGENT_REFRESH 0x10000002
315 #define URLMON_OPTION_URL_ENCODING 0x10000004
316 #define URLMON_OPTION_USE_BINDSTRINGCREDS 0x10000008
317
318 #define CF_NULL 0
319 #define CFSTR_MIME_NULL NULL
320 #define CFSTR_MIME_TEXT (TEXT("text/plain"))
321 #define CFSTR_MIME_RICHTEXT (TEXT("text/richtext"))
322 #define CFSTR_MIME_X_BITMAP (TEXT("image/x-xbitmap"))
323 #define CFSTR_MIME_POSTSCRIPT (TEXT("application/postscript"))
324 #define CFSTR_MIME_AIFF (TEXT("audio/aiff"))
325 #define CFSTR_MIME_BASICAUDIO (TEXT("audio/basic"))
326 #define CFSTR_MIME_WAV (TEXT("audio/wav"))
327 #define CFSTR_MIME_X_WAV (TEXT("audio/x-wav"))
328 #define CFSTR_MIME_GIF (TEXT("image/gif"))
329 #define CFSTR_MIME_PJPEG (TEXT("image/pjpeg"))
330 #define CFSTR_MIME_JPEG (TEXT("image/jpeg"))
331 #define CFSTR_MIME_TIFF (TEXT("image/tiff"))
332 #define CFSTR_MIME_X_PNG (TEXT("image/x-png"))
333 #define CFSTR_MIME_BMP (TEXT("image/bmp"))
334 #define CFSTR_MIME_X_ART (TEXT("image/x-jg"))
335 #define CFSTR_MIME_X_EMF (TEXT("image/x-emf"))
336 #define CFSTR_MIME_X_WMF (TEXT("image/x-wmf"))
337 #define CFSTR_MIME_AVI (TEXT("video/avi"))
338 #define CFSTR_MIME_MPEG (TEXT("video/mpeg"))
339 #define CFSTR_MIME_FRACTALS (TEXT("application/fractals"))
340 #define CFSTR_MIME_RAWDATA (TEXT("application/octet-stream"))
341 #define CFSTR_MIME_RAWDATASTRM (TEXT("application/octet-stream"))
342 #define CFSTR_MIME_PDF (TEXT("application/pdf"))
343 #define CFSTR_MIME_HTA (TEXT("application/hta"))
344 #define CFSTR_MIME_X_AIFF (TEXT("audio/x-aiff"))
345 #define CFSTR_MIME_X_REALAUDIO (TEXT("audio/x-pn-realaudio"))
346 #define CFSTR_MIME_XBM (TEXT("image/xbm"))
347 #define CFSTR_MIME_QUICKTIME (TEXT("video/quicktime"))
348 #define CFSTR_MIME_X_MSVIDEO (TEXT("video/x-msvideo"))
349 #define CFSTR_MIME_X_SGI_MOVIE (TEXT("video/x-sgi-movie"))
350 #define CFSTR_MIME_HTML (TEXT("text/html"))
351 #define CFSTR_MIME_XML (TEXT("text/xml"))
352
353 #define MK_S_ASYNCHRONOUS _HRESULT_TYPEDEF_(0x000401E8L)
354 #ifndef S_ASYNCHRONOUS
355 #define S_ASYNCHRONOUS MK_S_ASYNCHRONOUS
356 #endif
357
358 #ifndef E_PENDING
359 #define E_PENDING _HRESULT_TYPEDEF_(0x8000000AL)
360 #endif
361
362 #define INET_E_INVALID_URL _HRESULT_TYPEDEF_(0x800C0002L)
363 #define INET_E_NO_SESSION _HRESULT_TYPEDEF_(0x800C0003L)
364 #define INET_E_CANNOT_CONNECT _HRESULT_TYPEDEF_(0x800C0004L)
365 #define INET_E_RESOURCE_NOT_FOUND _HRESULT_TYPEDEF_(0x800C0005L)
366 #define INET_E_OBJECT_NOT_FOUND _HRESULT_TYPEDEF_(0x800C0006L)
367 #define INET_E_DATA_NOT_AVAILABLE _HRESULT_TYPEDEF_(0x800C0007L)
368 #define INET_E_DOWNLOAD_FAILURE _HRESULT_TYPEDEF_(0x800C0008L)
369 #define INET_E_AUTHENTICATION_REQUIRED _HRESULT_TYPEDEF_(0x800C0009L)
370 #define INET_E_NO_VALID_MEDIA _HRESULT_TYPEDEF_(0x800C000AL)
371 #define INET_E_CONNECTION_TIMEOUT _HRESULT_TYPEDEF_(0x800C000BL)
372 #define INET_E_INVALID_REQUEST _HRESULT_TYPEDEF_(0x800C000CL)
373 #define INET_E_UNKNOWN_PROTOCOL _HRESULT_TYPEDEF_(0x800C000DL)
374 #define INET_E_SECURITY_PROBLEM _HRESULT_TYPEDEF_(0x800C000EL)
375 #define INET_E_CANNOT_LOAD_DATA _HRESULT_TYPEDEF_(0x800C000FL)
376 #define INET_E_CANNOT_INSTANTIATE_OBJECT _HRESULT_TYPEDEF_(0x800C0010L)
377 #define INET_E_REDIRECT_FAILED _HRESULT_TYPEDEF_(0x800C0014L)
378 #define INET_E_REDIRECT_TO_DIR _HRESULT_TYPEDEF_(0x800C0015L)
379 #define INET_E_CANNOT_LOCK_REQUEST _HRESULT_TYPEDEF_(0x800C0016L)
380 #define INET_E_USE_EXTEND_BINDING _HRESULT_TYPEDEF_(0x800C0017L)
381 #define INET_E_TERMINATED_BIND _HRESULT_TYPEDEF_(0x800C0018L)
382 #define INET_E_ERROR_FIRST _HRESULT_TYPEDEF_(0x800C0002L)
383 #define INET_E_CODE_DOWNLOAD_DECLINED _HRESULT_TYPEDEF_(0x800C0100L)
384 #define INET_E_RESULT_DISPATCHED _HRESULT_TYPEDEF_(0x800C0200L)
385 #define INET_E_CANNOT_REPLACE_SFP_FILE _HRESULT_TYPEDEF_(0x800C0300L)
386 #define INET_E_CODE_INSTALL_SUPPRESSED _HRESULT_TYPEDEF_(0x800C0400L)
387 #define INET_E_ERROR_LAST INET_E_CANNOT_REPLACE_SFP_FILE
388
389 #ifndef _LPPERSISTMONIKER_DEFINED
390 #define _LPPERSISTMONIKER_DEFINED
391 extern RPC_IF_HANDLE __MIDL_itf_urlmon_0000_v0_0_c_ifspec;
392 extern RPC_IF_HANDLE __MIDL_itf_urlmon_0000_v0_0_s_ifspec;
393 #ifndef __IPersistMoniker_INTERFACE_DEFINED__
394 #define __IPersistMoniker_INTERFACE_DEFINED__
395 typedef IPersistMoniker *LPPERSISTMONIKER;
396
397 EXTERN_C const IID IID_IPersistMoniker;
398 #if defined(__cplusplus) && !defined(CINTERFACE)
399 struct IPersistMoniker : public IUnknown {
400 public:
401 virtual HRESULT WINAPI GetClassID(CLSID *pClassID) = 0;
402 virtual HRESULT WINAPI IsDirty(void) = 0;
403 virtual HRESULT WINAPI Load(WINBOOL fFullyAvailable,IMoniker *pimkName,LPBC pibc,DWORD grfMode) = 0;
404 virtual HRESULT WINAPI Save(IMoniker *pimkName,LPBC pbc,WINBOOL fRemember) = 0;
405 virtual HRESULT WINAPI SaveCompleted(IMoniker *pimkName,LPBC pibc) = 0;
406 virtual HRESULT WINAPI GetCurMoniker(IMoniker **ppimkName) = 0;
407 };
408 #else
409 typedef struct IPersistMonikerVtbl {
410 BEGIN_INTERFACE
411 HRESULT (WINAPI *QueryInterface)(IPersistMoniker *This,REFIID riid,void **ppvObject);
412 ULONG (WINAPI *AddRef)(IPersistMoniker *This);
413 ULONG (WINAPI *Release)(IPersistMoniker *This);
414 HRESULT (WINAPI *GetClassID)(IPersistMoniker *This,CLSID *pClassID);
415 HRESULT (WINAPI *IsDirty)(IPersistMoniker *This);
416 HRESULT (WINAPI *Load)(IPersistMoniker *This,WINBOOL fFullyAvailable,IMoniker *pimkName,LPBC pibc,DWORD grfMode);
417 HRESULT (WINAPI *Save)(IPersistMoniker *This,IMoniker *pimkName,LPBC pbc,WINBOOL fRemember);
418 HRESULT (WINAPI *SaveCompleted)(IPersistMoniker *This,IMoniker *pimkName,LPBC pibc);
419 HRESULT (WINAPI *GetCurMoniker)(IPersistMoniker *This,IMoniker **ppimkName);
420 END_INTERFACE
421 } IPersistMonikerVtbl;
422 struct IPersistMoniker {
423 CONST_VTBL struct IPersistMonikerVtbl *lpVtbl;
424 };
425 #ifdef COBJMACROS
426 #define IPersistMoniker_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject)
427 #define IPersistMoniker_AddRef(This) (This)->lpVtbl->AddRef(This)
428 #define IPersistMoniker_Release(This) (This)->lpVtbl->Release(This)
429 #define IPersistMoniker_GetClassID(This,pClassID) (This)->lpVtbl->GetClassID(This,pClassID)
430 #define IPersistMoniker_IsDirty(This) (This)->lpVtbl->IsDirty(This)
431 #define IPersistMoniker_Load(This,fFullyAvailable,pimkName,pibc,grfMode) (This)->lpVtbl->Load(This,fFullyAvailable,pimkName,pibc,grfMode)
432 #define IPersistMoniker_Save(This,pimkName,pbc,fRemember) (This)->lpVtbl->Save(This,pimkName,pbc,fRemember)
433 #define IPersistMoniker_SaveCompleted(This,pimkName,pibc) (This)->lpVtbl->SaveCompleted(This,pimkName,pibc)
434 #define IPersistMoniker_GetCurMoniker(This,ppimkName) (This)->lpVtbl->GetCurMoniker(This,ppimkName)
435 #endif
436 #endif
437 HRESULT WINAPI IPersistMoniker_GetClassID_Proxy(IPersistMoniker *This,CLSID *pClassID);
438 void __RPC_STUB IPersistMoniker_GetClassID_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
439 HRESULT WINAPI IPersistMoniker_IsDirty_Proxy(IPersistMoniker *This);
440 void __RPC_STUB IPersistMoniker_IsDirty_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
441 HRESULT WINAPI IPersistMoniker_Load_Proxy(IPersistMoniker *This,WINBOOL fFullyAvailable,IMoniker *pimkName,LPBC pibc,DWORD grfMode);
442 void __RPC_STUB IPersistMoniker_Load_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
443 HRESULT WINAPI IPersistMoniker_Save_Proxy(IPersistMoniker *This,IMoniker *pimkName,LPBC pbc,WINBOOL fRemember);
444 void __RPC_STUB IPersistMoniker_Save_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
445 HRESULT WINAPI IPersistMoniker_SaveCompleted_Proxy(IPersistMoniker *This,IMoniker *pimkName,LPBC pibc);
446 void __RPC_STUB IPersistMoniker_SaveCompleted_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
447 HRESULT WINAPI IPersistMoniker_GetCurMoniker_Proxy(IPersistMoniker *This,IMoniker **ppimkName);
448 void __RPC_STUB IPersistMoniker_GetCurMoniker_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
449 #endif
450 #endif
451
452 #ifndef _LPMONIKERPROP_DEFINED
453 #define _LPMONIKERPROP_DEFINED
454 extern RPC_IF_HANDLE __MIDL_itf_urlmon_0178_v0_0_c_ifspec;
455 extern RPC_IF_HANDLE __MIDL_itf_urlmon_0178_v0_0_s_ifspec;
456 #ifndef __IMonikerProp_INTERFACE_DEFINED__
457 #define __IMonikerProp_INTERFACE_DEFINED__
458 typedef IMonikerProp *LPMONIKERPROP;
459
460 typedef enum __MIDL_IMonikerProp_0001 {
461 MIMETYPEPROP = 0,USE_SRC_URL = 0x1,CLASSIDPROP = 0x2,TRUSTEDDOWNLOADPROP = 0x3,POPUPLEVELPROP = 0x4
462 } MONIKERPROPERTY;
463
464 EXTERN_C const IID IID_IMonikerProp;
465 #if defined(__cplusplus) && !defined(CINTERFACE)
466 struct IMonikerProp : public IUnknown {
467 public:
468 virtual HRESULT WINAPI PutProperty(MONIKERPROPERTY mkp,LPCWSTR val) = 0;
469 };
470 #else
471 typedef struct IMonikerPropVtbl {
472 BEGIN_INTERFACE
473 HRESULT (WINAPI *QueryInterface)(IMonikerProp *This,REFIID riid,void **ppvObject);
474 ULONG (WINAPI *AddRef)(IMonikerProp *This);
475 ULONG (WINAPI *Release)(IMonikerProp *This);
476 HRESULT (WINAPI *PutProperty)(IMonikerProp *This,MONIKERPROPERTY mkp,LPCWSTR val);
477 END_INTERFACE
478 } IMonikerPropVtbl;
479 struct IMonikerProp {
480 CONST_VTBL struct IMonikerPropVtbl *lpVtbl;
481 };
482 #ifdef COBJMACROS
483 #define IMonikerProp_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject)
484 #define IMonikerProp_AddRef(This) (This)->lpVtbl->AddRef(This)
485 #define IMonikerProp_Release(This) (This)->lpVtbl->Release(This)
486 #define IMonikerProp_PutProperty(This,mkp,val) (This)->lpVtbl->PutProperty(This,mkp,val)
487 #endif
488 #endif
489 HRESULT WINAPI IMonikerProp_PutProperty_Proxy(IMonikerProp *This,MONIKERPROPERTY mkp,LPCWSTR val);
490 void __RPC_STUB IMonikerProp_PutProperty_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
491 #endif
492 #endif
493
494 #ifndef _LPBINDPROTOCOL_DEFINED
495 #define _LPBINDPROTOCOL_DEFINED
496 extern RPC_IF_HANDLE __MIDL_itf_urlmon_0179_v0_0_c_ifspec;
497 extern RPC_IF_HANDLE __MIDL_itf_urlmon_0179_v0_0_s_ifspec;
498 #ifndef __IBindProtocol_INTERFACE_DEFINED__
499 #define __IBindProtocol_INTERFACE_DEFINED__
500 typedef IBindProtocol *LPBINDPROTOCOL;
501
502 EXTERN_C const IID IID_IBindProtocol;
503 #if defined(__cplusplus) && !defined(CINTERFACE)
504 struct IBindProtocol : public IUnknown {
505 public:
506 virtual HRESULT WINAPI CreateBinding(LPCWSTR szUrl,IBindCtx *pbc,IBinding **ppb) = 0;
507 };
508 #else
509 typedef struct IBindProtocolVtbl {
510 BEGIN_INTERFACE
511 HRESULT (WINAPI *QueryInterface)(IBindProtocol *This,REFIID riid,void **ppvObject);
512 ULONG (WINAPI *AddRef)(IBindProtocol *This);
513 ULONG (WINAPI *Release)(IBindProtocol *This);
514 HRESULT (WINAPI *CreateBinding)(IBindProtocol *This,LPCWSTR szUrl,IBindCtx *pbc,IBinding **ppb);
515 END_INTERFACE
516 } IBindProtocolVtbl;
517 struct IBindProtocol {
518 CONST_VTBL struct IBindProtocolVtbl *lpVtbl;
519 };
520 #ifdef COBJMACROS
521 #define IBindProtocol_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject)
522 #define IBindProtocol_AddRef(This) (This)->lpVtbl->AddRef(This)
523 #define IBindProtocol_Release(This) (This)->lpVtbl->Release(This)
524 #define IBindProtocol_CreateBinding(This,szUrl,pbc,ppb) (This)->lpVtbl->CreateBinding(This,szUrl,pbc,ppb)
525 #endif
526 #endif
527 HRESULT WINAPI IBindProtocol_CreateBinding_Proxy(IBindProtocol *This,LPCWSTR szUrl,IBindCtx *pbc,IBinding **ppb);
528 void __RPC_STUB IBindProtocol_CreateBinding_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
529 #endif
530 #endif
531
532 #ifndef _LPBINDING_DEFINED
533 #define _LPBINDING_DEFINED
534 extern RPC_IF_HANDLE __MIDL_itf_urlmon_0180_v0_0_c_ifspec;
535 extern RPC_IF_HANDLE __MIDL_itf_urlmon_0180_v0_0_s_ifspec;
536 #ifndef __IBinding_INTERFACE_DEFINED__
537 #define __IBinding_INTERFACE_DEFINED__
538 typedef IBinding *LPBINDING;
539
540 EXTERN_C const IID IID_IBinding;
541 #if defined(__cplusplus) && !defined(CINTERFACE)
542 struct IBinding : public IUnknown {
543 public:
544 virtual HRESULT WINAPI Abort(void) = 0;
545 virtual HRESULT WINAPI Suspend(void) = 0;
546 virtual HRESULT WINAPI Resume(void) = 0;
547 virtual HRESULT WINAPI SetPriority(LONG nPriority) = 0;
548 virtual HRESULT WINAPI GetPriority(LONG *pnPriority) = 0;
549 virtual HRESULT WINAPI GetBindResult(CLSID *pclsidProtocol,DWORD *pdwResult,LPOLESTR *pszResult,DWORD *pdwReserved) = 0;
550 };
551 #else
552 typedef struct IBindingVtbl {
553 BEGIN_INTERFACE
554 HRESULT (WINAPI *QueryInterface)(IBinding *This,REFIID riid,void **ppvObject);
555 ULONG (WINAPI *AddRef)(IBinding *This);
556 ULONG (WINAPI *Release)(IBinding *This);
557 HRESULT (WINAPI *Abort)(IBinding *This);
558 HRESULT (WINAPI *Suspend)(IBinding *This);
559 HRESULT (WINAPI *Resume)(IBinding *This);
560 HRESULT (WINAPI *SetPriority)(IBinding *This,LONG nPriority);
561 HRESULT (WINAPI *GetPriority)(IBinding *This,LONG *pnPriority);
562 HRESULT (WINAPI *GetBindResult)(IBinding *This,CLSID *pclsidProtocol,DWORD *pdwResult,LPOLESTR *pszResult,DWORD *pdwReserved);
563 END_INTERFACE
564 } IBindingVtbl;
565 struct IBinding {
566 CONST_VTBL struct IBindingVtbl *lpVtbl;
567 };
568 #ifdef COBJMACROS
569 #define IBinding_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject)
570 #define IBinding_AddRef(This) (This)->lpVtbl->AddRef(This)
571 #define IBinding_Release(This) (This)->lpVtbl->Release(This)
572 #define IBinding_Abort(This) (This)->lpVtbl->Abort(This)
573 #define IBinding_Suspend(This) (This)->lpVtbl->Suspend(This)
574 #define IBinding_Resume(This) (This)->lpVtbl->Resume(This)
575 #define IBinding_SetPriority(This,nPriority) (This)->lpVtbl->SetPriority(This,nPriority)
576 #define IBinding_GetPriority(This,pnPriority) (This)->lpVtbl->GetPriority(This,pnPriority)
577 #define IBinding_GetBindResult(This,pclsidProtocol,pdwResult,pszResult,pdwReserved) (This)->lpVtbl->GetBindResult(This,pclsidProtocol,pdwResult,pszResult,pdwReserved)
578 #endif
579 #endif
580 HRESULT WINAPI IBinding_Abort_Proxy(IBinding *This);
581 void __RPC_STUB IBinding_Abort_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
582 HRESULT WINAPI IBinding_Suspend_Proxy(IBinding *This);
583 void __RPC_STUB IBinding_Suspend_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
584 HRESULT WINAPI IBinding_Resume_Proxy(IBinding *This);
585 void __RPC_STUB IBinding_Resume_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
586 HRESULT WINAPI IBinding_SetPriority_Proxy(IBinding *This,LONG nPriority);
587 void __RPC_STUB IBinding_SetPriority_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
588 HRESULT WINAPI IBinding_GetPriority_Proxy(IBinding *This,LONG *pnPriority);
589 void __RPC_STUB IBinding_GetPriority_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
590 HRESULT WINAPI IBinding_RemoteGetBindResult_Proxy(IBinding *This,CLSID *pclsidProtocol,DWORD *pdwResult,LPOLESTR *pszResult,DWORD dwReserved);
591 void __RPC_STUB IBinding_RemoteGetBindResult_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
592 #endif
593 #endif
594
595 #ifndef _LPBINDSTATUSCALLBACK_DEFINED
596 #define _LPBINDSTATUSCALLBACK_DEFINED
597 extern RPC_IF_HANDLE __MIDL_itf_urlmon_0181_v0_0_c_ifspec;
598 extern RPC_IF_HANDLE __MIDL_itf_urlmon_0181_v0_0_s_ifspec;
599 #ifndef __IBindStatusCallback_INTERFACE_DEFINED__
600 #define __IBindStatusCallback_INTERFACE_DEFINED__
601 typedef IBindStatusCallback *LPBINDSTATUSCALLBACK;
602
603 typedef enum __MIDL_IBindStatusCallback_0001 {
604 BINDVERB_GET = 0,BINDVERB_POST = 0x1,BINDVERB_PUT = 0x2,BINDVERB_CUSTOM = 0x3
605 } BINDVERB;
606
607 typedef enum __MIDL_IBindStatusCallback_0002 {
608 BINDINFOF_URLENCODESTGMEDDATA = 0x1,BINDINFOF_URLENCODEDEXTRAINFO = 0x2
609 } BINDINFOF;
610
611 typedef enum __MIDL_IBindStatusCallback_0003 {
612 BINDF_ASYNCHRONOUS = 0x1,BINDF_ASYNCSTORAGE = 0x2,BINDF_NOPROGRESSIVERENDERING = 0x4,BINDF_OFFLINEOPERATION = 0x8,BINDF_GETNEWESTVERSION = 0x10,
613 BINDF_NOWRITECACHE = 0x20,BINDF_NEEDFILE = 0x40,BINDF_PULLDATA = 0x80,BINDF_IGNORESECURITYPROBLEM = 0x100,BINDF_RESYNCHRONIZE = 0x200,
614 BINDF_HYPERLINK = 0x400,BINDF_NO_UI = 0x800,BINDF_SILENTOPERATION = 0x1000,BINDF_PRAGMA_NO_CACHE = 0x2000,BINDF_GETCLASSOBJECT = 0x4000,
615 BINDF_RESERVED_1 = 0x8000,BINDF_FREE_THREADED = 0x10000,BINDF_DIRECT_READ = 0x20000,BINDF_FORMS_SUBMIT = 0x40000,
616 BINDF_GETFROMCACHE_IF_NET_FAIL = 0x80000,BINDF_FROMURLMON = 0x100000,BINDF_FWD_BACK = 0x200000,BINDF_PREFERDEFAULTHANDLER = 0x400000,
617 BINDF_ENFORCERESTRICTED = 0x800000
618 } BINDF;
619
620 typedef enum __MIDL_IBindStatusCallback_0004 {
621 URL_ENCODING_NONE = 0,URL_ENCODING_ENABLE_UTF8 = 0x10000000,URL_ENCODING_DISABLE_UTF8 = 0x20000000
622 } URL_ENCODING;
623
624 typedef struct _tagBINDINFO {
625 ULONG cbSize;
626 LPWSTR szExtraInfo;
627 STGMEDIUM stgmedData;
628 DWORD grfBindInfoF;
629 DWORD dwBindVerb;
630 LPWSTR szCustomVerb;
631 DWORD cbstgmedData;
632 DWORD dwOptions;
633 DWORD dwOptionsFlags;
634 DWORD dwCodePage;
635 SECURITY_ATTRIBUTES securityAttributes;
636 IID iid;
637 IUnknown *pUnk;
638 DWORD dwReserved;
639 } BINDINFO;
640
641 typedef struct _REMSECURITY_ATTRIBUTES {
642 DWORD nLength;
643 DWORD lpSecurityDescriptor;
644 WINBOOL bInheritHandle;
645 } REMSECURITY_ATTRIBUTES;
646
647 typedef struct _REMSECURITY_ATTRIBUTES *PREMSECURITY_ATTRIBUTES;
648 typedef struct _REMSECURITY_ATTRIBUTES *LPREMSECURITY_ATTRIBUTES;
649
650 typedef struct _tagRemBINDINFO {
651 ULONG cbSize;
652 LPWSTR szExtraInfo;
653 DWORD grfBindInfoF;
654 DWORD dwBindVerb;
655 LPWSTR szCustomVerb;
656 DWORD cbstgmedData;
657 DWORD dwOptions;
658 DWORD dwOptionsFlags;
659 DWORD dwCodePage;
660 REMSECURITY_ATTRIBUTES securityAttributes;
661 IID iid;
662 IUnknown *pUnk;
663 DWORD dwReserved;
664 } RemBINDINFO;
665
666 typedef struct tagRemFORMATETC {
667 DWORD cfFormat;
668 DWORD ptd;
669 DWORD dwAspect;
670 LONG lindex;
671 DWORD tymed;
672 } RemFORMATETC;
673
674 typedef struct tagRemFORMATETC *LPREMFORMATETC;
675
676 typedef enum __MIDL_IBindStatusCallback_0005 {
677 BINDINFO_OPTIONS_WININETFLAG = 0x10000,BINDINFO_OPTIONS_ENABLE_UTF8 = 0x20000,BINDINFO_OPTIONS_DISABLE_UTF8 = 0x40000,
678 BINDINFO_OPTIONS_USE_IE_ENCODING = 0x80000,BINDINFO_OPTIONS_BINDTOOBJECT = 0x100000,BINDINFO_OPTIONS_SECURITYOPTOUT = 0x200000,
679 BINDINFO_OPTIONS_IGNOREMIMETEXTPLAIN = 0x400000,BINDINFO_OPTIONS_USEBINDSTRINGCREDS = 0x800000,BINDINFO_OPTIONS_IGNOREHTTPHTTPSREDIRECTS = 0x1000000,
680 BINDINFO_OPTIONS_SHDOCVW_NAVIGATE = 0x80000000
681 } BINDINFO_OPTIONS;
682
683 typedef enum __MIDL_IBindStatusCallback_0006 {
684 BSCF_FIRSTDATANOTIFICATION = 0x1,BSCF_INTERMEDIATEDATANOTIFICATION = 0x2,BSCF_LASTDATANOTIFICATION = 0x4,BSCF_DATAFULLYAVAILABLE = 0x8,
685 BSCF_AVAILABLEDATASIZEUNKNOWN = 0x10
686 } BSCF;
687
688 typedef enum tagBINDSTATUS {
689 BINDSTATUS_FINDINGRESOURCE = 1,
690 BINDSTATUS_CONNECTING,BINDSTATUS_REDIRECTING,BINDSTATUS_BEGINDOWNLOADDATA,
691 BINDSTATUS_DOWNLOADINGDATA,BINDSTATUS_ENDDOWNLOADDATA,BINDSTATUS_BEGINDOWNLOADCOMPONENTS,
692 BINDSTATUS_INSTALLINGCOMPONENTS,BINDSTATUS_ENDDOWNLOADCOMPONENTS,
693 BINDSTATUS_USINGCACHEDCOPY,BINDSTATUS_SENDINGREQUEST,BINDSTATUS_CLASSIDAVAILABLE,
694 BINDSTATUS_MIMETYPEAVAILABLE,BINDSTATUS_CACHEFILENAMEAVAILABLE,
695 BINDSTATUS_BEGINSYNCOPERATION,BINDSTATUS_ENDSYNCOPERATION,BINDSTATUS_BEGINUPLOADDATA,
696 BINDSTATUS_UPLOADINGDATA,BINDSTATUS_ENDUPLOADDATA,BINDSTATUS_PROTOCOLCLASSID,
697 BINDSTATUS_ENCODING,BINDSTATUS_VERIFIEDMIMETYPEAVAILABLE,BINDSTATUS_CLASSINSTALLLOCATION,
698 BINDSTATUS_DECODING,BINDSTATUS_LOADINGMIMEHANDLER,BINDSTATUS_CONTENTDISPOSITIONATTACH,
699 BINDSTATUS_FILTERREPORTMIMETYPE,BINDSTATUS_CLSIDCANINSTANTIATE,BINDSTATUS_IUNKNOWNAVAILABLE,
700 BINDSTATUS_DIRECTBIND,BINDSTATUS_RAWMIMETYPE,BINDSTATUS_PROXYDETECTING,
701 BINDSTATUS_ACCEPTRANGES,BINDSTATUS_COOKIE_SENT,BINDSTATUS_COMPACT_POLICY_RECEIVED,
702 BINDSTATUS_COOKIE_SUPPRESSED,BINDSTATUS_COOKIE_STATE_UNKNOWN,BINDSTATUS_COOKIE_STATE_ACCEPT,
703 BINDSTATUS_COOKIE_STATE_REJECT,BINDSTATUS_COOKIE_STATE_PROMPT,BINDSTATUS_COOKIE_STATE_LEASH,
704 BINDSTATUS_COOKIE_STATE_DOWNGRADE,BINDSTATUS_POLICY_HREF,BINDSTATUS_P3P_HEADER,
705 BINDSTATUS_SESSION_COOKIE_RECEIVED,BINDSTATUS_PERSISTENT_COOKIE_RECEIVED,
706 BINDSTATUS_SESSION_COOKIES_ALLOWED,BINDSTATUS_CACHECONTROL,BINDSTATUS_CONTENTDISPOSITIONFILENAME,
707 BINDSTATUS_MIMETEXTPLAINMISMATCH,BINDSTATUS_PUBLISHERAVAILABLE,BINDSTATUS_DISPLAYNAMEAVAILABLE
708 } BINDSTATUS;
709
710 EXTERN_C const IID IID_IBindStatusCallback;
711 #if defined(__cplusplus) && !defined(CINTERFACE)
712 struct IBindStatusCallback : public IUnknown {
713 public:
714 virtual HRESULT WINAPI OnStartBinding(DWORD dwReserved,IBinding *pib) = 0;
715 virtual HRESULT WINAPI GetPriority(LONG *pnPriority) = 0;
716 virtual HRESULT WINAPI OnLowResource(DWORD reserved) = 0;
717 virtual HRESULT WINAPI OnProgress(ULONG ulProgress,ULONG ulProgressMax,ULONG ulStatusCode,LPCWSTR szStatusText) = 0;
718 virtual HRESULT WINAPI OnStopBinding(HRESULT hresult,LPCWSTR szError) = 0;
719 virtual HRESULT WINAPI GetBindInfo(DWORD *grfBINDF,BINDINFO *pbindinfo) = 0;
720 virtual HRESULT WINAPI OnDataAvailable(DWORD grfBSCF,DWORD dwSize,FORMATETC *pformatetc,STGMEDIUM *pstgmed) = 0;
721 virtual HRESULT WINAPI OnObjectAvailable(REFIID riid,IUnknown *punk) = 0;
722 };
723 #else
724 typedef struct IBindStatusCallbackVtbl {
725 BEGIN_INTERFACE
726 HRESULT (WINAPI *QueryInterface)(IBindStatusCallback *This,REFIID riid,void **ppvObject);
727 ULONG (WINAPI *AddRef)(IBindStatusCallback *This);
728 ULONG (WINAPI *Release)(IBindStatusCallback *This);
729 HRESULT (WINAPI *OnStartBinding)(IBindStatusCallback *This,DWORD dwReserved,IBinding *pib);
730 HRESULT (WINAPI *GetPriority)(IBindStatusCallback *This,LONG *pnPriority);
731 HRESULT (WINAPI *OnLowResource)(IBindStatusCallback *This,DWORD reserved);
732 HRESULT (WINAPI *OnProgress)(IBindStatusCallback *This,ULONG ulProgress,ULONG ulProgressMax,ULONG ulStatusCode,LPCWSTR szStatusText);
733 HRESULT (WINAPI *OnStopBinding)(IBindStatusCallback *This,HRESULT hresult,LPCWSTR szError);
734 HRESULT (WINAPI *GetBindInfo)(IBindStatusCallback *This,DWORD *grfBINDF,BINDINFO *pbindinfo);
735 HRESULT (WINAPI *OnDataAvailable)(IBindStatusCallback *This,DWORD grfBSCF,DWORD dwSize,FORMATETC *pformatetc,STGMEDIUM *pstgmed);
736 HRESULT (WINAPI *OnObjectAvailable)(IBindStatusCallback *This,REFIID riid,IUnknown *punk);
737 END_INTERFACE
738 } IBindStatusCallbackVtbl;
739 struct IBindStatusCallback {
740 CONST_VTBL struct IBindStatusCallbackVtbl *lpVtbl;
741 };
742 #ifdef COBJMACROS
743 #define IBindStatusCallback_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject)
744 #define IBindStatusCallback_AddRef(This) (This)->lpVtbl->AddRef(This)
745 #define IBindStatusCallback_Release(This) (This)->lpVtbl->Release(This)
746 #define IBindStatusCallback_OnStartBinding(This,dwReserved,pib) (This)->lpVtbl->OnStartBinding(This,dwReserved,pib)
747 #define IBindStatusCallback_GetPriority(This,pnPriority) (This)->lpVtbl->GetPriority(This,pnPriority)
748 #define IBindStatusCallback_OnLowResource(This,reserved) (This)->lpVtbl->OnLowResource(This,reserved)
749 #define IBindStatusCallback_OnProgress(This,ulProgress,ulProgressMax,ulStatusCode,szStatusText) (This)->lpVtbl->OnProgress(This,ulProgress,ulProgressMax,ulStatusCode,szStatusText)
750 #define IBindStatusCallback_OnStopBinding(This,hresult,szError) (This)->lpVtbl->OnStopBinding(This,hresult,szError)
751 #define IBindStatusCallback_GetBindInfo(This,grfBINDF,pbindinfo) (This)->lpVtbl->GetBindInfo(This,grfBINDF,pbindinfo)
752 #define IBindStatusCallback_OnDataAvailable(This,grfBSCF,dwSize,pformatetc,pstgmed) (This)->lpVtbl->OnDataAvailable(This,grfBSCF,dwSize,pformatetc,pstgmed)
753 #define IBindStatusCallback_OnObjectAvailable(This,riid,punk) (This)->lpVtbl->OnObjectAvailable(This,riid,punk)
754 #endif
755 #endif
756 HRESULT WINAPI IBindStatusCallback_OnStartBinding_Proxy(IBindStatusCallback *This,DWORD dwReserved,IBinding *pib);
757 void __RPC_STUB IBindStatusCallback_OnStartBinding_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
758 HRESULT WINAPI IBindStatusCallback_GetPriority_Proxy(IBindStatusCallback *This,LONG *pnPriority);
759 void __RPC_STUB IBindStatusCallback_GetPriority_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
760 HRESULT WINAPI IBindStatusCallback_OnLowResource_Proxy(IBindStatusCallback *This,DWORD reserved);
761 void __RPC_STUB IBindStatusCallback_OnLowResource_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
762 HRESULT WINAPI IBindStatusCallback_OnProgress_Proxy(IBindStatusCallback *This,ULONG ulProgress,ULONG ulProgressMax,ULONG ulStatusCode,LPCWSTR szStatusText);
763 void __RPC_STUB IBindStatusCallback_OnProgress_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
764 HRESULT WINAPI IBindStatusCallback_OnStopBinding_Proxy(IBindStatusCallback *This,HRESULT hresult,LPCWSTR szError);
765 void __RPC_STUB IBindStatusCallback_OnStopBinding_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
766 HRESULT WINAPI IBindStatusCallback_RemoteGetBindInfo_Proxy(IBindStatusCallback *This,DWORD *grfBINDF,RemBINDINFO *pbindinfo,RemSTGMEDIUM *pstgmed);
767 void __RPC_STUB IBindStatusCallback_RemoteGetBindInfo_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
768 HRESULT WINAPI IBindStatusCallback_RemoteOnDataAvailable_Proxy(IBindStatusCallback *This,DWORD grfBSCF,DWORD dwSize,RemFORMATETC *pformatetc,RemSTGMEDIUM *pstgmed);
769 void __RPC_STUB IBindStatusCallback_RemoteOnDataAvailable_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
770 HRESULT WINAPI IBindStatusCallback_OnObjectAvailable_Proxy(IBindStatusCallback *This,REFIID riid,IUnknown *punk);
771 void __RPC_STUB IBindStatusCallback_OnObjectAvailable_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
772 #endif
773 #endif
774
775 #ifndef _LPAUTHENTICATION_DEFINED
776 #define _LPAUTHENTICATION_DEFINED
777 extern RPC_IF_HANDLE __MIDL_itf_urlmon_0182_v0_0_c_ifspec;
778 extern RPC_IF_HANDLE __MIDL_itf_urlmon_0182_v0_0_s_ifspec;
779 #ifndef __IAuthenticate_INTERFACE_DEFINED__
780 #define __IAuthenticate_INTERFACE_DEFINED__
781 typedef IAuthenticate *LPAUTHENTICATION;
782
783 EXTERN_C const IID IID_IAuthenticate;
784 #if defined(__cplusplus) && !defined(CINTERFACE)
785 struct IAuthenticate : public IUnknown {
786 public:
787 virtual HRESULT WINAPI Authenticate(HWND *phwnd,LPWSTR *pszUsername,LPWSTR *pszPassword) = 0;
788 };
789 #else
790 typedef struct IAuthenticateVtbl {
791 BEGIN_INTERFACE
792 HRESULT (WINAPI *QueryInterface)(IAuthenticate *This,REFIID riid,void **ppvObject);
793 ULONG (WINAPI *AddRef)(IAuthenticate *This);
794 ULONG (WINAPI *Release)(IAuthenticate *This);
795 HRESULT (WINAPI *Authenticate)(IAuthenticate *This,HWND *phwnd,LPWSTR *pszUsername,LPWSTR *pszPassword);
796 END_INTERFACE
797 } IAuthenticateVtbl;
798 struct IAuthenticate {
799 CONST_VTBL struct IAuthenticateVtbl *lpVtbl;
800 };
801 #ifdef COBJMACROS
802 #define IAuthenticate_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject)
803 #define IAuthenticate_AddRef(This) (This)->lpVtbl->AddRef(This)
804 #define IAuthenticate_Release(This) (This)->lpVtbl->Release(This)
805 #define IAuthenticate_Authenticate(This,phwnd,pszUsername,pszPassword) (This)->lpVtbl->Authenticate(This,phwnd,pszUsername,pszPassword)
806 #endif
807 #endif
808 HRESULT WINAPI IAuthenticate_Authenticate_Proxy(IAuthenticate *This,HWND *phwnd,LPWSTR *pszUsername,LPWSTR *pszPassword);
809 void __RPC_STUB IAuthenticate_Authenticate_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
810 #endif
811 #endif
812
813 #ifndef _LPHTTPNEGOTIATE_DEFINED
814 #define _LPHTTPNEGOTIATE_DEFINED
815 extern RPC_IF_HANDLE __MIDL_itf_urlmon_0183_v0_0_c_ifspec;
816 extern RPC_IF_HANDLE __MIDL_itf_urlmon_0183_v0_0_s_ifspec;
817 #ifndef __IHttpNegotiate_INTERFACE_DEFINED__
818 #define __IHttpNegotiate_INTERFACE_DEFINED__
819 typedef IHttpNegotiate *LPHTTPNEGOTIATE;
820
821 EXTERN_C const IID IID_IHttpNegotiate;
822 #if defined(__cplusplus) && !defined(CINTERFACE)
823 struct IHttpNegotiate : public IUnknown {
824 public:
825 virtual HRESULT WINAPI BeginningTransaction(LPCWSTR szURL,LPCWSTR szHeaders,DWORD dwReserved,LPWSTR *pszAdditionalHeaders) = 0;
826 virtual HRESULT WINAPI OnResponse(DWORD dwResponseCode,LPCWSTR szResponseHeaders,LPCWSTR szRequestHeaders,LPWSTR *pszAdditionalRequestHeaders) = 0;
827 };
828 #else
829 typedef struct IHttpNegotiateVtbl {
830 BEGIN_INTERFACE
831 HRESULT (WINAPI *QueryInterface)(IHttpNegotiate *This,REFIID riid,void **ppvObject);
832 ULONG (WINAPI *AddRef)(IHttpNegotiate *This);
833 ULONG (WINAPI *Release)(IHttpNegotiate *This);
834 HRESULT (WINAPI *BeginningTransaction)(IHttpNegotiate *This,LPCWSTR szURL,LPCWSTR szHeaders,DWORD dwReserved,LPWSTR *pszAdditionalHeaders);
835 HRESULT (WINAPI *OnResponse)(IHttpNegotiate *This,DWORD dwResponseCode,LPCWSTR szResponseHeaders,LPCWSTR szRequestHeaders,LPWSTR *pszAdditionalRequestHeaders);
836 END_INTERFACE
837 } IHttpNegotiateVtbl;
838 struct IHttpNegotiate {
839 CONST_VTBL struct IHttpNegotiateVtbl *lpVtbl;
840 };
841 #ifdef COBJMACROS
842 #define IHttpNegotiate_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject)
843 #define IHttpNegotiate_AddRef(This) (This)->lpVtbl->AddRef(This)
844 #define IHttpNegotiate_Release(This) (This)->lpVtbl->Release(This)
845 #define IHttpNegotiate_BeginningTransaction(This,szURL,szHeaders,dwReserved,pszAdditionalHeaders) (This)->lpVtbl->BeginningTransaction(This,szURL,szHeaders,dwReserved,pszAdditionalHeaders)
846 #define IHttpNegotiate_OnResponse(This,dwResponseCode,szResponseHeaders,szRequestHeaders,pszAdditionalRequestHeaders) (This)->lpVtbl->OnResponse(This,dwResponseCode,szResponseHeaders,szRequestHeaders,pszAdditionalRequestHeaders)
847 #endif
848 #endif
849 HRESULT WINAPI IHttpNegotiate_BeginningTransaction_Proxy(IHttpNegotiate *This,LPCWSTR szURL,LPCWSTR szHeaders,DWORD dwReserved,LPWSTR *pszAdditionalHeaders);
850 void __RPC_STUB IHttpNegotiate_BeginningTransaction_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
851 HRESULT WINAPI IHttpNegotiate_OnResponse_Proxy(IHttpNegotiate *This,DWORD dwResponseCode,LPCWSTR szResponseHeaders,LPCWSTR szRequestHeaders,LPWSTR *pszAdditionalRequestHeaders);
852 void __RPC_STUB IHttpNegotiate_OnResponse_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
853 #endif
854 #endif
855
856 #ifndef _LPHTTPNEGOTIATE2_DEFINED
857 #define _LPHTTPNEGOTIATE2_DEFINED
858 extern RPC_IF_HANDLE __MIDL_itf_urlmon_0184_v0_0_c_ifspec;
859 extern RPC_IF_HANDLE __MIDL_itf_urlmon_0184_v0_0_s_ifspec;
860 #ifndef __IHttpNegotiate2_INTERFACE_DEFINED__
861 #define __IHttpNegotiate2_INTERFACE_DEFINED__
862 typedef IHttpNegotiate2 *LPHTTPNEGOTIATE2;
863
864 EXTERN_C const IID IID_IHttpNegotiate2;
865 #if defined(__cplusplus) && !defined(CINTERFACE)
866 struct IHttpNegotiate2 : public IHttpNegotiate {
867 public:
868 virtual HRESULT WINAPI GetRootSecurityId(BYTE *pbSecurityId,DWORD *pcbSecurityId,DWORD_PTR dwReserved) = 0;
869 };
870 #else
871 typedef struct IHttpNegotiate2Vtbl {
872 BEGIN_INTERFACE
873 HRESULT (WINAPI *QueryInterface)(IHttpNegotiate2 *This,REFIID riid,void **ppvObject);
874 ULONG (WINAPI *AddRef)(IHttpNegotiate2 *This);
875 ULONG (WINAPI *Release)(IHttpNegotiate2 *This);
876 HRESULT (WINAPI *BeginningTransaction)(IHttpNegotiate2 *This,LPCWSTR szURL,LPCWSTR szHeaders,DWORD dwReserved,LPWSTR *pszAdditionalHeaders);
877 HRESULT (WINAPI *OnResponse)(IHttpNegotiate2 *This,DWORD dwResponseCode,LPCWSTR szResponseHeaders,LPCWSTR szRequestHeaders,LPWSTR *pszAdditionalRequestHeaders);
878 HRESULT (WINAPI *GetRootSecurityId)(IHttpNegotiate2 *This,BYTE *pbSecurityId,DWORD *pcbSecurityId,DWORD_PTR dwReserved);
879 END_INTERFACE
880 } IHttpNegotiate2Vtbl;
881 struct IHttpNegotiate2 {
882 CONST_VTBL struct IHttpNegotiate2Vtbl *lpVtbl;
883 };
884 #ifdef COBJMACROS
885 #define IHttpNegotiate2_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject)
886 #define IHttpNegotiate2_AddRef(This) (This)->lpVtbl->AddRef(This)
887 #define IHttpNegotiate2_Release(This) (This)->lpVtbl->Release(This)
888 #define IHttpNegotiate2_BeginningTransaction(This,szURL,szHeaders,dwReserved,pszAdditionalHeaders) (This)->lpVtbl->BeginningTransaction(This,szURL,szHeaders,dwReserved,pszAdditionalHeaders)
889 #define IHttpNegotiate2_OnResponse(This,dwResponseCode,szResponseHeaders,szRequestHeaders,pszAdditionalRequestHeaders) (This)->lpVtbl->OnResponse(This,dwResponseCode,szResponseHeaders,szRequestHeaders,pszAdditionalRequestHeaders)
890 #define IHttpNegotiate2_GetRootSecurityId(This,pbSecurityId,pcbSecurityId,dwReserved) (This)->lpVtbl->GetRootSecurityId(This,pbSecurityId,pcbSecurityId,dwReserved)
891 #endif
892 #endif
893 HRESULT WINAPI IHttpNegotiate2_GetRootSecurityId_Proxy(IHttpNegotiate2 *This,BYTE *pbSecurityId,DWORD *pcbSecurityId,DWORD_PTR dwReserved);
894 void __RPC_STUB IHttpNegotiate2_GetRootSecurityId_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
895 #endif
896 #endif
897
898 #ifndef _LPWININETFILESTREAM_DEFINED
899 #define _LPWININETFILESTREAM_DEFINED
900 extern RPC_IF_HANDLE __MIDL_itf_urlmon_0185_v0_0_c_ifspec;
901 extern RPC_IF_HANDLE __MIDL_itf_urlmon_0185_v0_0_s_ifspec;
902 #ifndef __IWinInetFileStream_INTERFACE_DEFINED__
903 #define __IWinInetFileStream_INTERFACE_DEFINED__
904 typedef IWinInetFileStream *LPWININETFILESTREAM;
905
906 EXTERN_C const IID IID_IWinInetFileStream;
907 #if defined(__cplusplus) && !defined(CINTERFACE)
908 struct IWinInetFileStream : public IUnknown {
909 public:
910 virtual HRESULT WINAPI SetHandleForUnlock(DWORD_PTR hWinInetLockHandle,DWORD_PTR dwReserved) = 0;
911 virtual HRESULT WINAPI SetDeleteFile(DWORD_PTR dwReserved) = 0;
912 };
913 #else
914 typedef struct IWinInetFileStreamVtbl {
915 BEGIN_INTERFACE
916 HRESULT (WINAPI *QueryInterface)(IWinInetFileStream *This,REFIID riid,void **ppvObject);
917 ULONG (WINAPI *AddRef)(IWinInetFileStream *This);
918 ULONG (WINAPI *Release)(IWinInetFileStream *This);
919 HRESULT (WINAPI *SetHandleForUnlock)(IWinInetFileStream *This,DWORD_PTR hWinInetLockHandle,DWORD_PTR dwReserved);
920 HRESULT (WINAPI *SetDeleteFile)(IWinInetFileStream *This,DWORD_PTR dwReserved);
921 END_INTERFACE
922 } IWinInetFileStreamVtbl;
923 struct IWinInetFileStream {
924 CONST_VTBL struct IWinInetFileStreamVtbl *lpVtbl;
925 };
926 #ifdef COBJMACROS
927 #define IWinInetFileStream_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject)
928 #define IWinInetFileStream_AddRef(This) (This)->lpVtbl->AddRef(This)
929 #define IWinInetFileStream_Release(This) (This)->lpVtbl->Release(This)
930 #define IWinInetFileStream_SetHandleForUnlock(This,hWinInetLockHandle,dwReserved) (This)->lpVtbl->SetHandleForUnlock(This,hWinInetLockHandle,dwReserved)
931 #define IWinInetFileStream_SetDeleteFile(This,dwReserved) (This)->lpVtbl->SetDeleteFile(This,dwReserved)
932 #endif
933 #endif
934 HRESULT WINAPI IWinInetFileStream_SetHandleForUnlock_Proxy(IWinInetFileStream *This,DWORD_PTR hWinInetLockHandle,DWORD_PTR dwReserved);
935 void __RPC_STUB IWinInetFileStream_SetHandleForUnlock_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
936 HRESULT WINAPI IWinInetFileStream_SetDeleteFile_Proxy(IWinInetFileStream *This,DWORD_PTR dwReserved);
937 void __RPC_STUB IWinInetFileStream_SetDeleteFile_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
938 #endif
939 #endif
940
941 #ifndef _LPWINDOWFORBINDINGUI_DEFINED
942 #define _LPWINDOWFORBINDINGUI_DEFINED
943 extern RPC_IF_HANDLE __MIDL_itf_urlmon_0186_v0_0_c_ifspec;
944 extern RPC_IF_HANDLE __MIDL_itf_urlmon_0186_v0_0_s_ifspec;
945 #ifndef __IWindowForBindingUI_INTERFACE_DEFINED__
946 #define __IWindowForBindingUI_INTERFACE_DEFINED__
947 typedef IWindowForBindingUI *LPWINDOWFORBINDINGUI;
948
949 EXTERN_C const IID IID_IWindowForBindingUI;
950 #if defined(__cplusplus) && !defined(CINTERFACE)
951 struct IWindowForBindingUI : public IUnknown {
952 public:
953 virtual HRESULT WINAPI GetWindow(REFGUID rguidReason,HWND *phwnd) = 0;
954 };
955 #else
956 typedef struct IWindowForBindingUIVtbl {
957 BEGIN_INTERFACE
958 HRESULT (WINAPI *QueryInterface)(IWindowForBindingUI *This,REFIID riid,void **ppvObject);
959 ULONG (WINAPI *AddRef)(IWindowForBindingUI *This);
960 ULONG (WINAPI *Release)(IWindowForBindingUI *This);
961 HRESULT (WINAPI *GetWindow)(IWindowForBindingUI *This,REFGUID rguidReason,HWND *phwnd);
962 END_INTERFACE
963 } IWindowForBindingUIVtbl;
964 struct IWindowForBindingUI {
965 CONST_VTBL struct IWindowForBindingUIVtbl *lpVtbl;
966 };
967 #ifdef COBJMACROS
968 #define IWindowForBindingUI_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject)
969 #define IWindowForBindingUI_AddRef(This) (This)->lpVtbl->AddRef(This)
970 #define IWindowForBindingUI_Release(This) (This)->lpVtbl->Release(This)
971 #define IWindowForBindingUI_GetWindow(This,rguidReason,phwnd) (This)->lpVtbl->GetWindow(This,rguidReason,phwnd)
972 #endif
973 #endif
974 HRESULT WINAPI IWindowForBindingUI_GetWindow_Proxy(IWindowForBindingUI *This,REFGUID rguidReason,HWND *phwnd);
975 void __RPC_STUB IWindowForBindingUI_GetWindow_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
976 #endif
977 #endif
978
979 #ifndef _LPCODEINSTALL_DEFINED
980 #define _LPCODEINSTALL_DEFINED
981 extern RPC_IF_HANDLE __MIDL_itf_urlmon_0187_v0_0_c_ifspec;
982 extern RPC_IF_HANDLE __MIDL_itf_urlmon_0187_v0_0_s_ifspec;
983 #ifndef __ICodeInstall_INTERFACE_DEFINED__
984 #define __ICodeInstall_INTERFACE_DEFINED__
985 typedef ICodeInstall *LPCODEINSTALL;
986
987 typedef enum __MIDL_ICodeInstall_0001 {
988 CIP_DISK_FULL = 0,
989 CIP_ACCESS_DENIED,CIP_NEWER_VERSION_EXISTS,CIP_OLDER_VERSION_EXISTS,
990 CIP_NAME_CONFLICT,CIP_TRUST_VERIFICATION_COMPONENT_MISSING,CIP_EXE_SELF_REGISTERATION_TIMEOUT,
991 CIP_UNSAFE_TO_ABORT,CIP_NEED_REBOOT,CIP_NEED_REBOOT_UI_PERMISSION
992 } CIP_STATUS;
993
994 EXTERN_C const IID IID_ICodeInstall;
995 #if defined(__cplusplus) && !defined(CINTERFACE)
996 struct ICodeInstall : public IWindowForBindingUI {
997 public:
998 virtual HRESULT WINAPI OnCodeInstallProblem(ULONG ulStatusCode,LPCWSTR szDestination,LPCWSTR szSource,DWORD dwReserved) = 0;
999 };
1000 #else
1001 typedef struct ICodeInstallVtbl {
1002 BEGIN_INTERFACE
1003 HRESULT (WINAPI *QueryInterface)(ICodeInstall *This,REFIID riid,void **ppvObject);
1004 ULONG (WINAPI *AddRef)(ICodeInstall *This);
1005 ULONG (WINAPI *Release)(ICodeInstall *This);
1006 HRESULT (WINAPI *GetWindow)(ICodeInstall *This,REFGUID rguidReason,HWND *phwnd);
1007 HRESULT (WINAPI *OnCodeInstallProblem)(ICodeInstall *This,ULONG ulStatusCode,LPCWSTR szDestination,LPCWSTR szSource,DWORD dwReserved);
1008 END_INTERFACE
1009 } ICodeInstallVtbl;
1010 struct ICodeInstall {
1011 CONST_VTBL struct ICodeInstallVtbl *lpVtbl;
1012 };
1013 #ifdef COBJMACROS
1014 #define ICodeInstall_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject)
1015 #define ICodeInstall_AddRef(This) (This)->lpVtbl->AddRef(This)
1016 #define ICodeInstall_Release(This) (This)->lpVtbl->Release(This)
1017 #define ICodeInstall_GetWindow(This,rguidReason,phwnd) (This)->lpVtbl->GetWindow(This,rguidReason,phwnd)
1018 #define ICodeInstall_OnCodeInstallProblem(This,ulStatusCode,szDestination,szSource,dwReserved) (This)->lpVtbl->OnCodeInstallProblem(This,ulStatusCode,szDestination,szSource,dwReserved)
1019 #endif
1020 #endif
1021 HRESULT WINAPI ICodeInstall_OnCodeInstallProblem_Proxy(ICodeInstall *This,ULONG ulStatusCode,LPCWSTR szDestination,LPCWSTR szSource,DWORD dwReserved);
1022 void __RPC_STUB ICodeInstall_OnCodeInstallProblem_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
1023 #endif
1024 #endif
1025
1026 #ifndef _LPWININETINFO_DEFINED
1027 #define _LPWININETINFO_DEFINED
1028 extern RPC_IF_HANDLE __MIDL_itf_urlmon_0188_v0_0_c_ifspec;
1029 extern RPC_IF_HANDLE __MIDL_itf_urlmon_0188_v0_0_s_ifspec;
1030 #ifndef __IWinInetInfo_INTERFACE_DEFINED__
1031 #define __IWinInetInfo_INTERFACE_DEFINED__
1032 typedef IWinInetInfo *LPWININETINFO;
1033
1034 EXTERN_C const IID IID_IWinInetInfo;
1035 #if defined(__cplusplus) && !defined(CINTERFACE)
1036 struct IWinInetInfo : public IUnknown {
1037 public:
1038 virtual HRESULT WINAPI QueryOption(DWORD dwOption,LPVOID pBuffer,DWORD *pcbBuf) = 0;
1039 };
1040 #else
1041 typedef struct IWinInetInfoVtbl {
1042 BEGIN_INTERFACE
1043 HRESULT (WINAPI *QueryInterface)(IWinInetInfo *This,REFIID riid,void **ppvObject);
1044 ULONG (WINAPI *AddRef)(IWinInetInfo *This);
1045 ULONG (WINAPI *Release)(IWinInetInfo *This);
1046 HRESULT (WINAPI *QueryOption)(IWinInetInfo *This,DWORD dwOption,LPVOID pBuffer,DWORD *pcbBuf);
1047 END_INTERFACE
1048 } IWinInetInfoVtbl;
1049 struct IWinInetInfo {
1050 CONST_VTBL struct IWinInetInfoVtbl *lpVtbl;
1051 };
1052 #ifdef COBJMACROS
1053 #define IWinInetInfo_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject)
1054 #define IWinInetInfo_AddRef(This) (This)->lpVtbl->AddRef(This)
1055 #define IWinInetInfo_Release(This) (This)->lpVtbl->Release(This)
1056 #define IWinInetInfo_QueryOption(This,dwOption,pBuffer,pcbBuf) (This)->lpVtbl->QueryOption(This,dwOption,pBuffer,pcbBuf)
1057 #endif
1058 #endif
1059 HRESULT WINAPI IWinInetInfo_RemoteQueryOption_Proxy(IWinInetInfo *This,DWORD dwOption,BYTE *pBuffer,DWORD *pcbBuf);
1060 void __RPC_STUB IWinInetInfo_RemoteQueryOption_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
1061 #endif
1062 #endif
1063 #define WININETINFO_OPTION_LOCK_HANDLE 65534
1064
1065 #ifndef _LPHTTPSECURITY_DEFINED
1066 #define _LPHTTPSECURITY_DEFINED
1067 extern RPC_IF_HANDLE __MIDL_itf_urlmon_0189_v0_0_c_ifspec;
1068 extern RPC_IF_HANDLE __MIDL_itf_urlmon_0189_v0_0_s_ifspec;
1069 #ifndef __IHttpSecurity_INTERFACE_DEFINED__
1070 #define __IHttpSecurity_INTERFACE_DEFINED__
1071
1072 typedef IHttpSecurity *LPHTTPSECURITY;
1073
1074 EXTERN_C const IID IID_IHttpSecurity;
1075 #if defined(__cplusplus) && !defined(CINTERFACE)
1076 struct IHttpSecurity : public IWindowForBindingUI {
1077 public:
1078 virtual HRESULT WINAPI OnSecurityProblem(DWORD dwProblem) = 0;
1079 };
1080 #else
1081 typedef struct IHttpSecurityVtbl {
1082 BEGIN_INTERFACE
1083 HRESULT (WINAPI *QueryInterface)(IHttpSecurity *This,REFIID riid,void **ppvObject);
1084 ULONG (WINAPI *AddRef)(IHttpSecurity *This);
1085 ULONG (WINAPI *Release)(IHttpSecurity *This);
1086 HRESULT (WINAPI *GetWindow)(IHttpSecurity *This,REFGUID rguidReason,HWND *phwnd);
1087 HRESULT (WINAPI *OnSecurityProblem)(IHttpSecurity *This,DWORD dwProblem);
1088 END_INTERFACE
1089 } IHttpSecurityVtbl;
1090 struct IHttpSecurity {
1091 CONST_VTBL struct IHttpSecurityVtbl *lpVtbl;
1092 };
1093 #ifdef COBJMACROS
1094 #define IHttpSecurity_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject)
1095 #define IHttpSecurity_AddRef(This) (This)->lpVtbl->AddRef(This)
1096 #define IHttpSecurity_Release(This) (This)->lpVtbl->Release(This)
1097 #define IHttpSecurity_GetWindow(This,rguidReason,phwnd) (This)->lpVtbl->GetWindow(This,rguidReason,phwnd)
1098 #define IHttpSecurity_OnSecurityProblem(This,dwProblem) (This)->lpVtbl->OnSecurityProblem(This,dwProblem)
1099 #endif
1100 #endif
1101 HRESULT WINAPI IHttpSecurity_OnSecurityProblem_Proxy(IHttpSecurity *This,DWORD dwProblem);
1102 void __RPC_STUB IHttpSecurity_OnSecurityProblem_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
1103 #endif
1104 #endif
1105
1106 #ifndef _LPWININETHTTPINFO_DEFINED
1107 #define _LPWININETHTTPINFO_DEFINED
1108 extern RPC_IF_HANDLE __MIDL_itf_urlmon_0190_v0_0_c_ifspec;
1109 extern RPC_IF_HANDLE __MIDL_itf_urlmon_0190_v0_0_s_ifspec;
1110 #ifndef __IWinInetHttpInfo_INTERFACE_DEFINED__
1111 #define __IWinInetHttpInfo_INTERFACE_DEFINED__
1112 typedef IWinInetHttpInfo *LPWININETHTTPINFO;
1113
1114 EXTERN_C const IID IID_IWinInetHttpInfo;
1115 #if defined(__cplusplus) && !defined(CINTERFACE)
1116 struct IWinInetHttpInfo : public IWinInetInfo {
1117 public:
1118 virtual HRESULT WINAPI QueryInfo(DWORD dwOption,LPVOID pBuffer,DWORD *pcbBuf,DWORD *pdwFlags,DWORD *pdwReserved) = 0;
1119 };
1120 #else
1121 typedef struct IWinInetHttpInfoVtbl {
1122 BEGIN_INTERFACE
1123 HRESULT (WINAPI *QueryInterface)(IWinInetHttpInfo *This,REFIID riid,void **ppvObject);
1124 ULONG (WINAPI *AddRef)(IWinInetHttpInfo *This);
1125 ULONG (WINAPI *Release)(IWinInetHttpInfo *This);
1126 HRESULT (WINAPI *QueryOption)(IWinInetHttpInfo *This,DWORD dwOption,LPVOID pBuffer,DWORD *pcbBuf);
1127 HRESULT (WINAPI *QueryInfo)(IWinInetHttpInfo *This,DWORD dwOption,LPVOID pBuffer,DWORD *pcbBuf,DWORD *pdwFlags,DWORD *pdwReserved);
1128 END_INTERFACE
1129 } IWinInetHttpInfoVtbl;
1130 struct IWinInetHttpInfo {
1131 CONST_VTBL struct IWinInetHttpInfoVtbl *lpVtbl;
1132 };
1133 #ifdef COBJMACROS
1134 #define IWinInetHttpInfo_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject)
1135 #define IWinInetHttpInfo_AddRef(This) (This)->lpVtbl->AddRef(This)
1136 #define IWinInetHttpInfo_Release(This) (This)->lpVtbl->Release(This)
1137 #define IWinInetHttpInfo_QueryOption(This,dwOption,pBuffer,pcbBuf) (This)->lpVtbl->QueryOption(This,dwOption,pBuffer,pcbBuf)
1138 #define IWinInetHttpInfo_QueryInfo(This,dwOption,pBuffer,pcbBuf,pdwFlags,pdwReserved) (This)->lpVtbl->QueryInfo(This,dwOption,pBuffer,pcbBuf,pdwFlags,pdwReserved)
1139 #endif
1140 #endif
1141 HRESULT WINAPI IWinInetHttpInfo_RemoteQueryInfo_Proxy(IWinInetHttpInfo *This,DWORD dwOption,BYTE *pBuffer,DWORD *pcbBuf,DWORD *pdwFlags,DWORD *pdwReserved);
1142 void __RPC_STUB IWinInetHttpInfo_RemoteQueryInfo_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
1143 #endif
1144 #endif
1145
1146 #ifndef _LPWININETCACHEHINTS_DEFINED
1147 #define _LPWININETCACHEHINTS_DEFINED
1148 extern RPC_IF_HANDLE __MIDL_itf_urlmon_0191_v0_0_c_ifspec;
1149 extern RPC_IF_HANDLE __MIDL_itf_urlmon_0191_v0_0_s_ifspec;
1150 #ifndef __IWinInetCacheHints_INTERFACE_DEFINED__
1151 #define __IWinInetCacheHints_INTERFACE_DEFINED__
1152 typedef IWinInetCacheHints *LPWININETCACHEHINTS;
1153
1154 EXTERN_C const IID IID_IWinInetCacheHints;
1155 #if defined(__cplusplus) && !defined(CINTERFACE)
1156 struct IWinInetCacheHints : public IUnknown {
1157 public:
1158 virtual HRESULT WINAPI SetCacheExtension(LPCWSTR pwzExt,LPVOID pszCacheFile,DWORD *pcbCacheFile,DWORD *pdwWinInetError,DWORD *pdwReserved) = 0;
1159 };
1160 #else
1161 typedef struct IWinInetCacheHintsVtbl {
1162 BEGIN_INTERFACE
1163 HRESULT (WINAPI *QueryInterface)(IWinInetCacheHints *This,REFIID riid,void **ppvObject);
1164 ULONG (WINAPI *AddRef)(IWinInetCacheHints *This);
1165 ULONG (WINAPI *Release)(IWinInetCacheHints *This);
1166 HRESULT (WINAPI *SetCacheExtension)(IWinInetCacheHints *This,LPCWSTR pwzExt,LPVOID pszCacheFile,DWORD *pcbCacheFile,DWORD *pdwWinInetError,DWORD *pdwReserved);
1167 END_INTERFACE
1168 } IWinInetCacheHintsVtbl;
1169 struct IWinInetCacheHints {
1170 CONST_VTBL struct IWinInetCacheHintsVtbl *lpVtbl;
1171 };
1172 #ifdef COBJMACROS
1173 #define IWinInetCacheHints_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject)
1174 #define IWinInetCacheHints_AddRef(This) (This)->lpVtbl->AddRef(This)
1175 #define IWinInetCacheHints_Release(This) (This)->lpVtbl->Release(This)
1176 #define IWinInetCacheHints_SetCacheExtension(This,pwzExt,pszCacheFile,pcbCacheFile,pdwWinInetError,pdwReserved) (This)->lpVtbl->SetCacheExtension(This,pwzExt,pszCacheFile,pcbCacheFile,pdwWinInetError,pdwReserved)
1177 #endif
1178 #endif
1179 HRESULT WINAPI IWinInetCacheHints_SetCacheExtension_Proxy(IWinInetCacheHints *This,LPCWSTR pwzExt,LPVOID pszCacheFile,DWORD *pcbCacheFile,DWORD *pdwWinInetError,DWORD *pdwReserved);
1180 void __RPC_STUB IWinInetCacheHints_SetCacheExtension_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
1181 #endif
1182 #endif
1183
1184 #define SID_IBindHost IID_IBindHost
1185 #define SID_SBindHost IID_IBindHost
1186 #ifndef _LPBINDHOST_DEFINED
1187 #define _LPBINDHOST_DEFINED
1188 EXTERN_C const GUID SID_BindHost;
1189
1190 extern RPC_IF_HANDLE __MIDL_itf_urlmon_0192_v0_0_c_ifspec;
1191 extern RPC_IF_HANDLE __MIDL_itf_urlmon_0192_v0_0_s_ifspec;
1192 #ifndef __IBindHost_INTERFACE_DEFINED__
1193 #define __IBindHost_INTERFACE_DEFINED__
1194 typedef IBindHost *LPBINDHOST;
1195
1196 EXTERN_C const IID IID_IBindHost;
1197 #if defined(__cplusplus) && !defined(CINTERFACE)
1198 struct IBindHost : public IUnknown {
1199 public:
1200 virtual HRESULT WINAPI CreateMoniker(LPOLESTR szName,IBindCtx *pBC,IMoniker **ppmk,DWORD dwReserved) = 0;
1201 virtual HRESULT WINAPI MonikerBindToStorage(IMoniker *pMk,IBindCtx *pBC,IBindStatusCallback *pBSC,REFIID riid,void **ppvObj) = 0;
1202 virtual HRESULT WINAPI MonikerBindToObject(IMoniker *pMk,IBindCtx *pBC,IBindStatusCallback *pBSC,REFIID riid,void **ppvObj) = 0;
1203 };
1204 #else
1205 typedef struct IBindHostVtbl {
1206 BEGIN_INTERFACE
1207 HRESULT (WINAPI *QueryInterface)(IBindHost *This,REFIID riid,void **ppvObject);
1208 ULONG (WINAPI *AddRef)(IBindHost *This);
1209 ULONG (WINAPI *Release)(IBindHost *This);
1210 HRESULT (WINAPI *CreateMoniker)(IBindHost *This,LPOLESTR szName,IBindCtx *pBC,IMoniker **ppmk,DWORD dwReserved);
1211 HRESULT (WINAPI *MonikerBindToStorage)(IBindHost *This,IMoniker *pMk,IBindCtx *pBC,IBindStatusCallback *pBSC,REFIID riid,void **ppvObj);
1212 HRESULT (WINAPI *MonikerBindToObject)(IBindHost *This,IMoniker *pMk,IBindCtx *pBC,IBindStatusCallback *pBSC,REFIID riid,void **ppvObj);
1213 END_INTERFACE
1214 } IBindHostVtbl;
1215 struct IBindHost {
1216 CONST_VTBL struct IBindHostVtbl *lpVtbl;
1217 };
1218 #ifdef COBJMACROS
1219 #define IBindHost_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject)
1220 #define IBindHost_AddRef(This) (This)->lpVtbl->AddRef(This)
1221 #define IBindHost_Release(This) (This)->lpVtbl->Release(This)
1222 #define IBindHost_CreateMoniker(This,szName,pBC,ppmk,dwReserved) (This)->lpVtbl->CreateMoniker(This,szName,pBC,ppmk,dwReserved)
1223 #define IBindHost_MonikerBindToStorage(This,pMk,pBC,pBSC,riid,ppvObj) (This)->lpVtbl->MonikerBindToStorage(This,pMk,pBC,pBSC,riid,ppvObj)
1224 #define IBindHost_MonikerBindToObject(This,pMk,pBC,pBSC,riid,ppvObj) (This)->lpVtbl->MonikerBindToObject(This,pMk,pBC,pBSC,riid,ppvObj)
1225 #endif
1226 #endif
1227 HRESULT WINAPI IBindHost_CreateMoniker_Proxy(IBindHost *This,LPOLESTR szName,IBindCtx *pBC,IMoniker **ppmk,DWORD dwReserved);
1228 void __RPC_STUB IBindHost_CreateMoniker_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
1229 HRESULT WINAPI IBindHost_RemoteMonikerBindToStorage_Proxy(IBindHost *This,IMoniker *pMk,IBindCtx *pBC,IBindStatusCallback *pBSC,REFIID riid,IUnknown **ppvObj);
1230 void __RPC_STUB IBindHost_RemoteMonikerBindToStorage_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
1231 HRESULT WINAPI IBindHost_RemoteMonikerBindToObject_Proxy(IBindHost *This,IMoniker *pMk,IBindCtx *pBC,IBindStatusCallback *pBSC,REFIID riid,IUnknown **ppvObj);
1232 void __RPC_STUB IBindHost_RemoteMonikerBindToObject_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
1233 #endif
1234 #endif
1235
1236 #define URLOSTRM_USECACHEDCOPY_ONLY 0x1
1237 #define URLOSTRM_USECACHEDCOPY 0x2
1238 #define URLOSTRM_GETNEWESTVERSION 0x3
1239
1240 struct IBindStatusCallback;
1241
1242 STDAPI HlinkSimpleNavigateToString(LPCWSTR szTarget,LPCWSTR szLocation,LPCWSTR szTargetFrameName,IUnknown *pUnk,IBindCtx *pbc,IBindStatusCallback *,DWORD grfHLNF,DWORD dwReserved);
1243 STDAPI HlinkSimpleNavigateToMoniker(IMoniker *pmkTarget,LPCWSTR szLocation,LPCWSTR szTargetFrameName,IUnknown *pUnk,IBindCtx *pbc,IBindStatusCallback *,DWORD grfHLNF,DWORD dwReserved);
1244 STDAPI URLOpenStreamA(LPUNKNOWN,LPCSTR,DWORD,LPBINDSTATUSCALLBACK);
1245 STDAPI URLOpenStreamW(LPUNKNOWN,LPCWSTR,DWORD,LPBINDSTATUSCALLBACK);
1246 STDAPI URLOpenPullStreamA(LPUNKNOWN,LPCSTR,DWORD,LPBINDSTATUSCALLBACK);
1247 STDAPI URLOpenPullStreamW(LPUNKNOWN,LPCWSTR,DWORD,LPBINDSTATUSCALLBACK);
1248 STDAPI URLDownloadToFileA(LPUNKNOWN,LPCSTR,LPCSTR,DWORD,LPBINDSTATUSCALLBACK);
1249 STDAPI URLDownloadToFileW(LPUNKNOWN,LPCWSTR,LPCWSTR,DWORD,LPBINDSTATUSCALLBACK);
1250 STDAPI URLDownloadToCacheFileA(LPUNKNOWN,LPCSTR,LPTSTR,DWORD,DWORD,LPBINDSTATUSCALLBACK);
1251 STDAPI URLDownloadToCacheFileW(LPUNKNOWN,LPCWSTR,LPWSTR,DWORD,DWORD,LPBINDSTATUSCALLBACK);
1252 STDAPI URLOpenBlockingStreamA(LPUNKNOWN,LPCSTR,LPSTREAM*,DWORD,LPBINDSTATUSCALLBACK);
1253 STDAPI URLOpenBlockingStreamW(LPUNKNOWN,LPCWSTR,LPSTREAM*,DWORD,LPBINDSTATUSCALLBACK);
1254
1255 #ifdef UNICODE
1256 #define URLOpenStream URLOpenStreamW
1257 #define URLOpenPullStream URLOpenPullStreamW
1258 #define URLDownloadToFile URLDownloadToFileW
1259 #define URLDownloadToCacheFile URLDownloadToCacheFileW
1260 #define URLOpenBlockingStream URLOpenBlockingStreamW
1261 #else
1262 #define URLOpenStream URLOpenStreamA
1263 #define URLOpenPullStream URLOpenPullStreamA
1264 #define URLDownloadToFile URLDownloadToFileA
1265 #define URLDownloadToCacheFile URLDownloadToCacheFileA
1266 #define URLOpenBlockingStream URLOpenBlockingStreamA
1267 #endif
1268
1269 STDAPI HlinkGoBack(IUnknown *pUnk);
1270 STDAPI HlinkGoForward(IUnknown *pUnk);
1271 STDAPI HlinkNavigateString(IUnknown *pUnk,LPCWSTR szTarget);
1272 STDAPI HlinkNavigateMoniker(IUnknown *pUnk,IMoniker *pmkTarget);
1273
1274 #ifndef _URLMON_NO_ASYNC_PLUGABLE_PROTOCOLS_
1275
1276 #ifndef _LPIINTERNET
1277 #define _LPIINTERNET
1278 extern RPC_IF_HANDLE __MIDL_itf_urlmon_0193_v0_0_c_ifspec;
1279 extern RPC_IF_HANDLE __MIDL_itf_urlmon_0193_v0_0_s_ifspec;
1280 #ifndef __IInternet_INTERFACE_DEFINED__
1281 #define __IInternet_INTERFACE_DEFINED__
1282 typedef IInternet *LPIINTERNET;
1283
1284 EXTERN_C const IID IID_IInternet;
1285 #if defined(__cplusplus) && !defined(CINTERFACE)
1286 struct IInternet : public IUnknown {
1287 };
1288 #else
1289 typedef struct IInternetVtbl {
1290 BEGIN_INTERFACE
1291 HRESULT (WINAPI *QueryInterface)(IInternet *This,REFIID riid,void **ppvObject);
1292 ULONG (WINAPI *AddRef)(IInternet *This);
1293 ULONG (WINAPI *Release)(IInternet *This);
1294 END_INTERFACE
1295 } IInternetVtbl;
1296 struct IInternet {
1297 CONST_VTBL struct IInternetVtbl *lpVtbl;
1298 };
1299 #ifdef COBJMACROS
1300 #define IInternet_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject)
1301 #define IInternet_AddRef(This) (This)->lpVtbl->AddRef(This)
1302 #define IInternet_Release(This) (This)->lpVtbl->Release(This)
1303 #endif
1304 #endif
1305 #endif
1306 #endif
1307
1308 #ifndef _LPIINTERNETBINDINFO
1309 #define _LPIINTERNETBINDINFO
1310 extern RPC_IF_HANDLE __MIDL_itf_urlmon_0194_v0_0_c_ifspec;
1311 extern RPC_IF_HANDLE __MIDL_itf_urlmon_0194_v0_0_s_ifspec;
1312 #ifndef __IInternetBindInfo_INTERFACE_DEFINED__
1313 #define __IInternetBindInfo_INTERFACE_DEFINED__
1314
1315 typedef IInternetBindInfo *LPIINTERNETBINDINFO;
1316
1317 typedef enum tagBINDSTRING {
1318 BINDSTRING_HEADERS = 1,
1319 BINDSTRING_ACCEPT_MIMES,BINDSTRING_EXTRA_URL,BINDSTRING_LANGUAGE,BINDSTRING_USERNAME,
1320 BINDSTRING_PASSWORD,BINDSTRING_UA_PIXELS,BINDSTRING_UA_COLOR,BINDSTRING_OS,
1321 BINDSTRING_USER_AGENT,BINDSTRING_ACCEPT_ENCODINGS,BINDSTRING_POST_COOKIE,
1322 BINDSTRING_POST_DATA_MIME,BINDSTRING_URL,BINDSTRING_IID,BINDSTRING_FLAG_BIND_TO_OBJECT,
1323 BINDSTRING_PTR_BIND_CONTEXT
1324 } BINDSTRING;
1325
1326 EXTERN_C const IID IID_IInternetBindInfo;
1327 #if defined(__cplusplus) && !defined(CINTERFACE)
1328 struct IInternetBindInfo : public IUnknown {
1329 public:
1330 virtual HRESULT WINAPI GetBindInfo(DWORD *grfBINDF,BINDINFO *pbindinfo) = 0;
1331 virtual HRESULT WINAPI GetBindString(ULONG ulStringType,LPOLESTR *ppwzStr,ULONG cEl,ULONG *pcElFetched) = 0;
1332 };
1333 #else
1334 typedef struct IInternetBindInfoVtbl {
1335 BEGIN_INTERFACE
1336 HRESULT (WINAPI *QueryInterface)(IInternetBindInfo *This,REFIID riid,void **ppvObject);
1337 ULONG (WINAPI *AddRef)(IInternetBindInfo *This);
1338 ULONG (WINAPI *Release)(IInternetBindInfo *This);
1339 HRESULT (WINAPI *GetBindInfo)(IInternetBindInfo *This,DWORD *grfBINDF,BINDINFO *pbindinfo);
1340 HRESULT (WINAPI *GetBindString)(IInternetBindInfo *This,ULONG ulStringType,LPOLESTR *ppwzStr,ULONG cEl,ULONG *pcElFetched);
1341 END_INTERFACE
1342 } IInternetBindInfoVtbl;
1343 struct IInternetBindInfo {
1344 CONST_VTBL struct IInternetBindInfoVtbl *lpVtbl;
1345 };
1346 #ifdef COBJMACROS
1347 #define IInternetBindInfo_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject)
1348 #define IInternetBindInfo_AddRef(This) (This)->lpVtbl->AddRef(This)
1349 #define IInternetBindInfo_Release(This) (This)->lpVtbl->Release(This)
1350 #define IInternetBindInfo_GetBindInfo(This,grfBINDF,pbindinfo) (This)->lpVtbl->GetBindInfo(This,grfBINDF,pbindinfo)
1351 #define IInternetBindInfo_GetBindString(This,ulStringType,ppwzStr,cEl,pcElFetched) (This)->lpVtbl->GetBindString(This,ulStringType,ppwzStr,cEl,pcElFetched)
1352 #endif
1353 #endif
1354 HRESULT WINAPI IInternetBindInfo_GetBindInfo_Proxy(IInternetBindInfo *This,DWORD *grfBINDF,BINDINFO *pbindinfo);
1355 void __RPC_STUB IInternetBindInfo_GetBindInfo_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
1356 HRESULT WINAPI IInternetBindInfo_GetBindString_Proxy(IInternetBindInfo *This,ULONG ulStringType,LPOLESTR *ppwzStr,ULONG cEl,ULONG *pcElFetched);
1357 void __RPC_STUB IInternetBindInfo_GetBindString_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
1358 #endif
1359 #endif
1360
1361 #ifndef _LPIINTERNETPROTOCOLROOT_DEFINED
1362 #define _LPIINTERNETPROTOCOLROOT_DEFINED
1363 extern RPC_IF_HANDLE __MIDL_itf_urlmon_0195_v0_0_c_ifspec;
1364 extern RPC_IF_HANDLE __MIDL_itf_urlmon_0195_v0_0_s_ifspec;
1365 #ifndef __IInternetProtocolRoot_INTERFACE_DEFINED__
1366 #define __IInternetProtocolRoot_INTERFACE_DEFINED__
1367 typedef IInternetProtocolRoot *LPIINTERNETPROTOCOLROOT;
1368
1369 typedef enum _tagPI_FLAGS {
1370 PI_PARSE_URL = 0x1,PI_FILTER_MODE = 0x2,PI_FORCE_ASYNC = 0x4,PI_USE_WORKERTHREAD = 0x8,PI_MIMEVERIFICATION = 0x10,PI_CLSIDLOOKUP = 0x20,
1371 PI_DATAPROGRESS = 0x40,PI_SYNCHRONOUS = 0x80,PI_APARTMENTTHREADED = 0x100,PI_CLASSINSTALL = 0x200,PI_PASSONBINDCTX = 0x2000,
1372 PI_NOMIMEHANDLER = 0x8000,PI_LOADAPPDIRECT = 0x4000,PD_FORCE_SWITCH = 0x10000,PI_PREFERDEFAULTHANDLER = 0x20000
1373 } PI_FLAGS;
1374
1375 typedef struct _tagPROTOCOLDATA {
1376 DWORD grfFlags;
1377 DWORD dwState;
1378 LPVOID pData;
1379 ULONG cbData;
1380 } PROTOCOLDATA;
1381
1382 typedef struct _tagStartParam {
1383 IID iid;
1384 IBindCtx *pIBindCtx;
1385 IUnknown *pItf;
1386 } StartParam;
1387
1388 EXTERN_C const IID IID_IInternetProtocolRoot;
1389 #if defined(__cplusplus) && !defined(CINTERFACE)
1390 struct IInternetProtocolRoot : public IUnknown {
1391 public:
1392 virtual HRESULT WINAPI Start(LPCWSTR szUrl,IInternetProtocolSink *pOIProtSink,IInternetBindInfo *pOIBindInfo,DWORD grfPI,HANDLE_PTR dwReserved) = 0;
1393 virtual HRESULT WINAPI Continue(PROTOCOLDATA *pProtocolData) = 0;
1394 virtual HRESULT WINAPI Abort(HRESULT hrReason,DWORD dwOptions) = 0;
1395 virtual HRESULT WINAPI Terminate(DWORD dwOptions) = 0;
1396 virtual HRESULT WINAPI Suspend(void) = 0;
1397 virtual HRESULT WINAPI Resume(void) = 0;
1398 };
1399 #else
1400 typedef struct IInternetProtocolRootVtbl {
1401 BEGIN_INTERFACE
1402 HRESULT (WINAPI *QueryInterface)(IInternetProtocolRoot *This,REFIID riid,void **ppvObject);
1403 ULONG (WINAPI *AddRef)(IInternetProtocolRoot *This);
1404 ULONG (WINAPI *Release)(IInternetProtocolRoot *This);
1405 HRESULT (WINAPI *Start)(IInternetProtocolRoot *This,LPCWSTR szUrl,IInternetProtocolSink *pOIProtSink,IInternetBindInfo *pOIBindInfo,DWORD grfPI,HANDLE_PTR dwReserved);
1406 HRESULT (WINAPI *Continue)(IInternetProtocolRoot *This,PROTOCOLDATA *pProtocolData);
1407 HRESULT (WINAPI *Abort)(IInternetProtocolRoot *This,HRESULT hrReason,DWORD dwOptions);
1408 HRESULT (WINAPI *Terminate)(IInternetProtocolRoot *This,DWORD dwOptions);
1409 HRESULT (WINAPI *Suspend)(IInternetProtocolRoot *This);
1410 HRESULT (WINAPI *Resume)(IInternetProtocolRoot *This);
1411 END_INTERFACE
1412 } IInternetProtocolRootVtbl;
1413 struct IInternetProtocolRoot {
1414 CONST_VTBL struct IInternetProtocolRootVtbl *lpVtbl;
1415 };
1416 #ifdef COBJMACROS
1417 #define IInternetProtocolRoot_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject)
1418 #define IInternetProtocolRoot_AddRef(This) (This)->lpVtbl->AddRef(This)
1419 #define IInternetProtocolRoot_Release(This) (This)->lpVtbl->Release(This)
1420 #define IInternetProtocolRoot_Start(This,szUrl,pOIProtSink,pOIBindInfo,grfPI,dwReserved) (This)->lpVtbl->Start(This,szUrl,pOIProtSink,pOIBindInfo,grfPI,dwReserved)
1421 #define IInternetProtocolRoot_Continue(This,pProtocolData) (This)->lpVtbl->Continue(This,pProtocolData)
1422 #define IInternetProtocolRoot_Abort(This,hrReason,dwOptions) (This)->lpVtbl->Abort(This,hrReason,dwOptions)
1423 #define IInternetProtocolRoot_Terminate(This,dwOptions) (This)->lpVtbl->Terminate(This,dwOptions)
1424 #define IInternetProtocolRoot_Suspend(This) (This)->lpVtbl->Suspend(This)
1425 #define IInternetProtocolRoot_Resume(This) (This)->lpVtbl->Resume(This)
1426 #endif
1427 #endif
1428 HRESULT WINAPI IInternetProtocolRoot_Start_Proxy(IInternetProtocolRoot *This,LPCWSTR szUrl,IInternetProtocolSink *pOIProtSink,IInternetBindInfo *pOIBindInfo,DWORD grfPI,HANDLE_PTR dwReserved);
1429 void __RPC_STUB IInternetProtocolRoot_Start_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
1430 HRESULT WINAPI IInternetProtocolRoot_Continue_Proxy(IInternetProtocolRoot *This,PROTOCOLDATA *pProtocolData);
1431 void __RPC_STUB IInternetProtocolRoot_Continue_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
1432 HRESULT WINAPI IInternetProtocolRoot_Abort_Proxy(IInternetProtocolRoot *This,HRESULT hrReason,DWORD dwOptions);
1433 void __RPC_STUB IInternetProtocolRoot_Abort_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
1434 HRESULT WINAPI IInternetProtocolRoot_Terminate_Proxy(IInternetProtocolRoot *This,DWORD dwOptions);
1435 void __RPC_STUB IInternetProtocolRoot_Terminate_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
1436 HRESULT WINAPI IInternetProtocolRoot_Suspend_Proxy(IInternetProtocolRoot *This);
1437 void __RPC_STUB IInternetProtocolRoot_Suspend_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
1438 HRESULT WINAPI IInternetProtocolRoot_Resume_Proxy(IInternetProtocolRoot *This);
1439 void __RPC_STUB IInternetProtocolRoot_Resume_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
1440 #endif
1441 #endif
1442
1443 #ifndef _LPIINTERNETPROTOCOL_DEFINED
1444 #define _LPIINTERNETPROTOCOL_DEFINED
1445 extern RPC_IF_HANDLE __MIDL_itf_urlmon_0196_v0_0_c_ifspec;
1446 extern RPC_IF_HANDLE __MIDL_itf_urlmon_0196_v0_0_s_ifspec;
1447 #ifndef __IInternetProtocol_INTERFACE_DEFINED__
1448 #define __IInternetProtocol_INTERFACE_DEFINED__
1449 typedef IInternetProtocol *LPIINTERNETPROTOCOL;
1450
1451 EXTERN_C const IID IID_IInternetProtocol;
1452 #if defined(__cplusplus) && !defined(CINTERFACE)
1453 struct IInternetProtocol : public IInternetProtocolRoot {
1454 public:
1455 virtual HRESULT WINAPI Read(void *pv,ULONG cb,ULONG *pcbRead) = 0;
1456 virtual HRESULT WINAPI Seek(LARGE_INTEGER dlibMove,DWORD dwOrigin,ULARGE_INTEGER *plibNewPosition) = 0;
1457 virtual HRESULT WINAPI LockRequest(DWORD dwOptions) = 0;
1458 virtual HRESULT WINAPI UnlockRequest(void) = 0;
1459 };
1460 #else
1461 typedef struct IInternetProtocolVtbl {
1462 BEGIN_INTERFACE
1463 HRESULT (WINAPI *QueryInterface)(IInternetProtocol *This,REFIID riid,void **ppvObject);
1464 ULONG (WINAPI *AddRef)(IInternetProtocol *This);
1465 ULONG (WINAPI *Release)(IInternetProtocol *This);
1466 HRESULT (WINAPI *Start)(IInternetProtocol *This,LPCWSTR szUrl,IInternetProtocolSink *pOIProtSink,IInternetBindInfo *pOIBindInfo,DWORD grfPI,HANDLE_PTR dwReserved);
1467 HRESULT (WINAPI *Continue)(IInternetProtocol *This,PROTOCOLDATA *pProtocolData);
1468 HRESULT (WINAPI *Abort)(IInternetProtocol *This,HRESULT hrReason,DWORD dwOptions);
1469 HRESULT (WINAPI *Terminate)(IInternetProtocol *This,DWORD dwOptions);
1470 HRESULT (WINAPI *Suspend)(IInternetProtocol *This);
1471 HRESULT (WINAPI *Resume)(IInternetProtocol *This);
1472 HRESULT (WINAPI *Read)(IInternetProtocol *This,void *pv,ULONG cb,ULONG *pcbRead);
1473 HRESULT (WINAPI *Seek)(IInternetProtocol *This,LARGE_INTEGER dlibMove,DWORD dwOrigin,ULARGE_INTEGER *plibNewPosition);
1474 HRESULT (WINAPI *LockRequest)(IInternetProtocol *This,DWORD dwOptions);
1475 HRESULT (WINAPI *UnlockRequest)(IInternetProtocol *This);
1476 END_INTERFACE
1477 } IInternetProtocolVtbl;
1478 struct IInternetProtocol {
1479 CONST_VTBL struct IInternetProtocolVtbl *lpVtbl;
1480 };
1481 #ifdef COBJMACROS
1482 #define IInternetProtocol_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject)
1483 #define IInternetProtocol_AddRef(This) (This)->lpVtbl->AddRef(This)
1484 #define IInternetProtocol_Release(This) (This)->lpVtbl->Release(This)
1485 #define IInternetProtocol_Start(This,szUrl,pOIProtSink,pOIBindInfo,grfPI,dwReserved) (This)->lpVtbl->Start(This,szUrl,pOIProtSink,pOIBindInfo,grfPI,dwReserved)
1486 #define IInternetProtocol_Continue(This,pProtocolData) (This)->lpVtbl->Continue(This,pProtocolData)
1487 #define IInternetProtocol_Abort(This,hrReason,dwOptions) (This)->lpVtbl->Abort(This,hrReason,dwOptions)
1488 #define IInternetProtocol_Terminate(This,dwOptions) (This)->lpVtbl->Terminate(This,dwOptions)
1489 #define IInternetProtocol_Suspend(This) (This)->lpVtbl->Suspend(This)
1490 #define IInternetProtocol_Resume(This) (This)->lpVtbl->Resume(This)
1491 #define IInternetProtocol_Read(This,pv,cb,pcbRead) (This)->lpVtbl->Read(This,pv,cb,pcbRead)
1492 #define IInternetProtocol_Seek(This,dlibMove,dwOrigin,plibNewPosition) (This)->lpVtbl->Seek(This,dlibMove,dwOrigin,plibNewPosition)
1493 #define IInternetProtocol_LockRequest(This,dwOptions) (This)->lpVtbl->LockRequest(This,dwOptions)
1494 #define IInternetProtocol_UnlockRequest(This) (This)->lpVtbl->UnlockRequest(This)
1495 #endif
1496 #endif
1497 HRESULT WINAPI IInternetProtocol_Read_Proxy(IInternetProtocol *This,void *pv,ULONG cb,ULONG *pcbRead);
1498 void __RPC_STUB IInternetProtocol_Read_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
1499 HRESULT WINAPI IInternetProtocol_Seek_Proxy(IInternetProtocol *This,LARGE_INTEGER dlibMove,DWORD dwOrigin,ULARGE_INTEGER *plibNewPosition);
1500 void __RPC_STUB IInternetProtocol_Seek_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
1501 HRESULT WINAPI IInternetProtocol_LockRequest_Proxy(IInternetProtocol *This,DWORD dwOptions);
1502 void __RPC_STUB IInternetProtocol_LockRequest_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
1503 HRESULT WINAPI IInternetProtocol_UnlockRequest_Proxy(IInternetProtocol *This);
1504 void __RPC_STUB IInternetProtocol_UnlockRequest_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
1505 #endif
1506 #endif
1507
1508 #ifndef _LPIINTERNETPROTOCOLSINK_DEFINED
1509 #define _LPIINTERNETPROTOCOLSINK_DEFINED
1510 extern RPC_IF_HANDLE __MIDL_itf_urlmon_0197_v0_0_c_ifspec;
1511 extern RPC_IF_HANDLE __MIDL_itf_urlmon_0197_v0_0_s_ifspec;
1512 #ifndef __IInternetProtocolSink_INTERFACE_DEFINED__
1513 #define __IInternetProtocolSink_INTERFACE_DEFINED__
1514 typedef IInternetProtocolSink *LPIINTERNETPROTOCOLSINK;
1515
1516 EXTERN_C const IID IID_IInternetProtocolSink;
1517 #if defined(__cplusplus) && !defined(CINTERFACE)
1518 struct IInternetProtocolSink : public IUnknown {
1519 public:
1520 virtual HRESULT WINAPI Switch(PROTOCOLDATA *pProtocolData) = 0;
1521 virtual HRESULT WINAPI ReportProgress(ULONG ulStatusCode,LPCWSTR szStatusText) = 0;
1522 virtual HRESULT WINAPI ReportData(DWORD grfBSCF,ULONG ulProgress,ULONG ulProgressMax) = 0;
1523 virtual HRESULT WINAPI ReportResult(HRESULT hrResult,DWORD dwError,LPCWSTR szResult) = 0;
1524 };
1525 #else
1526 typedef struct IInternetProtocolSinkVtbl {
1527 BEGIN_INTERFACE
1528 HRESULT (WINAPI *QueryInterface)(IInternetProtocolSink *This,REFIID riid,void **ppvObject);
1529 ULONG (WINAPI *AddRef)(IInternetProtocolSink *This);
1530 ULONG (WINAPI *Release)(IInternetProtocolSink *This);
1531 HRESULT (WINAPI *Switch)(IInternetProtocolSink *This,PROTOCOLDATA *pProtocolData);
1532 HRESULT (WINAPI *ReportProgress)(IInternetProtocolSink *This,ULONG ulStatusCode,LPCWSTR szStatusText);
1533 HRESULT (WINAPI *ReportData)(IInternetProtocolSink *This,DWORD grfBSCF,ULONG ulProgress,ULONG ulProgressMax);
1534 HRESULT (WINAPI *ReportResult)(IInternetProtocolSink *This,HRESULT hrResult,DWORD dwError,LPCWSTR szResult);
1535 END_INTERFACE
1536 } IInternetProtocolSinkVtbl;
1537 struct IInternetProtocolSink {
1538 CONST_VTBL struct IInternetProtocolSinkVtbl *lpVtbl;
1539 };
1540 #ifdef COBJMACROS
1541 #define IInternetProtocolSink_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject)
1542 #define IInternetProtocolSink_AddRef(This) (This)->lpVtbl->AddRef(This)
1543 #define IInternetProtocolSink_Release(This) (This)->lpVtbl->Release(This)
1544 #define IInternetProtocolSink_Switch(This,pProtocolData) (This)->lpVtbl->Switch(This,pProtocolData)
1545 #define IInternetProtocolSink_ReportProgress(This,ulStatusCode,szStatusText) (This)->lpVtbl->ReportProgress(This,ulStatusCode,szStatusText)
1546 #define IInternetProtocolSink_ReportData(This,grfBSCF,ulProgress,ulProgressMax) (This)->lpVtbl->ReportData(This,grfBSCF,ulProgress,ulProgressMax)
1547 #define IInternetProtocolSink_ReportResult(This,hrResult,dwError,szResult) (This)->lpVtbl->ReportResult(This,hrResult,dwError,szResult)
1548 #endif
1549 #endif
1550 HRESULT WINAPI IInternetProtocolSink_Switch_Proxy(IInternetProtocolSink *This,PROTOCOLDATA *pProtocolData);
1551 void __RPC_STUB IInternetProtocolSink_Switch_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
1552 HRESULT WINAPI IInternetProtocolSink_ReportProgress_Proxy(IInternetProtocolSink *This,ULONG ulStatusCode,LPCWSTR szStatusText);
1553 void __RPC_STUB IInternetProtocolSink_ReportProgress_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
1554 HRESULT WINAPI IInternetProtocolSink_ReportData_Proxy(IInternetProtocolSink *This,DWORD grfBSCF,ULONG ulProgress,ULONG ulProgressMax);
1555 void __RPC_STUB IInternetProtocolSink_ReportData_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
1556 HRESULT WINAPI IInternetProtocolSink_ReportResult_Proxy(IInternetProtocolSink *This,HRESULT hrResult,DWORD dwError,LPCWSTR szResult);
1557 void __RPC_STUB IInternetProtocolSink_ReportResult_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
1558 #endif
1559 #endif
1560
1561 #ifndef _LPIINTERNETPROTOCOLSINKSTACKABLE_DEFINED
1562 #define _LPIINTERNETPROTOCOLSINKSTACKABLE_DEFINED
1563 extern RPC_IF_HANDLE __MIDL_itf_urlmon_0198_v0_0_c_ifspec;
1564 extern RPC_IF_HANDLE __MIDL_itf_urlmon_0198_v0_0_s_ifspec;
1565 #ifndef __IInternetProtocolSinkStackable_INTERFACE_DEFINED__
1566 #define __IInternetProtocolSinkStackable_INTERFACE_DEFINED__
1567 typedef IInternetProtocolSinkStackable *LPIINTERNETPROTOCOLSINKStackable;
1568
1569 EXTERN_C const IID IID_IInternetProtocolSinkStackable;
1570 #if defined(__cplusplus) && !defined(CINTERFACE)
1571 struct IInternetProtocolSinkStackable : public IUnknown {
1572 public:
1573 virtual HRESULT WINAPI SwitchSink(IInternetProtocolSink *pOIProtSink) = 0;
1574 virtual HRESULT WINAPI CommitSwitch(void) = 0;
1575 virtual HRESULT WINAPI RollbackSwitch(void) = 0;
1576 };
1577 #else
1578 typedef struct IInternetProtocolSinkStackableVtbl {
1579 BEGIN_INTERFACE
1580 HRESULT (WINAPI *QueryInterface)(IInternetProtocolSinkStackable *This,REFIID riid,void **ppvObject);
1581 ULONG (WINAPI *AddRef)(IInternetProtocolSinkStackable *This);
1582 ULONG (WINAPI *Release)(IInternetProtocolSinkStackable *This);
1583 HRESULT (WINAPI *SwitchSink)(IInternetProtocolSinkStackable *This,IInternetProtocolSink *pOIProtSink);
1584 HRESULT (WINAPI *CommitSwitch)(IInternetProtocolSinkStackable *This);
1585 HRESULT (WINAPI *RollbackSwitch)(IInternetProtocolSinkStackable *This);
1586 END_INTERFACE
1587 } IInternetProtocolSinkStackableVtbl;
1588 struct IInternetProtocolSinkStackable {
1589 CONST_VTBL struct IInternetProtocolSinkStackableVtbl *lpVtbl;
1590 };
1591 #ifdef COBJMACROS
1592 #define IInternetProtocolSinkStackable_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject)
1593 #define IInternetProtocolSinkStackable_AddRef(This) (This)->lpVtbl->AddRef(This)
1594 #define IInternetProtocolSinkStackable_Release(This) (This)->lpVtbl->Release(This)
1595 #define IInternetProtocolSinkStackable_SwitchSink(This,pOIProtSink) (This)->lpVtbl->SwitchSink(This,pOIProtSink)
1596 #define IInternetProtocolSinkStackable_CommitSwitch(This) (This)->lpVtbl->CommitSwitch(This)
1597 #define IInternetProtocolSinkStackable_RollbackSwitch(This) (This)->lpVtbl->RollbackSwitch(This)
1598 #endif
1599 #endif
1600 HRESULT WINAPI IInternetProtocolSinkStackable_SwitchSink_Proxy(IInternetProtocolSinkStackable *This,IInternetProtocolSink *pOIProtSink);
1601 void __RPC_STUB IInternetProtocolSinkStackable_SwitchSink_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
1602 HRESULT WINAPI IInternetProtocolSinkStackable_CommitSwitch_Proxy(IInternetProtocolSinkStackable *This);
1603 void __RPC_STUB IInternetProtocolSinkStackable_CommitSwitch_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
1604 HRESULT WINAPI IInternetProtocolSinkStackable_RollbackSwitch_Proxy(IInternetProtocolSinkStackable *This);
1605 void __RPC_STUB IInternetProtocolSinkStackable_RollbackSwitch_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
1606 #endif
1607 #endif
1608
1609 #ifndef _LPIINTERNETSESSION_DEFINED
1610 #define _LPIINTERNETSESSION_DEFINED
1611 extern RPC_IF_HANDLE __MIDL_itf_urlmon_0199_v0_0_c_ifspec;
1612 extern RPC_IF_HANDLE __MIDL_itf_urlmon_0199_v0_0_s_ifspec;
1613 #ifndef __IInternetSession_INTERFACE_DEFINED__
1614 #define __IInternetSession_INTERFACE_DEFINED__
1615 typedef IInternetSession *LPIINTERNETSESSION;
1616
1617 typedef enum _tagOIBDG_FLAGS {
1618 OIBDG_APARTMENTTHREADED = 0x100,OIBDG_DATAONLY = 0x1000
1619 } OIBDG_FLAGS;
1620
1621 EXTERN_C const IID IID_IInternetSession;
1622 #if defined(__cplusplus) && !defined(CINTERFACE)
1623 struct IInternetSession : public IUnknown {
1624 public:
1625 virtual HRESULT WINAPI RegisterNameSpace(IClassFactory *pCF,REFCLSID rclsid,LPCWSTR pwzProtocol,ULONG cPatterns,const LPCWSTR *ppwzPatterns,DWORD dwReserved) = 0;
1626 virtual HRESULT WINAPI UnregisterNameSpace(IClassFactory *pCF,LPCWSTR pszProtocol) = 0;
1627 virtual HRESULT WINAPI RegisterMimeFilter(IClassFactory *pCF,REFCLSID rclsid,LPCWSTR pwzType) = 0;
1628 virtual HRESULT WINAPI UnregisterMimeFilter(IClassFactory *pCF,LPCWSTR pwzType) = 0;
1629 virtual HRESULT WINAPI CreateBinding(LPBC pBC,LPCWSTR szUrl,IUnknown *pUnkOuter,IUnknown **ppUnk,IInternetProtocol **ppOInetProt,DWORD dwOption) = 0;
1630 virtual HRESULT WINAPI SetSessionOption(DWORD dwOption,LPVOID pBuffer,DWORD dwBufferLength,DWORD dwReserved) = 0;
1631 virtual HRESULT WINAPI GetSessionOption(DWORD dwOption,LPVOID pBuffer,DWORD *pdwBufferLength,DWORD dwReserved) = 0;
1632 };
1633 #else
1634 typedef struct IInternetSessionVtbl {
1635 BEGIN_INTERFACE
1636 HRESULT (WINAPI *QueryInterface)(IInternetSession *This,REFIID riid,void **ppvObject);
1637 ULONG (WINAPI *AddRef)(IInternetSession *This);
1638 ULONG (WINAPI *Release)(IInternetSession *This);
1639 HRESULT (WINAPI *RegisterNameSpace)(IInternetSession *This,IClassFactory *pCF,REFCLSID rclsid,LPCWSTR pwzProtocol,ULONG cPatterns,const LPCWSTR *ppwzPatterns,DWORD dwReserved);
1640 HRESULT (WINAPI *UnregisterNameSpace)(IInternetSession *This,IClassFactory *pCF,LPCWSTR pszProtocol);
1641 HRESULT (WINAPI *RegisterMimeFilter)(IInternetSession *This,IClassFactory *pCF,REFCLSID rclsid,LPCWSTR pwzType);
1642 HRESULT (WINAPI *UnregisterMimeFilter)(IInternetSession *This,IClassFactory *pCF,LPCWSTR pwzType);
1643 HRESULT (WINAPI *CreateBinding)(IInternetSession *This,LPBC pBC,LPCWSTR szUrl,IUnknown *pUnkOuter,IUnknown **ppUnk,IInternetProtocol **ppOInetProt,DWORD dwOption);
1644 HRESULT (WINAPI *SetSessionOption)(IInternetSession *This,DWORD dwOption,LPVOID pBuffer,DWORD dwBufferLength,DWORD dwReserved);
1645 HRESULT (WINAPI *GetSessionOption)(IInternetSession *This,DWORD dwOption,LPVOID pBuffer,DWORD *pdwBufferLength,DWORD dwReserved);
1646 END_INTERFACE
1647 } IInternetSessionVtbl;
1648 struct IInternetSession {
1649 CONST_VTBL struct IInternetSessionVtbl *lpVtbl;
1650 };
1651 #ifdef COBJMACROS
1652 #define IInternetSession_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject)
1653 #define IInternetSession_AddRef(This) (This)->lpVtbl->AddRef(This)
1654 #define IInternetSession_Release(This) (This)->lpVtbl->Release(This)
1655 #define IInternetSession_RegisterNameSpace(This,pCF,rclsid,pwzProtocol,cPatterns,ppwzPatterns,dwReserved) (This)->lpVtbl->RegisterNameSpace(This,pCF,rclsid,pwzProtocol,cPatterns,ppwzPatterns,dwReserved)
1656 #define IInternetSession_UnregisterNameSpace(This,pCF,pszProtocol) (This)->lpVtbl->UnregisterNameSpace(This,pCF,pszProtocol)
1657 #define IInternetSession_RegisterMimeFilter(This,pCF,rclsid,pwzType) (This)->lpVtbl->RegisterMimeFilter(This,pCF,rclsid,pwzType)
1658 #define IInternetSession_UnregisterMimeFilter(This,pCF,pwzType) (This)->lpVtbl->UnregisterMimeFilter(This,pCF,pwzType)
1659 #define IInternetSession_CreateBinding(This,pBC,szUrl,pUnkOuter,ppUnk,ppOInetProt,dwOption) (This)->lpVtbl->CreateBinding(This,pBC,szUrl,pUnkOuter,ppUnk,ppOInetProt,dwOption)
1660 #define IInternetSession_SetSessionOption(This,dwOption,pBuffer,dwBufferLength,dwReserved) (This)->lpVtbl->SetSessionOption(This,dwOption,pBuffer,dwBufferLength,dwReserved)
1661 #define IInternetSession_GetSessionOption(This,dwOption,pBuffer,pdwBufferLength,dwReserved) (This)->lpVtbl->GetSessionOption(This,dwOption,pBuffer,pdwBufferLength,dwReserved)
1662 #endif
1663 #endif
1664 HRESULT WINAPI IInternetSession_RegisterNameSpace_Proxy(IInternetSession *This,IClassFactory *pCF,REFCLSID rclsid,LPCWSTR pwzProtocol,ULONG cPatterns,const LPCWSTR *ppwzPatterns,DWORD dwReserved);
1665 void __RPC_STUB IInternetSession_RegisterNameSpace_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
1666 HRESULT WINAPI IInternetSession_UnregisterNameSpace_Proxy(IInternetSession *This,IClassFactory *pCF,LPCWSTR pszProtocol);
1667 void __RPC_STUB IInternetSession_UnregisterNameSpace_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
1668 HRESULT WINAPI IInternetSession_RegisterMimeFilter_Proxy(IInternetSession *This,IClassFactory *pCF,REFCLSID rclsid,LPCWSTR pwzType);
1669 void __RPC_STUB IInternetSession_RegisterMimeFilter_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
1670 HRESULT WINAPI IInternetSession_UnregisterMimeFilter_Proxy(IInternetSession *This,IClassFactory *pCF,LPCWSTR pwzType);
1671 void __RPC_STUB IInternetSession_UnregisterMimeFilter_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
1672 HRESULT WINAPI IInternetSession_CreateBinding_Proxy(IInternetSession *This,LPBC pBC,LPCWSTR szUrl,IUnknown *pUnkOuter,IUnknown **ppUnk,IInternetProtocol **ppOInetProt,DWORD dwOption);
1673 void __RPC_STUB IInternetSession_CreateBinding_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
1674 HRESULT WINAPI IInternetSession_SetSessionOption_Proxy(IInternetSession *This,DWORD dwOption,LPVOID pBuffer,DWORD dwBufferLength,DWORD dwReserved);
1675 void __RPC_STUB IInternetSession_SetSessionOption_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
1676 HRESULT WINAPI IInternetSession_GetSessionOption_Proxy(IInternetSession *This,DWORD dwOption,LPVOID pBuffer,DWORD *pdwBufferLength,DWORD dwReserved);
1677 void __RPC_STUB IInternetSession_GetSessionOption_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
1678 #endif
1679 #endif
1680
1681 #ifndef _LPIINTERNETTHREADSWITCH_DEFINED
1682 #define _LPIINTERNETTHREADSWITCH_DEFINED
1683 extern RPC_IF_HANDLE __MIDL_itf_urlmon_0200_v0_0_c_ifspec;
1684 extern RPC_IF_HANDLE __MIDL_itf_urlmon_0200_v0_0_s_ifspec;
1685 #ifndef __IInternetThreadSwitch_INTERFACE_DEFINED__
1686 #define __IInternetThreadSwitch_INTERFACE_DEFINED__
1687 typedef IInternetThreadSwitch *LPIINTERNETTHREADSWITCH;
1688
1689 EXTERN_C const IID IID_IInternetThreadSwitch;
1690 #if defined(__cplusplus) && !defined(CINTERFACE)
1691 struct IInternetThreadSwitch : public IUnknown {
1692 public:
1693 virtual HRESULT WINAPI Prepare(void) = 0;
1694 virtual HRESULT WINAPI Continue(void) = 0;
1695 };
1696 #else
1697 typedef struct IInternetThreadSwitchVtbl {
1698 BEGIN_INTERFACE
1699 HRESULT (WINAPI *QueryInterface)(IInternetThreadSwitch *This,REFIID riid,void **ppvObject);
1700 ULONG (WINAPI *AddRef)(IInternetThreadSwitch *This);
1701 ULONG (WINAPI *Release)(IInternetThreadSwitch *This);
1702 HRESULT (WINAPI *Prepare)(IInternetThreadSwitch *This);
1703 HRESULT (WINAPI *Continue)(IInternetThreadSwitch *This);
1704 END_INTERFACE
1705 } IInternetThreadSwitchVtbl;
1706 struct IInternetThreadSwitch {
1707 CONST_VTBL struct IInternetThreadSwitchVtbl *lpVtbl;
1708 };
1709 #ifdef COBJMACROS
1710 #define IInternetThreadSwitch_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject)
1711 #define IInternetThreadSwitch_AddRef(This) (This)->lpVtbl->AddRef(This)
1712 #define IInternetThreadSwitch_Release(This) (This)->lpVtbl->Release(This)
1713 #define IInternetThreadSwitch_Prepare(This) (This)->lpVtbl->Prepare(This)
1714 #define IInternetThreadSwitch_Continue(This) (This)->lpVtbl->Continue(This)
1715 #endif
1716 #endif
1717 HRESULT WINAPI IInternetThreadSwitch_Prepare_Proxy(IInternetThreadSwitch *This);
1718 void __RPC_STUB IInternetThreadSwitch_Prepare_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
1719 HRESULT WINAPI IInternetThreadSwitch_Continue_Proxy(IInternetThreadSwitch *This);
1720 void __RPC_STUB IInternetThreadSwitch_Continue_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
1721 #endif
1722 #endif
1723
1724 #ifndef _LPIINTERNETPRIORITY_DEFINED
1725 #define _LPIINTERNETPRIORITY_DEFINED
1726 extern RPC_IF_HANDLE __MIDL_itf_urlmon_0201_v0_0_c_ifspec;
1727 extern RPC_IF_HANDLE __MIDL_itf_urlmon_0201_v0_0_s_ifspec;
1728 #ifndef __IInternetPriority_INTERFACE_DEFINED__
1729 #define __IInternetPriority_INTERFACE_DEFINED__
1730 typedef IInternetPriority *LPIINTERNETPRIORITY;
1731
1732 EXTERN_C const IID IID_IInternetPriority;
1733 #if defined(__cplusplus) && !defined(CINTERFACE)
1734 struct IInternetPriority : public IUnknown {
1735 public:
1736 virtual HRESULT WINAPI SetPriority(LONG nPriority) = 0;
1737 virtual HRESULT WINAPI GetPriority(LONG *pnPriority) = 0;
1738 };
1739 #else
1740 typedef struct IInternetPriorityVtbl {
1741 BEGIN_INTERFACE
1742 HRESULT (WINAPI *QueryInterface)(IInternetPriority *This,REFIID riid,void **ppvObject);
1743 ULONG (WINAPI *AddRef)(IInternetPriority *This);
1744 ULONG (WINAPI *Release)(IInternetPriority *This);
1745 HRESULT (WINAPI *SetPriority)(IInternetPriority *This,LONG nPriority);
1746 HRESULT (WINAPI *GetPriority)(IInternetPriority *This,LONG *pnPriority);
1747 END_INTERFACE
1748 } IInternetPriorityVtbl;
1749 struct IInternetPriority {
1750 CONST_VTBL struct IInternetPriorityVtbl *lpVtbl;
1751 };
1752 #ifdef COBJMACROS
1753 #define IInternetPriority_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject)
1754 #define IInternetPriority_AddRef(This) (This)->lpVtbl->AddRef(This)
1755 #define IInternetPriority_Release(This) (This)->lpVtbl->Release(This)
1756 #define IInternetPriority_SetPriority(This,nPriority) (This)->lpVtbl->SetPriority(This,nPriority)
1757 #define IInternetPriority_GetPriority(This,pnPriority) (This)->lpVtbl->GetPriority(This,pnPriority)
1758 #endif
1759 #endif
1760 HRESULT WINAPI IInternetPriority_SetPriority_Proxy(IInternetPriority *This,LONG nPriority);
1761 void __RPC_STUB IInternetPriority_SetPriority_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
1762 HRESULT WINAPI IInternetPriority_GetPriority_Proxy(IInternetPriority *This,LONG *pnPriority);
1763 void __RPC_STUB IInternetPriority_GetPriority_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
1764 #endif
1765 #endif
1766
1767 #ifndef _LPIINTERNETPROTOCOLINFO_DEFINED
1768 #define _LPIINTERNETPROTOCOLINFO_DEFINED
1769 extern RPC_IF_HANDLE __MIDL_itf_urlmon_0202_v0_0_c_ifspec;
1770 extern RPC_IF_HANDLE __MIDL_itf_urlmon_0202_v0_0_s_ifspec;
1771 #ifndef __IInternetProtocolInfo_INTERFACE_DEFINED__
1772 #define __IInternetProtocolInfo_INTERFACE_DEFINED__
1773 typedef IInternetProtocolInfo *LPIINTERNETPROTOCOLINFO;
1774
1775 typedef enum _tagPARSEACTION {
1776 PARSE_CANONICALIZE = 1,
1777 PARSE_FRIENDLY,PARSE_SECURITY_URL,PARSE_ROOTDOCUMENT,PARSE_DOCUMENT,PARSE_ANCHOR,
1778 PARSE_ENCODE,PARSE_DECODE,PARSE_PATH_FROM_URL,PARSE_URL_FROM_PATH,PARSE_MIME,
1779 PARSE_SERVER,PARSE_SCHEMA,PARSE_SITE,PARSE_DOMAIN,PARSE_LOCATION,PARSE_SECURITY_DOMAIN,
1780 PARSE_ESCAPE,PARSE_UNESCAPE
1781 } PARSEACTION;
1782
1783 typedef enum _tagPSUACTION {
1784 PSU_DEFAULT = 1,
1785 PSU_SECURITY_URL_ONLY
1786 } PSUACTION;
1787
1788 typedef enum _tagQUERYOPTION {
1789 QUERY_EXPIRATION_DATE = 1,
1790 QUERY_TIME_OF_LAST_CHANGE,QUERY_CONTENT_ENCODING,QUERY_CONTENT_TYPE,QUERY_REFRESH,
1791 QUERY_RECOMBINE,QUERY_CAN_NAVIGATE,QUERY_USES_NETWORK,QUERY_IS_CACHED,QUERY_IS_INSTALLEDENTRY,
1792 QUERY_IS_CACHED_OR_MAPPED,QUERY_USES_CACHE,QUERY_IS_SECURE,QUERY_IS_SAFE
1793 } QUERYOPTION;
1794
1795 EXTERN_C const IID IID_IInternetProtocolInfo;
1796 #if defined(__cplusplus) && !defined(CINTERFACE)
1797 struct IInternetProtocolInfo : public IUnknown {
1798 public:
1799 virtual HRESULT WINAPI ParseUrl(LPCWSTR pwzUrl,PARSEACTION ParseAction,DWORD dwParseFlags,LPWSTR pwzResult,DWORD cchResult,DWORD *pcchResult,DWORD dwReserved) = 0;
1800 virtual HRESULT WINAPI CombineUrl(LPCWSTR pwzBaseUrl,LPCWSTR pwzRelativeUrl,DWORD dwCombineFlags,LPWSTR pwzResult,DWORD cchResult,DWORD *pcchResult,DWORD dwReserved) = 0;
1801 virtual HRESULT WINAPI CompareUrl(LPCWSTR pwzUrl1,LPCWSTR pwzUrl2,DWORD dwCompareFlags) = 0;
1802 virtual HRESULT WINAPI QueryInfo(LPCWSTR pwzUrl,QUERYOPTION OueryOption,DWORD dwQueryFlags,LPVOID pBuffer,DWORD cbBuffer,DWORD *pcbBuf,DWORD dwReserved) = 0;
1803 };
1804 #else
1805 typedef struct IInternetProtocolInfoVtbl {
1806 BEGIN_INTERFACE
1807 HRESULT (WINAPI *QueryInterface)(IInternetProtocolInfo *This,REFIID riid,void **ppvObject);
1808 ULONG (WINAPI *AddRef)(IInternetProtocolInfo *This);
1809 ULONG (WINAPI *Release)(IInternetProtocolInfo *This);
1810 HRESULT (WINAPI *ParseUrl)(IInternetProtocolInfo *This,LPCWSTR pwzUrl,PARSEACTION ParseAction,DWORD dwParseFlags,LPWSTR pwzResult,DWORD cchResult,DWORD *pcchResult,DWORD dwReserved);
1811 HRESULT (WINAPI *CombineUrl)(IInternetProtocolInfo *This,LPCWSTR pwzBaseUrl,LPCWSTR pwzRelativeUrl,DWORD dwCombineFlags,LPWSTR pwzResult,DWORD cchResult,DWORD *pcchResult,DWORD dwReserved);
1812 HRESULT (WINAPI *CompareUrl)(IInternetProtocolInfo *This,LPCWSTR pwzUrl1,LPCWSTR pwzUrl2,DWORD dwCompareFlags);
1813 HRESULT (WINAPI *QueryInfo)(IInternetProtocolInfo *This,LPCWSTR pwzUrl,QUERYOPTION OueryOption,DWORD dwQueryFlags,LPVOID pBuffer,DWORD cbBuffer,DWORD *pcbBuf,DWORD dwReserved);
1814 END_INTERFACE
1815 } IInternetProtocolInfoVtbl;
1816 struct IInternetProtocolInfo {
1817 CONST_VTBL struct IInternetProtocolInfoVtbl *lpVtbl;
1818 };
1819 #ifdef COBJMACROS
1820 #define IInternetProtocolInfo_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject)
1821 #define IInternetProtocolInfo_AddRef(This) (This)->lpVtbl->AddRef(This)
1822 #define IInternetProtocolInfo_Release(This) (This)->lpVtbl->Release(This)
1823 #define IInternetProtocolInfo_ParseUrl(This,pwzUrl,ParseAction,dwParseFlags,pwzResult,cchResult,pcchResult,dwReserved) (This)->lpVtbl->ParseUrl(This,pwzUrl,ParseAction,dwParseFlags,pwzResult,cchResult,pcchResult,dwReserved)
1824 #define IInternetProtocolInfo_CombineUrl(This,pwzBaseUrl,pwzRelativeUrl,dwCombineFlags,pwzResult,cchResult,pcchResult,dwReserved) (This)->lpVtbl->CombineUrl(This,pwzBaseUrl,pwzRelativeUrl,dwCombineFlags,pwzResult,cchResult,pcchResult,dwReserved)
1825 #define IInternetProtocolInfo_CompareUrl(This,pwzUrl1,pwzUrl2,dwCompareFlags) (This)->lpVtbl->CompareUrl(This,pwzUrl1,pwzUrl2,dwCompareFlags)
1826 #define IInternetProtocolInfo_QueryInfo(This,pwzUrl,OueryOption,dwQueryFlags,pBuffer,cbBuffer,pcbBuf,dwReserved) (This)->lpVtbl->QueryInfo(This,pwzUrl,OueryOption,dwQueryFlags,pBuffer,cbBuffer,pcbBuf,dwReserved)
1827 #endif
1828 #endif
1829 HRESULT WINAPI IInternetProtocolInfo_ParseUrl_Proxy(IInternetProtocolInfo *This,LPCWSTR pwzUrl,PARSEACTION ParseAction,DWORD dwParseFlags,LPWSTR pwzResult,DWORD cchResult,DWORD *pcchResult,DWORD dwReserved);
1830 void __RPC_STUB IInternetProtocolInfo_ParseUrl_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
1831 HRESULT WINAPI IInternetProtocolInfo_CombineUrl_Proxy(IInternetProtocolInfo *This,LPCWSTR pwzBaseUrl,LPCWSTR pwzRelativeUrl,DWORD dwCombineFlags,LPWSTR pwzResult,DWORD cchResult,DWORD *pcchResult,DWORD dwReserved);
1832 void __RPC_STUB IInternetProtocolInfo_CombineUrl_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
1833 HRESULT WINAPI IInternetProtocolInfo_CompareUrl_Proxy(IInternetProtocolInfo *This,LPCWSTR pwzUrl1,LPCWSTR pwzUrl2,DWORD dwCompareFlags);
1834 void __RPC_STUB IInternetProtocolInfo_CompareUrl_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
1835 HRESULT WINAPI IInternetProtocolInfo_QueryInfo_Proxy(IInternetProtocolInfo *This,LPCWSTR pwzUrl,QUERYOPTION OueryOption,DWORD dwQueryFlags,LPVOID pBuffer,DWORD cbBuffer,DWORD *pcbBuf,DWORD dwReserved);
1836 void __RPC_STUB IInternetProtocolInfo_QueryInfo_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
1837 #endif
1838 #endif
1839
1840 #define IOInet IInternet
1841 #define IOInetBindInfo IInternetBindInfo
1842 #define IOInetProtocolRoot IInternetProtocolRoot
1843 #define IOInetProtocol IInternetProtocol
1844 #define IOInetProtocolSink IInternetProtocolSink
1845 #define IOInetProtocolInfo IInternetProtocolInfo
1846 #define IOInetSession IInternetSession
1847 #define IOInetPriority IInternetPriority
1848 #define IOInetThreadSwitch IInternetThreadSwitch
1849 #define IOInetProtocolSinkStackable IInternetProtocolSinkStackable
1850 #define LPOINET LPIINTERNET
1851 #define LPOINETPROTOCOLINFO LPIINTERNETPROTOCOLINFO
1852 #define LPOINETBINDINFO LPIINTERNETBINDINFO
1853 #define LPOINETPROTOCOLROOT LPIINTERNETPROTOCOLROOT
1854 #define LPOINETPROTOCOL LPIINTERNETPROTOCOL
1855 #define LPOINETPROTOCOLSINK LPIINTERNETPROTOCOLSINK
1856 #define LPOINETSESSION LPIINTERNETSESSION
1857 #define LPOINETTHREADSWITCH LPIINTERNETTHREADSWITCH
1858 #define LPOINETPRIORITY LPIINTERNETPRIORITY
1859 #define LPOINETPROTOCOLINFO LPIINTERNETPROTOCOLINFO
1860 #define LPOINETPROTOCOLSINKSTACKABLE LPIINTERNETPROTOCOLSINKSTACKABLE
1861 #define IID_IOInet IID_IInternet
1862 #define IID_IOInetBindInfo IID_IInternetBindInfo
1863 #define IID_IOInetProtocolRoot IID_IInternetProtocolRoot
1864 #define IID_IOInetProtocol IID_IInternetProtocol
1865 #define IID_IOInetProtocolSink IID_IInternetProtocolSink
1866 #define IID_IOInetProtocolInfo IID_IInternetProtocolInfo
1867 #define IID_IOInetSession IID_IInternetSession
1868 #define IID_IOInetPriority IID_IInternetPriority
1869 #define IID_IOInetThreadSwitch IID_IInternetThreadSwitch
1870 #define IID_IOInetProtocolSinkStackable IID_IInternetProtocolSinkStackable
1871 STDAPI CoInternetParseUrl(LPCWSTR pwzUrl,PARSEACTION ParseAction,DWORD dwFlags,LPWSTR pszResult,DWORD cchResult,DWORD *pcchResult,DWORD dwReserved);
1872 STDAPI CoInternetCombineUrl(LPCWSTR pwzBaseUrl,LPCWSTR pwzRelativeUrl,DWORD dwCombineFlags,LPWSTR pszResult,DWORD cchResult,DWORD *pcchResult,DWORD dwReserved);
1873 STDAPI CoInternetCompareUrl(LPCWSTR pwzUrl1,LPCWSTR pwzUrl2,DWORD dwFlags);
1874 STDAPI CoInternetGetProtocolFlags(LPCWSTR pwzUrl,DWORD *pdwFlags,DWORD dwReserved);
1875 STDAPI CoInternetQueryInfo(LPCWSTR pwzUrl,QUERYOPTION QueryOptions,DWORD dwQueryFlags,LPVOID pvBuffer,DWORD cbBuffer,DWORD *pcbBuffer,DWORD dwReserved);
1876 STDAPI CoInternetGetSession(DWORD dwSessionMode,IInternetSession **ppIInternetSession,DWORD dwReserved);
1877 STDAPI CoInternetGetSecurityUrl(LPCWSTR pwzUrl,LPWSTR *ppwzSecUrl,PSUACTION psuAction,DWORD dwReserved);
1878 STDAPI AsyncInstallDistributionUnit(LPCWSTR szDistUnit,LPCWSTR szTYPE,LPCWSTR szExt,DWORD dwFileVersionMS,DWORD dwFileVersionLS,LPCWSTR szURL,IBindCtx *pbc,LPVOID pvReserved,DWORD flags);
1879 #ifndef _INTERNETFEATURELIST_DEFINED
1880 #define _INTERNETFEATURELIST_DEFINED
1881
1882 typedef enum _tagINTERNETFEATURELIST {
1883 FEATURE_OBJECT_CACHING = 0,
1884 FEATURE_ZONE_ELEVATION,FEATURE_MIME_HANDLING,FEATURE_MIME_SNIFFING,
1885 FEATURE_WINDOW_RESTRICTIONS,FEATURE_WEBOC_POPUPMANAGEMENT,
1886 FEATURE_BEHAVIORS,FEATURE_DISABLE_MK_PROTOCOL,FEATURE_LOCALMACHINE_LOCKDOWN,
1887 FEATURE_SECURITYBAND,FEATURE_RESTRICT_ACTIVEXINSTALL,FEATURE_VALIDATE_NAVIGATE_URL,
1888 FEATURE_RESTRICT_FILEDOWNLOAD,FEATURE_ADDON_MANAGEMENT,FEATURE_PROTOCOL_LOCKDOWN,
1889 FEATURE_HTTP_USERNAME_PASSWORD_DISABLE,FEATURE_SAFE_BINDTOOBJECT,
1890 FEATURE_UNC_SAVEDFILECHECK,FEATURE_GET_URL_DOM_FILEPATH_UNENCODED,
1891 FEATURE_ENTRY_COUNT
1892 } INTERNETFEATURELIST;
1893
1894 #define SET_FEATURE_ON_THREAD 0x00000001
1895 #define SET_FEATURE_ON_PROCESS 0x00000002
1896 #define SET_FEATURE_IN_REGISTRY 0x00000004
1897 #define SET_FEATURE_ON_THREAD_LOCALMACHINE 0x00000008
1898 #define SET_FEATURE_ON_THREAD_INTRANET 0x00000010
1899 #define SET_FEATURE_ON_THREAD_TRUSTED 0x00000020
1900 #define SET_FEATURE_ON_THREAD_INTERNET 0x00000040
1901 #define SET_FEATURE_ON_THREAD_RESTRICTED 0x00000080
1902
1903 #define GET_FEATURE_FROM_THREAD 0x00000001
1904 #define GET_FEATURE_FROM_PROCESS 0x00000002
1905 #define GET_FEATURE_FROM_REGISTRY 0x00000004
1906 #define GET_FEATURE_FROM_THREAD_LOCALMACHINE 0x00000008
1907 #define GET_FEATURE_FROM_THREAD_INTRANET 0x00000010
1908 #define GET_FEATURE_FROM_THREAD_TRUSTED 0x00000020
1909 #define GET_FEATURE_FROM_THREAD_INTERNET 0x00000040
1910 #define GET_FEATURE_FROM_THREAD_RESTRICTED 0x00000080
1911 #endif
1912 STDAPI CoInternetSetFeatureEnabled(INTERNETFEATURELIST FeatureEntry,DWORD dwFlags,WINBOOL fEnable);
1913 STDAPI CoInternetIsFeatureEnabled(INTERNETFEATURELIST FeatureEntry,DWORD dwFlags);
1914 STDAPI CoInternetIsFeatureEnabledForUrl(INTERNETFEATURELIST FeatureEntry,DWORD dwFlags,LPCWSTR szURL,IInternetSecurityManager *pSecMgr);
1915 STDAPI CoInternetIsFeatureZoneElevationEnabled(LPCWSTR szFromURL,LPCWSTR szToURL,IInternetSecurityManager *pSecMgr,DWORD dwFlags);
1916 STDAPI CopyStgMedium(const STGMEDIUM *pcstgmedSrc,STGMEDIUM *pstgmedDest);
1917 STDAPI CopyBindInfo(const BINDINFO *pcbiSrc,BINDINFO *pbiDest);
1918 STDAPI_(void) ReleaseBindInfo(BINDINFO *pbindinfo);
1919
1920 #define INET_E_USE_DEFAULT_PROTOCOLHANDLER _HRESULT_TYPEDEF_(0x800C0011L)
1921 #define INET_E_USE_DEFAULT_SETTING _HRESULT_TYPEDEF_(0x800C0012L)
1922 #define INET_E_DEFAULT_ACTION INET_E_USE_DEFAULT_PROTOCOLHANDLER
1923 #define INET_E_QUERYOPTION_UNKNOWN _HRESULT_TYPEDEF_(0x800C0013L)
1924 #define INET_E_REDIRECTING _HRESULT_TYPEDEF_(0x800C0014L)
1925 #define OInetParseUrl CoInternetParseUrl
1926 #define OInetCombineUrl CoInternetCombineUrl
1927 #define OInetCompareUrl CoInternetCompareUrl
1928 #define OInetQueryInfo CoInternetQueryInfo
1929 #define OInetGetSession CoInternetGetSession
1930 #endif
1931
1932 #define PROTOCOLFLAG_NO_PICS_CHECK 0x00000001
1933
1934 STDAPI CoInternetCreateSecurityManager(IServiceProvider *pSP,IInternetSecurityManager **ppSM,DWORD dwReserved);
1935 STDAPI CoInternetCreateZoneManager(IServiceProvider *pSP,IInternetZoneManager **ppZM,DWORD dwReserved);
1936
1937 EXTERN_C const IID CLSID_InternetSecurityManager;
1938 EXTERN_C const IID CLSID_InternetZoneManager;
1939 EXTERN_C const IID CLSID_PersistentZoneIdentifier;
1940
1941 #define SID_SInternetSecurityManager IID_IInternetSecurityManager
1942 #define SID_SInternetSecurityManagerEx IID_IInternetSecurityManagerEx
1943 #define SID_SInternetHostSecurityManager IID_IInternetHostSecurityManager
1944
1945 #ifndef _LPINTERNETSECURITYMGRSITE_DEFINED
1946 #define _LPINTERNETSECURITYMGRSITE_DEFINED
1947 extern RPC_IF_HANDLE __MIDL_itf_urlmon_0203_v0_0_c_ifspec;
1948 extern RPC_IF_HANDLE __MIDL_itf_urlmon_0203_v0_0_s_ifspec;
1949 #ifndef __IInternetSecurityMgrSite_INTERFACE_DEFINED__
1950 #define __IInternetSecurityMgrSite_INTERFACE_DEFINED__
1951 EXTERN_C const IID IID_IInternetSecurityMgrSite;
1952 #if defined(__cplusplus) && !defined(CINTERFACE)
1953 struct IInternetSecurityMgrSite : public IUnknown {
1954 public:
1955 virtual HRESULT WINAPI GetWindow(HWND *phwnd) = 0;
1956 virtual HRESULT WINAPI EnableModeless(WINBOOL fEnable) = 0;
1957 };
1958 #else
1959 typedef struct IInternetSecurityMgrSiteVtbl {
1960 BEGIN_INTERFACE
1961 HRESULT (WINAPI *QueryInterface)(IInternetSecurityMgrSite *This,REFIID riid,void **ppvObject);
1962 ULONG (WINAPI *AddRef)(IInternetSecurityMgrSite *This);
1963 ULONG (WINAPI *Release)(IInternetSecurityMgrSite *This);
1964 HRESULT (WINAPI *GetWindow)(IInternetSecurityMgrSite *This,HWND *phwnd);
1965 HRESULT (WINAPI *EnableModeless)(IInternetSecurityMgrSite *This,WINBOOL fEnable);
1966 END_INTERFACE
1967 } IInternetSecurityMgrSiteVtbl;
1968 struct IInternetSecurityMgrSite {
1969 CONST_VTBL struct IInternetSecurityMgrSiteVtbl *lpVtbl;
1970 };
1971 #ifdef COBJMACROS
1972 #define IInternetSecurityMgrSite_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject)
1973 #define IInternetSecurityMgrSite_AddRef(This) (This)->lpVtbl->AddRef(This)
1974 #define IInternetSecurityMgrSite_Release(This) (This)->lpVtbl->Release(This)
1975 #define IInternetSecurityMgrSite_GetWindow(This,phwnd) (This)->lpVtbl->GetWindow(This,phwnd)
1976 #define IInternetSecurityMgrSite_EnableModeless(This,fEnable) (This)->lpVtbl->EnableModeless(This,fEnable)
1977 #endif
1978 #endif
1979 HRESULT WINAPI IInternetSecurityMgrSite_GetWindow_Proxy(IInternetSecurityMgrSite *This,HWND *phwnd);
1980 void __RPC_STUB IInternetSecurityMgrSite_GetWindow_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
1981 HRESULT WINAPI IInternetSecurityMgrSite_EnableModeless_Proxy(IInternetSecurityMgrSite *This,WINBOOL fEnable);
1982 void __RPC_STUB IInternetSecurityMgrSite_EnableModeless_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
1983 #endif
1984 #endif
1985
1986 #ifndef _LPINTERNETSECURITYMANANGEREX_DEFINED
1987 #define _LPINTERNETSECURITYMANANGEREX_DEFINED
1988 extern RPC_IF_HANDLE __MIDL_itf_urlmon_0204_v0_0_c_ifspec;
1989 extern RPC_IF_HANDLE __MIDL_itf_urlmon_0204_v0_0_s_ifspec;
1990 #ifndef __IInternetSecurityManager_INTERFACE_DEFINED__
1991 #define __IInternetSecurityManager_INTERFACE_DEFINED__
1992
1993 #define MUTZ_NOSAVEDFILECHECK 0x00000001
1994 #define MUTZ_ISFILE 0x00000002
1995 #define MUTZ_ACCEPT_WILDCARD_SCHEME 0x00000080
1996 #define MUTZ_ENFORCERESTRICTED 0x00000100
1997 #define MUTZ_REQUIRESAVEDFILECHECK 0x00000400
1998 #define MUTZ_DONT_UNESCAPE 0x00000800
1999
2000 #define MAX_SIZE_SECURITY_ID 512
2001
2002 typedef enum __MIDL_IInternetSecurityManager_0001 {
2003 PUAF_DEFAULT = 0,PUAF_NOUI = 0x1,PUAF_ISFILE = 0x2,PUAF_WARN_IF_DENIED = 0x4,PUAF_FORCEUI_FOREGROUND = 0x8,PUAF_CHECK_TIFS = 0x10,
2004 PUAF_DONTCHECKBOXINDIALOG = 0x20,PUAF_TRUSTED = 0x40,PUAF_ACCEPT_WILDCARD_SCHEME = 0x80,PUAF_ENFORCERESTRICTED = 0x100,
2005 PUAF_NOSAVEDFILECHECK = 0x200,PUAF_REQUIRESAVEDFILECHECK = 0x400,PUAF_LMZ_UNLOCKED = 0x10000,PUAF_LMZ_LOCKED = 0x20000,
2006 PUAF_DEFAULTZONEPOL = 0x40000,PUAF_NPL_USE_LOCKED_IF_RESTRICTED = 0x80000,PUAF_NOUIIFLOCKED = 0x100000,PUAF_DRAGPROTOCOLCHECK = 0x200000
2007 } PUAF;
2008
2009 typedef enum __MIDL_IInternetSecurityManager_0002 {
2010 PUAFOUT_DEFAULT = 0,PUAFOUT_ISLOCKZONEPOLICY = 0x1
2011 } PUAFOUT;
2012
2013 typedef enum __MIDL_IInternetSecurityManager_0003 {
2014 SZM_CREATE = 0,SZM_DELETE = 0x1
2015 } SZM_FLAGS;
2016
2017 EXTERN_C const IID IID_IInternetSecurityManager;
2018 #if defined(__cplusplus) && !defined(CINTERFACE)
2019 struct IInternetSecurityManager : public IUnknown {
2020 public:
2021 virtual HRESULT WINAPI SetSecuritySite(IInternetSecurityMgrSite *pSite) = 0;
2022 virtual HRESULT WINAPI GetSecuritySite(IInternetSecurityMgrSite **ppSite) = 0;
2023 virtual HRESULT WINAPI MapUrlToZone(LPCWSTR pwszUrl,DWORD *pdwZone,DWORD dwFlags) = 0;
2024 virtual HRESULT WINAPI GetSecurityId(LPCWSTR pwszUrl,BYTE *pbSecurityId,DWORD *pcbSecurityId,DWORD_PTR dwReserved) = 0;
2025 virtual HRESULT WINAPI ProcessUrlAction(LPCWSTR pwszUrl,DWORD dwAction,BYTE *pPolicy,DWORD cbPolicy,BYTE *pContext,DWORD cbContext,DWORD dwFlags,DWORD dwReserved) = 0;
2026 virtual HRESULT WINAPI QueryCustomPolicy(LPCWSTR pwszUrl,REFGUID guidKey,BYTE **ppPolicy,DWORD *pcbPolicy,BYTE *pContext,DWORD cbContext,DWORD dwReserved) = 0;
2027 virtual HRESULT WINAPI SetZoneMapping(DWORD dwZone,LPCWSTR lpszPattern,DWORD dwFlags) = 0;
2028 virtual HRESULT WINAPI GetZoneMappings(DWORD dwZone,IEnumString **ppenumString,DWORD dwFlags) = 0;
2029 };
2030 #else
2031 typedef struct IInternetSecurityManagerVtbl {
2032 BEGIN_INTERFACE
2033 HRESULT (WINAPI *QueryInterface)(IInternetSecurityManager *This,REFIID riid,void **ppvObject);
2034 ULONG (WINAPI *AddRef)(IInternetSecurityManager *This);
2035 ULONG (WINAPI *Release)(IInternetSecurityManager *This);
2036 HRESULT (WINAPI *SetSecuritySite)(IInternetSecurityManager *This,IInternetSecurityMgrSite *pSite);
2037 HRESULT (WINAPI *GetSecuritySite)(IInternetSecurityManager *This,IInternetSecurityMgrSite **ppSite);
2038 HRESULT (WINAPI *MapUrlToZone)(IInternetSecurityManager *This,LPCWSTR pwszUrl,DWORD *pdwZone,DWORD dwFlags);
2039 HRESULT (WINAPI *GetSecurityId)(IInternetSecurityManager *This,LPCWSTR pwszUrl,BYTE *pbSecurityId,DWORD *pcbSecurityId,DWORD_PTR dwReserved);
2040 HRESULT (WINAPI *ProcessUrlAction)(IInternetSecurityManager *This,LPCWSTR pwszUrl,DWORD dwAction,BYTE *pPolicy,DWORD cbPolicy,BYTE *pContext,DWORD cbContext,DWORD dwFlags,DWORD dwReserved);
2041 HRESULT (WINAPI *QueryCustomPolicy)(IInternetSecurityManager *This,LPCWSTR pwszUrl,REFGUID guidKey,BYTE **ppPolicy,DWORD *pcbPolicy,BYTE *pContext,DWORD cbContext,DWORD dwReserved);
2042 HRESULT (WINAPI *SetZoneMapping)(IInternetSecurityManager *This,DWORD dwZone,LPCWSTR lpszPattern,DWORD dwFlags);
2043 HRESULT (WINAPI *GetZoneMappings)(IInternetSecurityManager *This,DWORD dwZone,IEnumString **ppenumString,DWORD dwFlags);
2044 END_INTERFACE
2045 } IInternetSecurityManagerVtbl;
2046 struct IInternetSecurityManager {
2047 CONST_VTBL struct IInternetSecurityManagerVtbl *lpVtbl;
2048 };
2049 #ifdef COBJMACROS
2050 #define IInternetSecurityManager_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject)
2051 #define IInternetSecurityManager_AddRef(This) (This)->lpVtbl->AddRef(This)
2052 #define IInternetSecurityManager_Release(This) (This)->lpVtbl->Release(This)
2053 #define IInternetSecurityManager_SetSecuritySite(This,pSite) (This)->lpVtbl->SetSecuritySite(This,pSite)
2054 #define IInternetSecurityManager_GetSecuritySite(This,ppSite) (This)->lpVtbl->GetSecuritySite(This,ppSite)
2055 #define IInternetSecurityManager_MapUrlToZone(This,pwszUrl,pdwZone,dwFlags) (This)->lpVtbl->MapUrlToZone(This,pwszUrl,pdwZone,dwFlags)
2056 #define IInternetSecurityManager_GetSecurityId(This,pwszUrl,pbSecurityId,pcbSecurityId,dwReserved) (This)->lpVtbl->GetSecurityId(This,pwszUrl,pbSecurityId,pcbSecurityId,dwReserved)
2057 #define IInternetSecurityManager_ProcessUrlAction(This,pwszUrl,dwAction,pPolicy,cbPolicy,pContext,cbContext,dwFlags,dwReserved) (This)->lpVtbl->ProcessUrlAction(This,pwszUrl,dwAction,pPolicy,cbPolicy,pContext,cbContext,dwFlags,dwReserved)
2058 #define IInternetSecurityManager_QueryCustomPolicy(This,pwszUrl,guidKey,ppPolicy,pcbPolicy,pContext,cbContext,dwReserved) (This)->lpVtbl->QueryCustomPolicy(This,pwszUrl,guidKey,ppPolicy,pcbPolicy,pContext,cbContext,dwReserved)
2059 #define IInternetSecurityManager_SetZoneMapping(This,dwZone,lpszPattern,dwFlags) (This)->lpVtbl->SetZoneMapping(This,dwZone,lpszPattern,dwFlags)
2060 #define IInternetSecurityManager_GetZoneMappings(This,dwZone,ppenumString,dwFlags) (This)->lpVtbl->GetZoneMappings(This,dwZone,ppenumString,dwFlags)
2061 #endif
2062 #endif
2063 HRESULT WINAPI IInternetSecurityManager_SetSecuritySite_Proxy(IInternetSecurityManager *This,IInternetSecurityMgrSite *pSite);
2064 void __RPC_STUB IInternetSecurityManager_SetSecuritySite_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
2065 HRESULT WINAPI IInternetSecurityManager_GetSecuritySite_Proxy(IInternetSecurityManager *This,IInternetSecurityMgrSite **ppSite);
2066 void __RPC_STUB IInternetSecurityManager_GetSecuritySite_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
2067 HRESULT WINAPI IInternetSecurityManager_MapUrlToZone_Proxy(IInternetSecurityManager *This,LPCWSTR pwszUrl,DWORD *pdwZone,DWORD dwFlags);
2068 void __RPC_STUB IInternetSecurityManager_MapUrlToZone_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
2069 HRESULT WINAPI IInternetSecurityManager_GetSecurityId_Proxy(IInternetSecurityManager *This,LPCWSTR pwszUrl,BYTE *pbSecurityId,DWORD *pcbSecurityId,DWORD_PTR dwReserved);
2070 void __RPC_STUB IInternetSecurityManager_GetSecurityId_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
2071 HRESULT WINAPI IInternetSecurityManager_ProcessUrlAction_Proxy(IInternetSecurityManager *This,LPCWSTR pwszUrl,DWORD dwAction,BYTE *pPolicy,DWORD cbPolicy,BYTE *pContext,DWORD cbContext,DWORD dwFlags,DWORD dwReserved);
2072 void __RPC_STUB IInternetSecurityManager_ProcessUrlAction_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
2073 HRESULT WINAPI IInternetSecurityManager_QueryCustomPolicy_Proxy(IInternetSecurityManager *This,LPCWSTR pwszUrl,REFGUID guidKey,BYTE **ppPolicy,DWORD *pcbPolicy,BYTE *pContext,DWORD cbContext,DWORD dwReserved);
2074 void __RPC_STUB IInternetSecurityManager_QueryCustomPolicy_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
2075 HRESULT WINAPI IInternetSecurityManager_SetZoneMapping_Proxy(IInternetSecurityManager *This,DWORD dwZone,LPCWSTR lpszPattern,DWORD dwFlags);
2076 void __RPC_STUB IInternetSecurityManager_SetZoneMapping_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
2077 HRESULT WINAPI IInternetSecurityManager_GetZoneMappings_Proxy(IInternetSecurityManager *This,DWORD dwZone,IEnumString **ppenumString,DWORD dwFlags);
2078 void __RPC_STUB IInternetSecurityManager_GetZoneMappings_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
2079 #endif
2080
2081 #ifndef __IInternetSecurityManagerEx_INTERFACE_DEFINED__
2082 #define __IInternetSecurityManagerEx_INTERFACE_DEFINED__
2083 EXTERN_C const IID IID_IInternetSecurityManagerEx;
2084 #if defined(__cplusplus) && !defined(CINTERFACE)
2085 struct IInternetSecurityManagerEx : public IInternetSecurityManager {
2086 public:
2087 virtual HRESULT WINAPI ProcessUrlActionEx(LPCWSTR pwszUrl,DWORD dwAction,BYTE *pPolicy,DWORD cbPolicy,BYTE *pContext,DWORD cbContext,DWORD dwFlags,DWORD dwReserved,DWORD *pdwOutFlags) = 0;
2088 };
2089 #else
2090 typedef struct IInternetSecurityManagerExVtbl {
2091 BEGIN_INTERFACE
2092 HRESULT (WINAPI *QueryInterface)(IInternetSecurityManagerEx *This,REFIID riid,void **ppvObject);
2093 ULONG (WINAPI *AddRef)(IInternetSecurityManagerEx *This);
2094 ULONG (WINAPI *Release)(IInternetSecurityManagerEx *This);
2095 HRESULT (WINAPI *SetSecuritySite)(IInternetSecurityManagerEx *This,IInternetSecurityMgrSite *pSite);
2096 HRESULT (WINAPI *GetSecuritySite)(IInternetSecurityManagerEx *This,IInternetSecurityMgrSite **ppSite);
2097 HRESULT (WINAPI *MapUrlToZone)(IInternetSecurityManagerEx *This,LPCWSTR pwszUrl,DWORD *pdwZone,DWORD dwFlags);
2098 HRESULT (WINAPI *GetSecurityId)(IInternetSecurityManagerEx *This,LPCWSTR pwszUrl,BYTE *pbSecurityId,DWORD *pcbSecurityId,DWORD_PTR dwReserved);
2099 HRESULT (WINAPI *ProcessUrlAction)(IInternetSecurityManagerEx *This,LPCWSTR pwszUrl,DWORD dwAction,BYTE *pPolicy,DWORD cbPolicy,BYTE *pContext,DWORD cbContext,DWORD dwFlags,DWORD dwReserved);
2100 HRESULT (WINAPI *QueryCustomPolicy)(IInternetSecurityManagerEx *This,LPCWSTR pwszUrl,REFGUID guidKey,BYTE **ppPolicy,DWORD *pcbPolicy,BYTE *pContext,DWORD cbContext,DWORD dwReserved);
2101 HRESULT (WINAPI *SetZoneMapping)(IInternetSecurityManagerEx *This,DWORD dwZone,LPCWSTR lpszPattern,DWORD dwFlags);
2102 HRESULT (WINAPI *GetZoneMappings)(IInternetSecurityManagerEx *This,DWORD dwZone,IEnumString **ppenumString,DWORD dwFlags);
2103 HRESULT (WINAPI *ProcessUrlActionEx)(IInternetSecurityManagerEx *This,LPCWSTR pwszUrl,DWORD dwAction,BYTE *pPolicy,DWORD cbPolicy,BYTE *pContext,DWORD cbContext,DWORD dwFlags,DWORD dwReserved,DWORD *pdwOutFlags);
2104 END_INTERFACE
2105 } IInternetSecurityManagerExVtbl;
2106 struct IInternetSecurityManagerEx {
2107 CONST_VTBL struct IInternetSecurityManagerExVtbl *lpVtbl;
2108 };
2109 #ifdef COBJMACROS
2110 #define IInternetSecurityManagerEx_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject)
2111 #define IInternetSecurityManagerEx_AddRef(This) (This)->lpVtbl->AddRef(This)
2112 #define IInternetSecurityManagerEx_Release(This) (This)->lpVtbl->Release(This)
2113 #define IInternetSecurityManagerEx_SetSecuritySite(This,pSite) (This)->lpVtbl->SetSecuritySite(This,pSite)
2114 #define IInternetSecurityManagerEx_GetSecuritySite(This,ppSite) (This)->lpVtbl->GetSecuritySite(This,ppSite)
2115 #define IInternetSecurityManagerEx_MapUrlToZone(This,pwszUrl,pdwZone,dwFlags) (This)->lpVtbl->MapUrlToZone(This,pwszUrl,pdwZone,dwFlags)
2116 #define IInternetSecurityManagerEx_GetSecurityId(This,pwszUrl,pbSecurityId,pcbSecurityId,dwReserved) (This)->lpVtbl->GetSecurityId(This,pwszUrl,pbSecurityId,pcbSecurityId,dwReserved)
2117 #define IInternetSecurityManagerEx_ProcessUrlAction(This,pwszUrl,dwAction,pPolicy,cbPolicy,pContext,cbContext,dwFlags,dwReserved) (This)->lpVtbl->ProcessUrlAction(This,pwszUrl,dwAction,pPolicy,cbPolicy,pContext,cbContext,dwFlags,dwReserved)
2118 #define IInternetSecurityManagerEx_QueryCustomPolicy(This,pwszUrl,guidKey,ppPolicy,pcbPolicy,pContext,cbContext,dwReserved) (This)->lpVtbl->QueryCustomPolicy(This,pwszUrl,guidKey,ppPolicy,pcbPolicy,pContext,cbContext,dwReserved)
2119 #define IInternetSecurityManagerEx_SetZoneMapping(This,dwZone,lpszPattern,dwFlags) (This)->lpVtbl->SetZoneMapping(This,dwZone,lpszPattern,dwFlags)
2120 #define IInternetSecurityManagerEx_GetZoneMappings(This,dwZone,ppenumString,dwFlags) (This)->lpVtbl->GetZoneMappings(This,dwZone,ppenumString,dwFlags)
2121 #define IInternetSecurityManagerEx_ProcessUrlActionEx(This,pwszUrl,dwAction,pPolicy,cbPolicy,pContext,cbContext,dwFlags,dwReserved,pdwOutFlags) (This)->lpVtbl->ProcessUrlActionEx(This,pwszUrl,dwAction,pPolicy,cbPolicy,pContext,cbContext,dwFlags,dwReserved,pdwOutFlags)
2122 #endif
2123 #endif
2124 HRESULT WINAPI IInternetSecurityManagerEx_ProcessUrlActionEx_Proxy(IInternetSecurityManagerEx *This,LPCWSTR pwszUrl,DWORD dwAction,BYTE *pPolicy,DWORD cbPolicy,BYTE *pContext,DWORD cbContext,DWORD dwFlags,DWORD dwReserved,DWORD *pdwOutFlags);
2125 void __RPC_STUB IInternetSecurityManagerEx_ProcessUrlActionEx_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
2126 #endif
2127 #endif
2128
2129 #ifndef _LPINTERNETSECURITYMANANGER_DEFINED
2130 #define _LPINTERNETSECURITYMANANGER_DEFINED
2131 extern RPC_IF_HANDLE __MIDL_itf_urlmon_0205_v0_0_c_ifspec;
2132 extern RPC_IF_HANDLE __MIDL_itf_urlmon_0205_v0_0_s_ifspec;
2133 #ifndef __IZoneIdentifier_INTERFACE_DEFINED__
2134 #define __IZoneIdentifier_INTERFACE_DEFINED__
2135 EXTERN_C const IID IID_IZoneIdentifier;
2136 #if defined(__cplusplus) && !defined(CINTERFACE)
2137 struct IZoneIdentifier : public IUnknown {
2138 public:
2139 virtual HRESULT WINAPI GetId(DWORD *pdwZone) = 0;
2140 virtual HRESULT WINAPI SetId(DWORD dwZone) = 0;
2141 virtual HRESULT WINAPI Remove(void) = 0;
2142 };
2143 #else
2144 typedef struct IZoneIdentifierVtbl {
2145 BEGIN_INTERFACE
2146 HRESULT (WINAPI *QueryInterface)(IZoneIdentifier *This,REFIID riid,void **ppvObject);
2147 ULONG (WINAPI *AddRef)(IZoneIdentifier *This);
2148 ULONG (WINAPI *Release)(IZoneIdentifier *This);
2149 HRESULT (WINAPI *GetId)(IZoneIdentifier *This,DWORD *pdwZone);
2150 HRESULT (WINAPI *SetId)(IZoneIdentifier *This,DWORD dwZone);
2151 HRESULT (WINAPI *Remove)(IZoneIdentifier *This);
2152 END_INTERFACE
2153 } IZoneIdentifierVtbl;
2154 struct IZoneIdentifier {
2155 CONST_VTBL struct IZoneIdentifierVtbl *lpVtbl;
2156 };
2157 #ifdef COBJMACROS
2158 #define IZoneIdentifier_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject)
2159 #define IZoneIdentifier_AddRef(This) (This)->lpVtbl->AddRef(This)
2160 #define IZoneIdentifier_Release(This) (This)->lpVtbl->Release(This)
2161 #define IZoneIdentifier_GetId(This,pdwZone) (This)->lpVtbl->GetId(This,pdwZone)
2162 #define IZoneIdentifier_SetId(This,dwZone) (This)->lpVtbl->SetId(This,dwZone)
2163 #define IZoneIdentifier_Remove(This) (This)->lpVtbl->Remove(This)
2164 #endif
2165 #endif
2166 HRESULT WINAPI IZoneIdentifier_GetId_Proxy(IZoneIdentifier *This,DWORD *pdwZone);
2167 void __RPC_STUB IZoneIdentifier_GetId_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
2168 HRESULT WINAPI IZoneIdentifier_SetId_Proxy(IZoneIdentifier *This,DWORD dwZone);
2169 void __RPC_STUB IZoneIdentifier_SetId_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
2170 HRESULT WINAPI IZoneIdentifier_Remove_Proxy(IZoneIdentifier *This);
2171 void __RPC_STUB IZoneIdentifier_Remove_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
2172 #endif
2173 #endif
2174
2175 #ifndef _LPINTERNETHOSTSECURITYMANANGER_DEFINED
2176 #define _LPINTERNETHOSTSECURITYMANANGER_DEFINED
2177 extern RPC_IF_HANDLE __MIDL_itf_urlmon_0207_v0_0_c_ifspec;
2178 extern RPC_IF_HANDLE __MIDL_itf_urlmon_0207_v0_0_s_ifspec;
2179 #ifndef __IInternetHostSecurityManager_INTERFACE_DEFINED__
2180 #define __IInternetHostSecurityManager_INTERFACE_DEFINED__
2181 EXTERN_C const IID IID_IInternetHostSecurityManager;
2182 #if defined(__cplusplus) && !defined(CINTERFACE)
2183 struct IInternetHostSecurityManager : public IUnknown {
2184 public:
2185 virtual HRESULT WINAPI GetSecurityId(BYTE *pbSecurityId,DWORD *pcbSecurityId,DWORD_PTR dwReserved) = 0;
2186 virtual HRESULT WINAPI ProcessUrlAction(DWORD dwAction,BYTE *pPolicy,DWORD cbPolicy,BYTE *pContext,DWORD cbContext,DWORD dwFlags,DWORD dwReserved) = 0;
2187 virtual HRESULT WINAPI QueryCustomPolicy(REFGUID guidKey,BYTE **ppPolicy,DWORD *pcbPolicy,BYTE *pContext,DWORD cbContext,DWORD dwReserved) = 0;
2188 };
2189 #else
2190 typedef struct IInternetHostSecurityManagerVtbl {
2191 BEGIN_INTERFACE
2192 HRESULT (WINAPI *QueryInterface)(IInternetHostSecurityManager *This,REFIID riid,void **ppvObject);
2193 ULONG (WINAPI *AddRef)(IInternetHostSecurityManager *This);
2194 ULONG (WINAPI *Release)(IInternetHostSecurityManager *This);
2195 HRESULT (WINAPI *GetSecurityId)(IInternetHostSecurityManager *This,BYTE *pbSecurityId,DWORD *pcbSecurityId,DWORD_PTR dwReserved);
2196 HRESULT (WINAPI *ProcessUrlAction)(IInternetHostSecurityManager *This,DWORD dwAction,BYTE *pPolicy,DWORD cbPolicy,BYTE *pContext,DWORD cbContext,DWORD dwFlags,DWORD dwReserved);
2197 HRESULT (WINAPI *QueryCustomPolicy)(IInternetHostSecurityManager *This,REFGUID guidKey,BYTE **ppPolicy,DWORD *pcbPolicy,BYTE *pContext,DWORD cbContext,DWORD dwReserved);
2198 END_INTERFACE
2199 } IInternetHostSecurityManagerVtbl;
2200 struct IInternetHostSecurityManager {
2201 CONST_VTBL struct IInternetHostSecurityManagerVtbl *lpVtbl;
2202 };
2203 #ifdef COBJMACROS
2204 #define IInternetHostSecurityManager_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject)
2205 #define IInternetHostSecurityManager_AddRef(This) (This)->lpVtbl->AddRef(This)
2206 #define IInternetHostSecurityManager_Release(This) (This)->lpVtbl->Release(This)
2207 #define IInternetHostSecurityManager_GetSecurityId(This,pbSecurityId,pcbSecurityId,dwReserved) (This)->lpVtbl->GetSecurityId(This,pbSecurityId,pcbSecurityId,dwReserved)
2208 #define IInternetHostSecurityManager_ProcessUrlAction(This,dwAction,pPolicy,cbPolicy,pContext,cbContext,dwFlags,dwReserved) (This)->lpVtbl->ProcessUrlAction(This,dwAction,pPolicy,cbPolicy,pContext,cbContext,dwFlags,dwReserved)
2209 #define IInternetHostSecurityManager_QueryCustomPolicy(This,guidKey,ppPolicy,pcbPolicy,pContext,cbContext,dwReserved) (This)->lpVtbl->QueryCustomPolicy(This,guidKey,ppPolicy,pcbPolicy,pContext,cbContext,dwReserved)
2210 #endif
2211 #endif
2212 HRESULT WINAPI IInternetHostSecurityManager_GetSecurityId_Proxy(IInternetHostSecurityManager *This,BYTE *pbSecurityId,DWORD *pcbSecurityId,DWORD_PTR dwReserved);
2213 void __RPC_STUB IInternetHostSecurityManager_GetSecurityId_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
2214 HRESULT WINAPI IInternetHostSecurityManager_ProcessUrlAction_Proxy(IInternetHostSecurityManager *This,DWORD dwAction,BYTE *pPolicy,DWORD cbPolicy,BYTE *pContext,DWORD cbContext,DWORD dwFlags,DWORD dwReserved);
2215 void __RPC_STUB IInternetHostSecurityManager_ProcessUrlAction_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
2216 HRESULT WINAPI IInternetHostSecurityManager_QueryCustomPolicy_Proxy(IInternetHostSecurityManager *This,REFGUID guidKey,BYTE **ppPolicy,DWORD *pcbPolicy,BYTE *pContext,DWORD cbContext,DWORD dwReserved);
2217 void __RPC_STUB IInternetHostSecurityManager_QueryCustomPolicy_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
2218 #endif
2219 #endif
2220
2221 #define URLACTION_MIN 0x00001000
2222 #define URLACTION_DOWNLOAD_MIN 0x00001000
2223 #define URLACTION_DOWNLOAD_SIGNED_ACTIVEX 0x00001001
2224 #define URLACTION_DOWNLOAD_UNSIGNED_ACTIVEX 0x00001004
2225 #define URLACTION_DOWNLOAD_CURR_MAX 0x00001004
2226 #define URLACTION_DOWNLOAD_MAX 0x000011FF
2227
2228 #define URLACTION_ACTIVEX_MIN 0x00001200
2229 #define URLACTION_ACTIVEX_RUN 0x00001200
2230 #define URLPOLICY_ACTIVEX_CHECK_LIST 0x00010000
2231 #define URLACTION_ACTIVEX_OVERRIDE_OBJECT_SAFETY 0x00001201
2232 #define URLACTION_ACTIVEX_OVERRIDE_DATA_SAFETY 0x00001202
2233 #define URLACTION_ACTIVEX_OVERRIDE_SCRIPT_SAFETY 0x00001203
2234 #define URLACTION_SCRIPT_OVERRIDE_SAFETY 0x00001401
2235 #define URLACTION_ACTIVEX_CONFIRM_NOOBJECTSAFETY 0x00001204
2236 #define URLACTION_ACTIVEX_TREATASUNTRUSTED 0x00001205
2237 #define URLACTION_ACTIVEX_NO_WEBOC_SCRIPT 0x00001206
2238 #define URLACTION_ACTIVEX_CURR_MAX 0x00001206
2239 #define URLACTION_ACTIVEX_MAX 0x000013ff
2240
2241 #define URLACTION_SCRIPT_MIN 0x00001400
2242 #define URLACTION_SCRIPT_RUN 0x00001400
2243 #define URLACTION_SCRIPT_JAVA_USE 0x00001402
2244 #define URLACTION_SCRIPT_SAFE_ACTIVEX 0x00001405
2245 #define URLACTION_CROSS_DOMAIN_DATA 0x00001406
2246 #define URLACTION_SCRIPT_PASTE 0x00001407
2247 #define URLACTION_SCRIPT_CURR_MAX 0x00001407
2248 #define URLACTION_SCRIPT_MAX 0x000015ff
2249
2250 #define URLACTION_HTML_MIN 0x00001600
2251 #define URLACTION_HTML_SUBMIT_FORMS 0x00001601
2252 #define URLACTION_HTML_SUBMIT_FORMS_FROM 0x00001602
2253 #define URLACTION_HTML_SUBMIT_FORMS_TO 0x00001603
2254 #define URLACTION_HTML_FONT_DOWNLOAD 0x00001604
2255 #define URLACTION_HTML_JAVA_RUN 0x00001605
2256 #define URLACTION_HTML_USERDATA_SAVE 0x00001606
2257 #define URLACTION_HTML_SUBFRAME_NAVIGATE 0x00001607
2258 #define URLACTION_HTML_META_REFRESH 0x00001608
2259 #define URLACTION_HTML_MIXED_CONTENT 0x00001609
2260 #define URLACTION_HTML_MAX 0x000017ff
2261
2262 #define URLACTION_SHELL_MIN 0x00001800
2263 #define URLACTION_SHELL_INSTALL_DTITEMS 0x00001800
2264 #define URLACTION_SHELL_MOVE_OR_COPY 0x00001802
2265 #define URLACTION_SHELL_FILE_DOWNLOAD 0x00001803
2266 #define URLACTION_SHELL_VERB 0x00001804
2267 #define URLACTION_SHELL_WEBVIEW_VERB 0x00001805
2268 #define URLACTION_SHELL_SHELLEXECUTE 0x00001806
2269 #define URLACTION_SHELL_EXECUTE_HIGHRISK 0x00001806
2270 #define URLACTION_SHELL_EXECUTE_MODRISK 0x00001807
2271 #define URLACTION_SHELL_EXECUTE_LOWRISK 0x00001808
2272 #define URLACTION_SHELL_POPUPMGR 0x00001809
2273 #define URLACTION_SHELL_RTF_OBJECTS_LOAD 0x0000180A
2274 #define URLACTION_SHELL_ENHANCED_DRAGDROP_SECURITY 0x0000180B
2275 #define URLACTION_SHELL_CURR_MAX 0x0000180B
2276 #define URLACTION_SHELL_MAX 0x000019ff
2277
2278 #define URLACTION_NETWORK_MIN 0x00001A00
2279
2280 #define URLACTION_CREDENTIALS_USE 0x00001A00
2281 #define URLPOLICY_CREDENTIALS_SILENT_LOGON_OK 0x00000000
2282 #define URLPOLICY_CREDENTIALS_MUST_PROMPT_USER 0x00010000
2283 #define URLPOLICY_CREDENTIALS_CONDITIONAL_PROMPT 0x00020000
2284 #define URLPOLICY_CREDENTIALS_ANONYMOUS_ONLY 0x00030000
2285
2286 #define URLACTION_AUTHENTICATE_CLIENT 0x00001A01
2287 #define URLPOLICY_AUTHENTICATE_CLEARTEXT_OK 0x00000000
2288 #define URLPOLICY_AUTHENTICATE_CHALLENGE_RESPONSE 0x00010000
2289 #define URLPOLICY_AUTHENTICATE_MUTUAL_ONLY 0x00030000
2290
2291 #define URLACTION_COOKIES 0x00001A02
2292 #define URLACTION_COOKIES_SESSION 0x00001A03
2293
2294 #define URLACTION_CLIENT_CERT_PROMPT 0x00001A04
2295
2296 #define URLACTION_COOKIES_THIRD_PARTY 0x00001A05
2297 #define URLACTION_COOKIES_SESSION_THIRD_PARTY 0x00001A06
2298
2299 #define URLACTION_COOKIES_ENABLED 0x00001A10
2300
2301 #define URLACTION_NETWORK_CURR_MAX 0x00001A10
2302 #define URLACTION_NETWORK_MAX 0x00001Bff
2303
2304 #define URLACTION_JAVA_MIN 0x00001C00
2305 #define URLACTION_JAVA_PERMISSIONS 0x00001C00
2306 #define URLPOLICY_JAVA_PROHIBIT 0x00000000
2307 #define URLPOLICY_JAVA_HIGH 0x00010000
2308 #define URLPOLICY_JAVA_MEDIUM 0x00020000
2309 #define URLPOLICY_JAVA_LOW 0x00030000
2310 #define URLPOLICY_JAVA_CUSTOM 0x00800000
2311 #define URLACTION_JAVA_CURR_MAX 0x00001C00
2312 #define URLACTION_JAVA_MAX 0x00001Cff
2313
2314 #define URLACTION_INFODELIVERY_MIN 0x00001D00
2315 #define URLACTION_INFODELIVERY_NO_ADDING_CHANNELS 0x00001D00
2316 #define URLACTION_INFODELIVERY_NO_EDITING_CHANNELS 0x00001D01
2317 #define URLACTION_INFODELIVERY_NO_REMOVING_CHANNELS 0x00001D02
2318 #define URLACTION_INFODELIVERY_NO_ADDING_SUBSCRIPTIONS 0x00001D03
2319 #define URLACTION_INFODELIVERY_NO_EDITING_SUBSCRIPTIONS 0x00001D04
2320 #define URLACTION_INFODELIVERY_NO_REMOVING_SUBSCRIPTIONS 0x00001D05
2321 #define URLACTION_INFODELIVERY_NO_CHANNEL_LOGGING 0x00001D06
2322 #define URLACTION_INFODELIVERY_CURR_MAX 0x00001D06
2323 #define URLACTION_INFODELIVERY_MAX 0x00001Dff
2324 #define URLACTION_CHANNEL_SOFTDIST_MIN 0x00001E00
2325 #define URLACTION_CHANNEL_SOFTDIST_PERMISSIONS 0x00001E05
2326 #define URLPOLICY_CHANNEL_SOFTDIST_PROHIBIT 0x00010000
2327 #define URLPOLICY_CHANNEL_SOFTDIST_PRECACHE 0x00020000
2328 #define URLPOLICY_CHANNEL_SOFTDIST_AUTOINSTALL 0x00030000
2329 #define URLACTION_CHANNEL_SOFTDIST_MAX 0x00001Eff
2330 #define URLACTION_BEHAVIOR_MIN 0x00002000
2331 #define URLACTION_BEHAVIOR_RUN 0x00002000
2332 #define URLPOLICY_BEHAVIOR_CHECK_LIST 0x00010000
2333
2334 #define URLACTION_FEATURE_MIN 0x00002100
2335 #define URLACTION_FEATURE_MIME_SNIFFING 0x00002100
2336 #define URLACTION_FEATURE_ZONE_ELEVATION 0x00002101
2337 #define URLACTION_FEATURE_WINDOW_RESTRICTIONS 0x00002102
2338
2339 #define URLACTION_AUTOMATIC_DOWNLOAD_UI_MIN 0x00002200
2340 #define URLACTION_AUTOMATIC_DOWNLOAD_UI 0x00002200
2341 #define URLACTION_AUTOMATIC_ACTIVEX_UI 0x00002201
2342
2343 #define URLACTION_ALLOW_RESTRICTEDPROTOCOLS 0x00002300
2344
2345 #define URLPOLICY_ALLOW 0x00
2346 #define URLPOLICY_QUERY 0x01
2347 #define URLPOLICY_DISALLOW 0x03
2348
2349 #define URLPOLICY_NOTIFY_ON_ALLOW 0x10
2350 #define URLPOLICY_NOTIFY_ON_DISALLOW 0x20
2351
2352 #define URLPOLICY_LOG_ON_ALLOW 0x40
2353 #define URLPOLICY_LOG_ON_DISALLOW 0x80
2354
2355 #define URLPOLICY_MASK_PERMISSIONS 0x0f
2356 #define GetUrlPolicyPermissions(dw) (dw & URLPOLICY_MASK_PERMISSIONS)
2357 #define SetUrlPolicyPermissions(dw,dw2) ((dw) = ((dw) & ~(URLPOLICY_MASK_PERMISSIONS)) | (dw2))
2358
2359 #define URLPOLICY_DONTCHECKDLGBOX 0x100
2360
2361 EXTERN_C const GUID GUID_CUSTOM_LOCALMACHINEZONEUNLOCKED;
2362 #ifndef _LPINTERNETZONEMANAGER_DEFINED
2363 #define _LPINTERNETZONEMANAGER_DEFINED
2364 extern RPC_IF_HANDLE __MIDL_itf_urlmon_0208_v0_0_c_ifspec;
2365 extern RPC_IF_HANDLE __MIDL_itf_urlmon_0208_v0_0_s_ifspec;
2366 #ifndef __IInternetZoneManager_INTERFACE_DEFINED__
2367 #define __IInternetZoneManager_INTERFACE_DEFINED__
2368
2369 typedef IInternetZoneManager *LPURLZONEMANAGER;
2370
2371 typedef enum tagURLZONE {
2372 URLZONE_PREDEFINED_MIN = 0,URLZONE_LOCAL_MACHINE = 0,
2373 URLZONE_INTRANET,URLZONE_TRUSTED,URLZONE_INTERNET,URLZONE_UNTRUSTED,
2374 URLZONE_PREDEFINED_MAX = 999,URLZONE_USER_MIN = 1000,
2375 URLZONE_USER_MAX = 10000
2376 } URLZONE;
2377
2378 #define URLZONE_ESC_FLAG 0x100
2379
2380 typedef enum tagURLTEMPLATE {
2381 URLTEMPLATE_CUSTOM = 0,
2382 URLTEMPLATE_PREDEFINED_MIN = 0x10000,
2383 URLTEMPLATE_LOW = 0x10000,
2384 URLTEMPLATE_MEDLOW = 0x10500,
2385 URLTEMPLATE_MEDIUM = 0x11000,
2386 URLTEMPLATE_HIGH = 0x12000,
2387 URLTEMPLATE_PREDEFINED_MAX = 0x20000
2388 } URLTEMPLATE;
2389
2390 enum __MIDL_IInternetZoneManager_0001 {
2391 MAX_ZONE_PATH = 260,MAX_ZONE_DESCRIPTION = 200
2392 };
2393 typedef enum __MIDL_IInternetZoneManager_0002 {
2394 ZAFLAGS_CUSTOM_EDIT = 0x1,ZAFLAGS_ADD_SITES = 0x2,ZAFLAGS_REQUIRE_VERIFICATION = 0x4,ZAFLAGS_INCLUDE_PROXY_OVERRIDE = 0x8,
2395 ZAFLAGS_INCLUDE_INTRANET_SITES = 0x10,ZAFLAGS_NO_UI = 0x20,ZAFLAGS_SUPPORTS_VERIFICATION = 0x40,ZAFLAGS_UNC_AS_INTRANET = 0x80,
2396 ZAFLAGS_USE_LOCKED_ZONES = 0x10000
2397 } ZAFLAGS;
2398
2399 typedef struct _ZONEATTRIBUTES {
2400 ULONG cbSize;
2401 WCHAR szDisplayName[260 ];
2402 WCHAR szDescription[200 ];
2403 WCHAR szIconPath[260 ];
2404 DWORD dwTemplateMinLevel;
2405 DWORD dwTemplateRecommended;
2406 DWORD dwTemplateCurrentLevel;
2407 DWORD dwFlags;
2408 } ZONEATTRIBUTES;
2409
2410 typedef struct _ZONEATTRIBUTES *LPZONEATTRIBUTES;
2411
2412 typedef enum _URLZONEREG {
2413 URLZONEREG_DEFAULT = 0,
2414 URLZONEREG_HKLM,URLZONEREG_HKCU
2415 } URLZONEREG;
2416
2417 EXTERN_C const IID IID_IInternetZoneManager;
2418 #if defined(__cplusplus) && !defined(CINTERFACE)
2419 struct IInternetZoneManager : public IUnknown {
2420 public:
2421 virtual HRESULT WINAPI GetZoneAttributes(DWORD dwZone,ZONEATTRIBUTES *pZoneAttributes) = 0;
2422 virtual HRESULT WINAPI SetZoneAttributes(DWORD dwZone,ZONEATTRIBUTES *pZoneAttributes) = 0;
2423 virtual HRESULT WINAPI GetZoneCustomPolicy(DWORD dwZone,REFGUID guidKey,BYTE **ppPolicy,DWORD *pcbPolicy,URLZONEREG urlZoneReg) = 0;
2424 virtual HRESULT WINAPI SetZoneCustomPolicy(DWORD dwZone,REFGUID guidKey,BYTE *pPolicy,DWORD cbPolicy,URLZONEREG urlZoneReg) = 0;
2425 virtual HRESULT WINAPI GetZoneActionPolicy(DWORD dwZone,DWORD dwAction,BYTE *pPolicy,DWORD cbPolicy,URLZONEREG urlZoneReg) = 0;
2426 virtual HRESULT WINAPI SetZoneActionPolicy(DWORD dwZone,DWORD dwAction,BYTE *pPolicy,DWORD cbPolicy,URLZONEREG urlZoneReg) = 0;
2427 virtual HRESULT WINAPI PromptAction(DWORD dwAction,HWND hwndParent,LPCWSTR pwszUrl,LPCWSTR pwszText,DWORD dwPromptFlags) = 0;
2428 virtual HRESULT WINAPI LogAction(DWORD dwAction,LPCWSTR pwszUrl,LPCWSTR pwszText,DWORD dwLogFlags) = 0;
2429 virtual HRESULT WINAPI CreateZoneEnumerator(DWORD *pdwEnum,DWORD *pdwCount,DWORD dwFlags) = 0;
2430 virtual HRESULT WINAPI GetZoneAt(DWORD dwEnum,DWORD dwIndex,DWORD *pdwZone) = 0;
2431 virtual HRESULT WINAPI DestroyZoneEnumerator(DWORD dwEnum) = 0;
2432 virtual HRESULT WINAPI CopyTemplatePoliciesToZone(DWORD dwTemplate,DWORD dwZone,DWORD dwReserved) = 0;
2433 };
2434 #else
2435 typedef struct IInternetZoneManagerVtbl {
2436 BEGIN_INTERFACE
2437 HRESULT (WINAPI *QueryInterface)(IInternetZoneManager *This,REFIID riid,void **ppvObject);
2438 ULONG (WINAPI *AddRef)(IInternetZoneManager *This);
2439 ULONG (WINAPI *Release)(IInternetZoneManager *This);
2440 HRESULT (WINAPI *GetZoneAttributes)(IInternetZoneManager *This,DWORD dwZone,ZONEATTRIBUTES *pZoneAttributes);
2441 HRESULT (WINAPI *SetZoneAttributes)(IInternetZoneManager *This,DWORD dwZone,ZONEATTRIBUTES *pZoneAttributes);
2442 HRESULT (WINAPI *GetZoneCustomPolicy)(IInternetZoneManager *This,DWORD dwZone,REFGUID guidKey,BYTE **ppPolicy,DWORD *pcbPolicy,URLZONEREG urlZoneReg);
2443 HRESULT (WINAPI *SetZoneCustomPolicy)(IInternetZoneManager *This,DWORD dwZone,REFGUID guidKey,BYTE *pPolicy,DWORD cbPolicy,URLZONEREG urlZoneReg);
2444 HRESULT (WINAPI *GetZoneActionPolicy)(IInternetZoneManager *This,DWORD dwZone,DWORD dwAction,BYTE *pPolicy,DWORD cbPolicy,URLZONEREG urlZoneReg);
2445 HRESULT (WINAPI *SetZoneActionPolicy)(IInternetZoneManager *This,DWORD dwZone,DWORD dwAction,BYTE *pPolicy,DWORD cbPolicy,URLZONEREG urlZoneReg);
2446 HRESULT (WINAPI *PromptAction)(IInternetZoneManager *This,DWORD dwAction,HWND hwndParent,LPCWSTR pwszUrl,LPCWSTR pwszText,DWORD dwPromptFlags);
2447 HRESULT (WINAPI *LogAction)(IInternetZoneManager *This,DWORD dwAction,LPCWSTR pwszUrl,LPCWSTR pwszText,DWORD dwLogFlags);
2448 HRESULT (WINAPI *CreateZoneEnumerator)(IInternetZoneManager *This,DWORD *pdwEnum,DWORD *pdwCount,DWORD dwFlags);
2449 HRESULT (WINAPI *GetZoneAt)(IInternetZoneManager *This,DWORD dwEnum,DWORD dwIndex,DWORD *pdwZone);
2450 HRESULT (WINAPI *DestroyZoneEnumerator)(IInternetZoneManager *This,DWORD dwEnum);
2451 HRESULT (WINAPI *CopyTemplatePoliciesToZone)(IInternetZoneManager *This,DWORD dwTemplate,DWORD dwZone,DWORD dwReserved);
2452 END_INTERFACE
2453 } IInternetZoneManagerVtbl;
2454 struct IInternetZoneManager {
2455 CONST_VTBL struct IInternetZoneManagerVtbl *lpVtbl;
2456 };
2457 #ifdef COBJMACROS
2458 #define IInternetZoneManager_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject)
2459 #define IInternetZoneManager_AddRef(This) (This)->lpVtbl->AddRef(This)
2460 #define IInternetZoneManager_Release(This) (This)->lpVtbl->Release(This)
2461 #define IInternetZoneManager_GetZoneAttributes(This,dwZone,pZoneAttributes) (This)->lpVtbl->GetZoneAttributes(This,dwZone,pZoneAttributes)
2462 #define IInternetZoneManager_SetZoneAttributes(This,dwZone,pZoneAttributes) (This)->lpVtbl->SetZoneAttributes(This,dwZone,pZoneAttributes)
2463 #define IInternetZoneManager_GetZoneCustomPolicy(This,dwZone,guidKey,ppPolicy,pcbPolicy,urlZoneReg) (This)->lpVtbl->GetZoneCustomPolicy(This,dwZone,guidKey,ppPolicy,pcbPolicy,urlZoneReg)
2464 #define IInternetZoneManager_SetZoneCustomPolicy(This,dwZone,guidKey,pPolicy,cbPolicy,urlZoneReg) (This)->lpVtbl->SetZoneCustomPolicy(This,dwZone,guidKey,pPolicy,cbPolicy,urlZoneReg)
2465 #define IInternetZoneManager_GetZoneActionPolicy(This,dwZone,dwAction,pPolicy,cbPolicy,urlZoneReg) (This)->lpVtbl->GetZoneActionPolicy(This,dwZone,dwAction,pPolicy,cbPolicy,urlZoneReg)
2466 #define IInternetZoneManager_SetZoneActionPolicy(This,dwZone,dwAction,pPolicy,cbPolicy,urlZoneReg) (This)->lpVtbl->SetZoneActionPolicy(This,dwZone,dwAction,pPolicy,cbPolicy,urlZoneReg)
2467 #define IInternetZoneManager_PromptAction(This,dwAction,hwndParent,pwszUrl,pwszText,dwPromptFlags) (This)->lpVtbl->PromptAction(This,dwAction,hwndParent,pwszUrl,pwszText,dwPromptFlags)
2468 #define IInternetZoneManager_LogAction(This,dwAction,pwszUrl,pwszText,dwLogFlags) (This)->lpVtbl->LogAction(This,dwAction,pwszUrl,pwszText,dwLogFlags)
2469 #define IInternetZoneManager_CreateZoneEnumerator(This,pdwEnum,pdwCount,dwFlags) (This)->lpVtbl->CreateZoneEnumerator(This,pdwEnum,pdwCount,dwFlags)
2470 #define IInternetZoneManager_GetZoneAt(This,dwEnum,dwIndex,pdwZone) (This)->lpVtbl->GetZoneAt(This,dwEnum,dwIndex,pdwZone)
2471 #define IInternetZoneManager_DestroyZoneEnumerator(This,dwEnum) (This)->lpVtbl->DestroyZoneEnumerator(This,dwEnum)
2472 #define IInternetZoneManager_CopyTemplatePoliciesToZone(This,dwTemplate,dwZone,dwReserved) (This)->lpVtbl->CopyTemplatePoliciesToZone(This,dwTemplate,dwZone,dwReserved)
2473 #endif
2474 #endif
2475 HRESULT WINAPI IInternetZoneManager_GetZoneAttributes_Proxy(IInternetZoneManager *This,DWORD dwZone,ZONEATTRIBUTES *pZoneAttributes);
2476 void __RPC_STUB IInternetZoneManager_GetZoneAttributes_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
2477 HRESULT WINAPI IInternetZoneManager_SetZoneAttributes_Proxy(IInternetZoneManager *This,DWORD dwZone,ZONEATTRIBUTES *pZoneAttributes);
2478 void __RPC_STUB IInternetZoneManager_SetZoneAttributes_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
2479 HRESULT WINAPI IInternetZoneManager_GetZoneCustomPolicy_Proxy(IInternetZoneManager *This,DWORD dwZone,REFGUID guidKey,BYTE **ppPolicy,DWORD *pcbPolicy,URLZONEREG urlZoneReg);
2480 void __RPC_STUB IInternetZoneManager_GetZoneCustomPolicy_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
2481 HRESULT WINAPI IInternetZoneManager_SetZoneCustomPolicy_Proxy(IInternetZoneManager *This,DWORD dwZone,REFGUID guidKey,BYTE *pPolicy,DWORD cbPolicy,URLZONEREG urlZoneReg);
2482 void __RPC_STUB IInternetZoneManager_SetZoneCustomPolicy_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
2483 HRESULT WINAPI IInternetZoneManager_GetZoneActionPolicy_Proxy(IInternetZoneManager *This,DWORD dwZone,DWORD dwAction,BYTE *pPolicy,DWORD cbPolicy,URLZONEREG urlZoneReg);
2484 void __RPC_STUB IInternetZoneManager_GetZoneActionPolicy_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
2485 HRESULT WINAPI IInternetZoneManager_SetZoneActionPolicy_Proxy(IInternetZoneManager *This,DWORD dwZone,DWORD dwAction,BYTE *pPolicy,DWORD cbPolicy,URLZONEREG urlZoneReg);
2486 void __RPC_STUB IInternetZoneManager_SetZoneActionPolicy_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
2487 HRESULT WINAPI IInternetZoneManager_PromptAction_Proxy(IInternetZoneManager *This,DWORD dwAction,HWND hwndParent,LPCWSTR pwszUrl,LPCWSTR pwszText,DWORD dwPromptFlags);
2488 void __RPC_STUB IInternetZoneManager_PromptAction_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
2489 HRESULT WINAPI IInternetZoneManager_LogAction_Proxy(IInternetZoneManager *This,DWORD dwAction,LPCWSTR pwszUrl,LPCWSTR pwszText,DWORD dwLogFlags);
2490 void __RPC_STUB IInternetZoneManager_LogAction_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
2491 HRESULT WINAPI IInternetZoneManager_CreateZoneEnumerator_Proxy(IInternetZoneManager *This,DWORD *pdwEnum,DWORD *pdwCount,DWORD dwFlags);
2492 void __RPC_STUB IInternetZoneManager_CreateZoneEnumerator_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
2493 HRESULT WINAPI IInternetZoneManager_GetZoneAt_Proxy(IInternetZoneManager *This,DWORD dwEnum,DWORD dwIndex,DWORD *pdwZone);
2494 void __RPC_STUB IInternetZoneManager_GetZoneAt_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
2495 HRESULT WINAPI IInternetZoneManager_DestroyZoneEnumerator_Proxy(IInternetZoneManager *This,DWORD dwEnum);
2496 void __RPC_STUB IInternetZoneManager_DestroyZoneEnumerator_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
2497 HRESULT WINAPI IInternetZoneManager_CopyTemplatePoliciesToZone_Proxy(IInternetZoneManager *This,DWORD dwTemplate,DWORD dwZone,DWORD dwReserved);
2498 void __RPC_STUB IInternetZoneManager_CopyTemplatePoliciesToZone_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
2499 #endif
2500 #endif
2501
2502 #ifndef _LPINTERNETZONEMANAGEREX_DEFINED
2503 #define _LPINTERNETZONEMANAGEREX_DEFINED
2504 extern RPC_IF_HANDLE __MIDL_itf_urlmon_0209_v0_0_c_ifspec;
2505 extern RPC_IF_HANDLE __MIDL_itf_urlmon_0209_v0_0_s_ifspec;
2506 #ifndef __IInternetZoneManagerEx_INTERFACE_DEFINED__
2507 #define __IInternetZoneManagerEx_INTERFACE_DEFINED__
2508 EXTERN_C const IID IID_IInternetZoneManagerEx;
2509 #if defined(__cplusplus) && !defined(CINTERFACE)
2510 struct IInternetZoneManagerEx : public IInternetZoneManager {
2511 public:
2512 virtual HRESULT WINAPI GetZoneActionPolicyEx(DWORD dwZone,DWORD dwAction,BYTE *pPolicy,DWORD cbPolicy,URLZONEREG urlZoneReg,DWORD dwFlags) = 0;
2513 virtual HRESULT WINAPI SetZoneActionPolicyEx(DWORD dwZone,DWORD dwAction,BYTE *pPolicy,DWORD cbPolicy,URLZONEREG urlZoneReg,DWORD dwFlags) = 0;
2514 };
2515 #else
2516 typedef struct IInternetZoneManagerExVtbl {
2517 BEGIN_INTERFACE
2518 HRESULT (WINAPI *QueryInterface)(IInternetZoneManagerEx *This,REFIID riid,void **ppvObject);
2519 ULONG (WINAPI *AddRef)(IInternetZoneManagerEx *This);
2520 ULONG (WINAPI *Release)(IInternetZoneManagerEx *This);
2521 HRESULT (WINAPI *GetZoneAttributes)(IInternetZoneManagerEx *This,DWORD dwZone,ZONEATTRIBUTES *pZoneAttributes);
2522 HRESULT (WINAPI *SetZoneAttributes)(IInternetZoneManagerEx *This,DWORD dwZone,ZONEATTRIBUTES *pZoneAttributes);
2523 HRESULT (WINAPI *GetZoneCustomPolicy)(IInternetZoneManagerEx *This,DWORD dwZone,REFGUID guidKey,BYTE **ppPolicy,DWORD *pcbPolicy,URLZONEREG urlZoneReg);
2524 HRESULT (WINAPI *SetZoneCustomPolicy)(IInternetZoneManagerEx *This,DWORD dwZone,REFGUID guidKey,BYTE *pPolicy,DWORD cbPolicy,URLZONEREG urlZoneReg);
2525 HRESULT (WINAPI *GetZoneActionPolicy)(IInternetZoneManagerEx *This,DWORD dwZone,DWORD dwAction,BYTE *pPolicy,DWORD cbPolicy,URLZONEREG urlZoneReg);
2526 HRESULT (WINAPI *SetZoneActionPolicy)(IInternetZoneManagerEx *This,DWORD dwZone,DWORD dwAction,BYTE *pPolicy,DWORD cbPolicy,URLZONEREG urlZoneReg);
2527 HRESULT (WINAPI *PromptAction)(IInternetZoneManagerEx *This,DWORD dwAction,HWND hwndParent,LPCWSTR pwszUrl,LPCWSTR pwszText,DWORD dwPromptFlags);
2528 HRESULT (WINAPI *LogAction)(IInternetZoneManagerEx *This,DWORD dwAction,LPCWSTR pwszUrl,LPCWSTR pwszText,DWORD dwLogFlags);
2529 HRESULT (WINAPI *CreateZoneEnumerator)(IInternetZoneManagerEx *This,DWORD *pdwEnum,DWORD *pdwCount,DWORD dwFlags);
2530 HRESULT (WINAPI *GetZoneAt)(IInternetZoneManagerEx *This,DWORD dwEnum,DWORD dwIndex,DWORD *pdwZone);
2531 HRESULT (WINAPI *DestroyZoneEnumerator)(IInternetZoneManagerEx *This,DWORD dwEnum);
2532 HRESULT (WINAPI *CopyTemplatePoliciesToZone)(IInternetZoneManagerEx *This,DWORD dwTemplate,DWORD dwZone,DWORD dwReserved);
2533 HRESULT (WINAPI *GetZoneActionPolicyEx)(IInternetZoneManagerEx *This,DWORD dwZone,DWORD dwAction,BYTE *pPolicy,DWORD cbPolicy,URLZONEREG urlZoneReg,DWORD dwFlags);
2534 HRESULT (WINAPI *SetZoneActionPolicyEx)(IInternetZoneManagerEx *This,DWORD dwZone,DWORD dwAction,BYTE *pPolicy,DWORD cbPolicy,URLZONEREG urlZoneReg,DWORD dwFlags);
2535 END_INTERFACE
2536 } IInternetZoneManagerExVtbl;
2537 struct IInternetZoneManagerEx {
2538 CONST_VTBL struct IInternetZoneManagerExVtbl *lpVtbl;
2539 };
2540 #ifdef COBJMACROS
2541 #define IInternetZoneManagerEx_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject)
2542 #define IInternetZoneManagerEx_AddRef(This) (This)->lpVtbl->AddRef(This)
2543 #define IInternetZoneManagerEx_Release(This) (This)->lpVtbl->Release(This)
2544 #define IInternetZoneManagerEx_GetZoneAttributes(This,dwZone,pZoneAttributes) (This)->lpVtbl->GetZoneAttributes(This,dwZone,pZoneAttributes)
2545 #define IInternetZoneManagerEx_SetZoneAttributes(This,dwZone,pZoneAttributes) (This)->lpVtbl->SetZoneAttributes(This,dwZone,pZoneAttributes)
2546 #define IInternetZoneManagerEx_GetZoneCustomPolicy(This,dwZone,guidKey,ppPolicy,pcbPolicy,urlZoneReg) (This)->lpVtbl->GetZoneCustomPolicy(This,dwZone,guidKey,ppPolicy,pcbPolicy,urlZoneReg)
2547 #define IInternetZoneManagerEx_SetZoneCustomPolicy(This,dwZone,guidKey,pPolicy,cbPolicy,urlZoneReg) (This)->lpVtbl->SetZoneCustomPolicy(This,dwZone,guidKey,pPolicy,cbPolicy,urlZoneReg)
2548 #define IInternetZoneManagerEx_GetZoneActionPolicy(This,dwZone,dwAction,pPolicy,cbPolicy,urlZoneReg) (This)->lpVtbl->GetZoneActionPolicy(This,dwZone,dwAction,pPolicy,cbPolicy,urlZoneReg)
2549 #define IInternetZoneManagerEx_SetZoneActionPolicy(This,dwZone,dwAction,pPolicy,cbPolicy,urlZoneReg) (This)->lpVtbl->SetZoneActionPolicy(This,dwZone,dwAction,pPolicy,cbPolicy,urlZoneReg)
2550 #define IInternetZoneManagerEx_PromptAction(This,dwAction,hwndParent,pwszUrl,pwszText,dwPromptFlags) (This)->lpVtbl->PromptAction(This,dwAction,hwndParent,pwszUrl,pwszText,dwPromptFlags)
2551 #define IInternetZoneManagerEx_LogAction(This,dwAction,pwszUrl,pwszText,dwLogFlags) (This)->lpVtbl->LogAction(This,dwAction,pwszUrl,pwszText,dwLogFlags)
2552 #define IInternetZoneManagerEx_CreateZoneEnumerator(This,pdwEnum,pdwCount,dwFlags) (This)->lpVtbl->CreateZoneEnumerator(This,pdwEnum,pdwCount,dwFlags)
2553 #define IInternetZoneManagerEx_GetZoneAt(This,dwEnum,dwIndex,pdwZone) (This)->lpVtbl->GetZoneAt(This,dwEnum,dwIndex,pdwZone)
2554 #define IInternetZoneManagerEx_DestroyZoneEnumerator(This,dwEnum) (This)->lpVtbl->DestroyZoneEnumerator(This,dwEnum)
2555 #define IInternetZoneManagerEx_CopyTemplatePoliciesToZone(This,dwTemplate,dwZone,dwReserved) (This)->lpVtbl->CopyTemplatePoliciesToZone(This,dwTemplate,dwZone,dwReserved)
2556 #define IInternetZoneManagerEx_GetZoneActionPolicyEx(This,dwZone,dwAction,pPolicy,cbPolicy,urlZoneReg,dwFlags) (This)->lpVtbl->GetZoneActionPolicyEx(This,dwZone,dwAction,pPolicy,cbPolicy,urlZoneReg,dwFlags)
2557 #define IInternetZoneManagerEx_SetZoneActionPolicyEx(This,dwZone,dwAction,pPolicy,cbPolicy,urlZoneReg,dwFlags) (This)->lpVtbl->SetZoneActionPolicyEx(This,dwZone,dwAction,pPolicy,cbPolicy,urlZoneReg,dwFlags)
2558 #endif
2559 #endif
2560 HRESULT WINAPI IInternetZoneManagerEx_GetZoneActionPolicyEx_Proxy(IInternetZoneManagerEx *This,DWORD dwZone,DWORD dwAction,BYTE *pPolicy,DWORD cbPolicy,URLZONEREG urlZoneReg,DWORD dwFlags);
2561 void __RPC_STUB IInternetZoneManagerEx_GetZoneActionPolicyEx_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
2562 HRESULT WINAPI IInternetZoneManagerEx_SetZoneActionPolicyEx_Proxy(IInternetZoneManagerEx *This,DWORD dwZone,DWORD dwAction,BYTE *pPolicy,DWORD cbPolicy,URLZONEREG urlZoneReg,DWORD dwFlags);
2563 void __RPC_STUB IInternetZoneManagerEx_SetZoneActionPolicyEx_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
2564 #endif
2565 #endif
2566
2567 EXTERN_C const IID CLSID_SoftDistExt;
2568
2569 #ifndef _LPSOFTDISTEXT_DEFINED
2570 #define _LPSOFTDISTEXT_DEFINED
2571
2572 #define SOFTDIST_FLAG_USAGE_EMAIL 0x00000001
2573 #define SOFTDIST_FLAG_USAGE_PRECACHE 0x00000002
2574 #define SOFTDIST_FLAG_USAGE_AUTOINSTALL 0x00000004
2575 #define SOFTDIST_FLAG_DELETE_SUBSCRIPTION 0x00000008
2576
2577 #define SOFTDIST_ADSTATE_NONE 0x00000000
2578 #define SOFTDIST_ADSTATE_AVAILABLE 0x00000001
2579 #define SOFTDIST_ADSTATE_DOWNLOADED 0x00000002
2580 #define SOFTDIST_ADSTATE_INSTALLED 0x00000003
2581
2582 typedef struct _tagCODEBASEHOLD {
2583 ULONG cbSize;
2584 LPWSTR szDistUnit;
2585 LPWSTR szCodeBase;
2586 DWORD dwVersionMS;
2587 DWORD dwVersionLS;
2588 DWORD dwStyle;
2589 } CODEBASEHOLD;
2590
2591 typedef struct _tagCODEBASEHOLD *LPCODEBASEHOLD;
2592
2593 typedef struct _tagSOFTDISTINFO {
2594 ULONG cbSize;
2595 DWORD dwFlags;
2596 DWORD dwAdState;
2597 LPWSTR szTitle;
2598 LPWSTR szAbstract;
2599 LPWSTR szHREF;
2600 DWORD dwInstalledVersionMS;
2601 DWORD dwInstalledVersionLS;
2602 DWORD dwUpdateVersionMS;
2603 DWORD dwUpdateVersionLS;
2604 DWORD dwAdvertisedVersionMS;
2605 DWORD dwAdvertisedVersionLS;
2606 DWORD dwReserved;
2607 } SOFTDISTINFO;
2608
2609 typedef struct _tagSOFTDISTINFO *LPSOFTDISTINFO;
2610
2611 extern RPC_IF_HANDLE __MIDL_itf_urlmon_0210_v0_0_c_ifspec;
2612 extern RPC_IF_HANDLE __MIDL_itf_urlmon_0210_v0_0_s_ifspec;
2613 #ifndef __ISoftDistExt_INTERFACE_DEFINED__
2614 #define __ISoftDistExt_INTERFACE_DEFINED__
2615 EXTERN_C const IID IID_ISoftDistExt;
2616 #if defined(__cplusplus) && !defined(CINTERFACE)
2617 struct ISoftDistExt : public IUnknown {
2618 public:
2619 virtual HRESULT WINAPI ProcessSoftDist(LPCWSTR szCDFURL,IXMLElement *pSoftDistElement,LPSOFTDISTINFO lpsdi) = 0;
2620 virtual HRESULT WINAPI GetFirstCodeBase(LPWSTR *szCodeBase,LPDWORD dwMaxSize) = 0;
2621 virtual HRESULT WINAPI GetNextCodeBase(LPWSTR *szCodeBase,LPDWORD dwMaxSize) = 0;
2622 virtual HRESULT WINAPI AsyncInstallDistributionUnit(IBindCtx *pbc,LPVOID pvReserved,DWORD flags,LPCODEBASEHOLD lpcbh) = 0;
2623 };
2624 #else
2625 typedef struct ISoftDistExtVtbl {
2626 BEGIN_INTERFACE
2627 HRESULT (WINAPI *QueryInterface)(ISoftDistExt *This,REFIID riid,void **ppvObject);
2628 ULONG (WINAPI *AddRef)(ISoftDistExt *This);
2629 ULONG (WINAPI *Release)(ISoftDistExt *This);
2630 HRESULT (WINAPI *ProcessSoftDist)(ISoftDistExt *This,LPCWSTR szCDFURL,IXMLElement *pSoftDistElement,LPSOFTDISTINFO lpsdi);
2631 HRESULT (WINAPI *GetFirstCodeBase)(ISoftDistExt *This,LPWSTR *szCodeBase,LPDWORD dwMaxSize);
2632 HRESULT (WINAPI *GetNextCodeBase)(ISoftDistExt *This,LPWSTR *szCodeBase,LPDWORD dwMaxSize);
2633 HRESULT (WINAPI *AsyncInstallDistributionUnit)(ISoftDistExt *This,IBindCtx *pbc,LPVOID pvReserved,DWORD flags,LPCODEBASEHOLD lpcbh);
2634 END_INTERFACE
2635 } ISoftDistExtVtbl;
2636 struct ISoftDistExt {
2637 CONST_VTBL struct ISoftDistExtVtbl *lpVtbl;
2638 };
2639 #ifdef COBJMACROS
2640 #define ISoftDistExt_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject)
2641 #define ISoftDistExt_AddRef(This) (This)->lpVtbl->AddRef(This)
2642 #define ISoftDistExt_Release(This) (This)->lpVtbl->Release(This)
2643 #define ISoftDistExt_ProcessSoftDist(This,szCDFURL,pSoftDistElement,lpsdi) (This)->lpVtbl->ProcessSoftDist(This,szCDFURL,pSoftDistElement,lpsdi)
2644 #define ISoftDistExt_GetFirstCodeBase(This,szCodeBase,dwMaxSize) (This)->lpVtbl->GetFirstCodeBase(This,szCodeBase,dwMaxSize)
2645 #define ISoftDistExt_GetNextCodeBase(This,szCodeBase,dwMaxSize) (This)->lpVtbl->GetNextCodeBase(This,szCodeBase,dwMaxSize)
2646 #define ISoftDistExt_AsyncInstallDistributionUnit(This,pbc,pvReserved,flags,lpcbh) (This)->lpVtbl->AsyncInstallDistributionUnit(This,pbc,pvReserved,flags,lpcbh)
2647 #endif
2648 #endif
2649 HRESULT WINAPI ISoftDistExt_ProcessSoftDist_Proxy(ISoftDistExt *This,LPCWSTR szCDFURL,IXMLElement *pSoftDistElement,LPSOFTDISTINFO lpsdi);
2650 void __RPC_STUB ISoftDistExt_ProcessSoftDist_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
2651 HRESULT WINAPI ISoftDistExt_GetFirstCodeBase_Proxy(ISoftDistExt *This,LPWSTR *szCodeBase,LPDWORD dwMaxSize);
2652 void __RPC_STUB ISoftDistExt_GetFirstCodeBase_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
2653 HRESULT WINAPI ISoftDistExt_GetNextCodeBase_Proxy(ISoftDistExt *This,LPWSTR *szCodeBase,LPDWORD dwMaxSize);
2654 void __RPC_STUB ISoftDistExt_GetNextCodeBase_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
2655 HRESULT WINAPI ISoftDistExt_AsyncInstallDistributionUnit_Proxy(ISoftDistExt *This,IBindCtx *pbc,LPVOID pvReserved,DWORD flags,LPCODEBASEHOLD lpcbh);
2656 void __RPC_STUB ISoftDistExt_AsyncInstallDistributionUnit_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
2657 #endif
2658
2659 STDAPI GetSoftwareUpdateInfo(LPCWSTR szDistUnit,LPSOFTDISTINFO psdi);
2660 STDAPI SetSoftwareUpdateAdvertisementState(LPCWSTR szDistUnit,DWORD dwAdState,DWORD dwAdvertisedVersionMS,DWORD dwAdvertisedVersionLS);
2661 #endif
2662
2663 #ifndef _LPCATALOGFILEINFO_DEFINED
2664 #define _LPCATALOGFILEINFO_DEFINED
2665 extern RPC_IF_HANDLE __MIDL_itf_urlmon_0211_v0_0_c_ifspec;
2666 extern RPC_IF_HANDLE __MIDL_itf_urlmon_0211_v0_0_s_ifspec;
2667 #ifndef __ICatalogFileInfo_INTERFACE_DEFINED__
2668 #define __ICatalogFileInfo_INTERFACE_DEFINED__
2669 typedef ICatalogFileInfo *LPCATALOGFILEINFO;
2670
2671 EXTERN_C const IID IID_ICatalogFileInfo;
2672 #if defined(__cplusplus) && !defined(CINTERFACE)
2673 struct ICatalogFileInfo : public IUnknown {
2674 public:
2675 virtual HRESULT WINAPI GetCatalogFile(LPSTR *ppszCatalogFile) = 0;
2676 virtual HRESULT WINAPI GetJavaTrust(void **ppJavaTrust) = 0;
2677 };
2678 #else
2679 typedef struct ICatalogFileInfoVtbl {
2680 BEGIN_INTERFACE
2681 HRESULT (WINAPI *QueryInterface)(ICatalogFileInfo *This,REFIID riid,void **ppvObject);
2682 ULONG (WINAPI *AddRef)(ICatalogFileInfo *This);
2683 ULONG (WINAPI *Release)(ICatalogFileInfo *This);
2684 HRESULT (WINAPI *GetCatalogFile)(ICatalogFileInfo *This,LPSTR *ppszCatalogFile);
2685 HRESULT (WINAPI *GetJavaTrust)(ICatalogFileInfo *This,void **ppJavaTrust);
2686 END_INTERFACE
2687 } ICatalogFileInfoVtbl;
2688 struct ICatalogFileInfo {
2689 CONST_VTBL struct ICatalogFileInfoVtbl *lpVtbl;
2690 };
2691 #ifdef COBJMACROS
2692 #define ICatalogFileInfo_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject)
2693 #define ICatalogFileInfo_AddRef(This) (This)->lpVtbl->AddRef(This)
2694 #define ICatalogFileInfo_Release(This) (This)->lpVtbl->Release(This)
2695 #define ICatalogFileInfo_GetCatalogFile(This,ppszCatalogFile) (This)->lpVtbl->GetCatalogFile(This,ppszCatalogFile)
2696 #define ICatalogFileInfo_GetJavaTrust(This,ppJavaTrust) (This)->lpVtbl->GetJavaTrust(This,ppJavaTrust)
2697 #endif
2698 #endif
2699 HRESULT WINAPI ICatalogFileInfo_GetCatalogFile_Proxy(ICatalogFileInfo *This,LPSTR *ppszCatalogFile);
2700 void __RPC_STUB ICatalogFileInfo_GetCatalogFile_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
2701 HRESULT WINAPI ICatalogFileInfo_GetJavaTrust_Proxy(ICatalogFileInfo *This,void **ppJavaTrust);
2702 void __RPC_STUB ICatalogFileInfo_GetJavaTrust_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
2703 #endif
2704 #endif
2705
2706 #ifndef _LPDATAFILTER_DEFINED
2707 #define _LPDATAFILTER_DEFINED
2708 extern RPC_IF_HANDLE __MIDL_itf_urlmon_0212_v0_0_c_ifspec;
2709 extern RPC_IF_HANDLE __MIDL_itf_urlmon_0212_v0_0_s_ifspec;
2710 #ifndef __IDataFilter_INTERFACE_DEFINED__
2711 #define __IDataFilter_INTERFACE_DEFINED__
2712 typedef IDataFilter *LPDATAFILTER;
2713
2714 EXTERN_C const IID IID_IDataFilter;
2715 #if defined(__cplusplus) && !defined(CINTERFACE)
2716 struct IDataFilter : public IUnknown {
2717 public:
2718 virtual HRESULT WINAPI DoEncode(DWORD dwFlags,LONG lInBufferSize,BYTE *pbInBuffer,LONG lOutBufferSize,BYTE *pbOutBuffer,LONG lInBytesAvailable,LONG *plInBytesRead,LONG *plOutBytesWritten,DWORD dwReserved) = 0;
2719 virtual HRESULT WINAPI DoDecode(DWORD dwFlags,LONG lInBufferSize,BYTE *pbInBuffer,LONG lOutBufferSize,BYTE *pbOutBuffer,LONG lInBytesAvailable,LONG *plInBytesRead,LONG *plOutBytesWritten,DWORD dwReserved) = 0;
2720 virtual HRESULT WINAPI SetEncodingLevel(DWORD dwEncLevel) = 0;
2721 };
2722 #else
2723 typedef struct IDataFilterVtbl {
2724 BEGIN_INTERFACE
2725 HRESULT (WINAPI *QueryInterface)(IDataFilter *This,REFIID riid,void **ppvObject);
2726 ULONG (WINAPI *AddRef)(IDataFilter *This);
2727 ULONG (WINAPI *Release)(IDataFilter *This);
2728 HRESULT (WINAPI *DoEncode)(IDataFilter *This,DWORD dwFlags,LONG lInBufferSize,BYTE *pbInBuffer,LONG lOutBufferSize,BYTE *pbOutBuffer,LONG lInBytesAvailable,LONG *plInBytesRead,LONG *plOutBytesWritten,DWORD dwReserved);
2729 HRESULT (WINAPI *DoDecode)(IDataFilter *This,DWORD dwFlags,LONG lInBufferSize,BYTE *pbInBuffer,LONG lOutBufferSize,BYTE *pbOutBuffer,LONG lInBytesAvailable,LONG *plInBytesRead,LONG *plOutBytesWritten,DWORD dwReserved);
2730 HRESULT (WINAPI *SetEncodingLevel)(IDataFilter *This,DWORD dwEncLevel);
2731 END_INTERFACE
2732 } IDataFilterVtbl;
2733 struct IDataFilter {
2734 CONST_VTBL struct IDataFilterVtbl *lpVtbl;
2735 };
2736 #ifdef COBJMACROS
2737 #define IDataFilter_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject)
2738 #define IDataFilter_AddRef(This) (This)->lpVtbl->AddRef(This)
2739 #define IDataFilter_Release(This) (This)->lpVtbl->Release(This)
2740 #define IDataFilter_DoEncode(This,dwFlags,lInBufferSize,pbInBuffer,lOutBufferSize,pbOutBuffer,lInBytesAvailable,plInBytesRead,plOutBytesWritten,dwReserved) (This)->lpVtbl->DoEncode(This,dwFlags,lInBufferSize,pbInBuffer,lOutBufferSize,pbOutBuffer,lInBytesAvailable,plInBytesRead,plOutBytesWritten,dwReserved)
2741 #define IDataFilter_DoDecode(This,dwFlags,lInBufferSize,pbInBuffer,lOutBufferSize,pbOutBuffer,lInBytesAvailable,plInBytesRead,plOutBytesWritten,dwReserved) (This)->lpVtbl->DoDecode(This,dwFlags,lInBufferSize,pbInBuffer,lOutBufferSize,pbOutBuffer,lInBytesAvailable,plInBytesRead,plOutBytesWritten,dwReserved)
2742 #define IDataFilter_SetEncodingLevel(This,dwEncLevel) (This)->lpVtbl->SetEncodingLevel(This,dwEncLevel)
2743 #endif
2744 #endif
2745 HRESULT WINAPI IDataFilter_DoEncode_Proxy(IDataFilter *This,DWORD dwFlags,LONG lInBufferSize,BYTE *pbInBuffer,LONG lOutBufferSize,BYTE *pbOutBuffer,LONG lInBytesAvailable,LONG *plInBytesRead,LONG *plOutBytesWritten,DWORD dwReserved);
2746 void __RPC_STUB IDataFilter_DoEncode_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
2747 HRESULT WINAPI IDataFilter_DoDecode_Proxy(IDataFilter *This,DWORD dwFlags,LONG lInBufferSize,BYTE *pbInBuffer,LONG lOutBufferSize,BYTE *pbOutBuffer,LONG lInBytesAvailable,LONG *plInBytesRead,LONG *plOutBytesWritten,DWORD dwReserved);
2748 void __RPC_STUB IDataFilter_DoDecode_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
2749 HRESULT WINAPI IDataFilter_SetEncodingLevel_Proxy(IDataFilter *This,DWORD dwEncLevel);
2750 void __RPC_STUB IDataFilter_SetEncodingLevel_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
2751 #endif
2752 #endif
2753
2754 #ifndef _LPENCODINGFILTERFACTORY_DEFINED
2755 #define _LPENCODINGFILTERFACTORY_DEFINED
2756 typedef struct _tagPROTOCOLFILTERDATA {
2757 DWORD cbSize;
2758 IInternetProtocolSink *pProtocolSink;
2759 IInternetProtocol *pProtocol;
2760 IUnknown *pUnk;
2761 DWORD dwFilterFlags;
2762 } PROTOCOLFILTERDATA;
2763
2764 extern RPC_IF_HANDLE __MIDL_itf_urlmon_0213_v0_0_c_ifspec;
2765 extern RPC_IF_HANDLE __MIDL_itf_urlmon_0213_v0_0_s_ifspec;
2766 #ifndef __IEncodingFilterFactory_INTERFACE_DEFINED__
2767 #define __IEncodingFilterFactory_INTERFACE_DEFINED__
2768 typedef IEncodingFilterFactory *LPENCODINGFILTERFACTORY;
2769
2770 typedef struct _tagDATAINFO {
2771 ULONG ulTotalSize;
2772 ULONG ulavrPacketSize;
2773 ULONG ulConnectSpeed;
2774 ULONG ulProcessorSpeed;
2775 } DATAINFO;
2776
2777 EXTERN_C const IID IID_IEncodingFilterFactory;
2778 #if defined(__cplusplus) && !defined(CINTERFACE)
2779 struct IEncodingFilterFactory : public IUnknown {
2780 public:
2781 virtual HRESULT WINAPI FindBestFilter(LPCWSTR pwzCodeIn,LPCWSTR pwzCodeOut,DATAINFO info,IDataFilter **ppDF) = 0;
2782 virtual HRESULT WINAPI GetDefaultFilter(LPCWSTR pwzCodeIn,LPCWSTR pwzCodeOut,IDataFilter **ppDF) = 0;
2783 };
2784 #else
2785 typedef struct IEncodingFilterFactoryVtbl {
2786 BEGIN_INTERFACE
2787 HRESULT (WINAPI *QueryInterface)(IEncodingFilterFactory *This,REFIID riid,void **ppvObject);
2788 ULONG (WINAPI *AddRef)(IEncodingFilterFactory *This);
2789 ULONG (WINAPI *Release)(IEncodingFilterFactory *This);
2790 HRESULT (WINAPI *FindBestFilter)(IEncodingFilterFactory *This,LPCWSTR pwzCodeIn,LPCWSTR pwzCodeOut,DATAINFO info,IDataFilter **ppDF);
2791 HRESULT (WINAPI *GetDefaultFilter)(IEncodingFilterFactory *This,LPCWSTR pwzCodeIn,LPCWSTR pwzCodeOut,IDataFilter **ppDF);
2792 END_INTERFACE
2793 } IEncodingFilterFactoryVtbl;
2794 struct IEncodingFilterFactory {
2795 CONST_VTBL struct IEncodingFilterFactoryVtbl *lpVtbl;
2796 };
2797 #ifdef COBJMACROS
2798 #define IEncodingFilterFactory_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject)
2799 #define IEncodingFilterFactory_AddRef(This) (This)->lpVtbl->AddRef(This)
2800 #define IEncodingFilterFactory_Release(This) (This)->lpVtbl->Release(This)
2801 #define IEncodingFilterFactory_FindBestFilter(This,pwzCodeIn,pwzCodeOut,info,ppDF) (This)->lpVtbl->FindBestFilter(This,pwzCodeIn,pwzCodeOut,info,ppDF)
2802 #define IEncodingFilterFactory_GetDefaultFilter(This,pwzCodeIn,pwzCodeOut,ppDF) (This)->lpVtbl->GetDefaultFilter(This,pwzCodeIn,pwzCodeOut,ppDF)
2803 #endif
2804 #endif
2805 HRESULT WINAPI IEncodingFilterFactory_FindBestFilter_Proxy(IEncodingFilterFactory *This,LPCWSTR pwzCodeIn,LPCWSTR pwzCodeOut,DATAINFO info,IDataFilter **ppDF);
2806 void __RPC_STUB IEncodingFilterFactory_FindBestFilter_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
2807 HRESULT WINAPI IEncodingFilterFactory_GetDefaultFilter_Proxy(IEncodingFilterFactory *This,LPCWSTR pwzCodeIn,LPCWSTR pwzCodeOut,IDataFilter **ppDF);
2808 void __RPC_STUB IEncodingFilterFactory_GetDefaultFilter_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
2809 #endif
2810 #endif
2811
2812 #ifndef _HITLOGGING_DEFINED
2813 #define _HITLOGGING_DEFINED
2814 WINBOOL WINAPI IsLoggingEnabledA(LPCSTR pszUrl);
2815 WINBOOL WINAPI IsLoggingEnabledW(LPCWSTR pwszUrl);
2816 #ifdef UNICODE
2817 #define IsLoggingEnabled IsLoggingEnabledW
2818 #else
2819 #define IsLoggingEnabled IsLoggingEnabledA
2820 #endif
2821 typedef struct _tagHIT_LOGGING_INFO {
2822 DWORD dwStructSize;
2823 LPSTR lpszLoggedUrlName;
2824 SYSTEMTIME StartTime;
2825 SYSTEMTIME EndTime;
2826 LPSTR lpszExtendedInfo;
2827 } HIT_LOGGING_INFO;
2828
2829 typedef struct _tagHIT_LOGGING_INFO *LPHIT_LOGGING_INFO;
2830
2831 WINBOOL WINAPI WriteHitLogging(LPHIT_LOGGING_INFO lpLogginginfo);
2832 #define CONFIRMSAFETYACTION_LOADOBJECT 0x00000001
2833
2834 struct CONFIRMSAFETY {
2835 CLSID clsid;
2836 IUnknown *pUnk;
2837 DWORD dwFlags;
2838 };
2839 EXTERN_C const GUID GUID_CUSTOM_CONFIRMOBJECTSAFETY;
2840 #endif
2841
2842 #ifndef _LPIWRAPPEDPROTOCOL_DEFINED
2843 #define _LPIWRAPPEDPROTOCOL_DEFINED
2844 extern RPC_IF_HANDLE __MIDL_itf_urlmon_0214_v0_0_c_ifspec;
2845 extern RPC_IF_HANDLE __MIDL_itf_urlmon_0214_v0_0_s_ifspec;
2846 #ifndef __IWrappedProtocol_INTERFACE_DEFINED__
2847 #define __IWrappedProtocol_INTERFACE_DEFINED__
2848 typedef IWrappedProtocol *LPIWRAPPEDPROTOCOL;
2849
2850 EXTERN_C const IID IID_IWrappedProtocol;
2851 #if defined(__cplusplus) && !defined(CINTERFACE)
2852 struct IWrappedProtocol : public IUnknown {
2853 public:
2854 virtual HRESULT WINAPI GetWrapperCode(LONG *pnCode,DWORD_PTR dwReserved) = 0;
2855 };
2856 #else
2857 typedef struct IWrappedProtocolVtbl {
2858 BEGIN_INTERFACE
2859 HRESULT (WINAPI *QueryInterface)(IWrappedProtocol *This,REFIID riid,void **ppvObject);
2860 ULONG (WINAPI *AddRef)(IWrappedProtocol *This);
2861 ULONG (WINAPI *Release)(IWrappedProtocol *This);
2862 HRESULT (WINAPI *GetWrapperCode)(IWrappedProtocol *This,LONG *pnCode,DWORD_PTR dwReserved);
2863 END_INTERFACE
2864 } IWrappedProtocolVtbl;
2865 struct IWrappedProtocol {
2866 CONST_VTBL struct IWrappedProtocolVtbl *lpVtbl;
2867 };
2868 #ifdef COBJMACROS
2869 #define IWrappedProtocol_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject)
2870 #define IWrappedProtocol_AddRef(This) (This)->lpVtbl->AddRef(This)
2871 #define IWrappedProtocol_Release(This) (This)->lpVtbl->Release(This)
2872 #define IWrappedProtocol_GetWrapperCode(This,pnCode,dwReserved) (This)->lpVtbl->GetWrapperCode(This,pnCode,dwReserved)
2873 #endif
2874 #endif
2875 HRESULT WINAPI IWrappedProtocol_GetWrapperCode_Proxy(IWrappedProtocol *This,LONG *pnCode,DWORD_PTR dwReserved);
2876 void __RPC_STUB IWrappedProtocol_GetWrapperCode_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
2877 #endif
2878 #endif
2879
2880 extern RPC_IF_HANDLE __MIDL_itf_urlmon_0215_v0_0_c_ifspec;
2881 extern RPC_IF_HANDLE __MIDL_itf_urlmon_0215_v0_0_s_ifspec;
2882
2883 unsigned long __RPC_API HWND_UserSize(unsigned long *,unsigned long,HWND *);
2884 unsigned char *__RPC_API HWND_UserMarshal(unsigned long *,unsigned char *,HWND *);
2885 unsigned char *__RPC_API HWND_UserUnmarshal(unsigned long *,unsigned char *,HWND *);
2886 void __RPC_API HWND_UserFree(unsigned long *,HWND *);
2887
2888 HRESULT WINAPI IBinding_GetBindResult_Proxy(IBinding *This,CLSID *pclsidProtocol,DWORD *pdwResult,LPOLESTR *pszResult,DWORD *pdwReserved);
2889 HRESULT WINAPI IBinding_GetBindResult_Stub(IBinding *This,CLSID *pclsidProtocol,DWORD *pdwResult,LPOLESTR *pszResult,DWORD dwReserved);
2890 HRESULT WINAPI IBindStatusCallback_GetBindInfo_Proxy(IBindStatusCallback *This,DWORD *grfBINDF,BINDINFO *pbindinfo);
2891 HRESULT WINAPI IBindStatusCallback_GetBindInfo_Stub(IBindStatusCallback *This,DWORD *grfBINDF,RemBINDINFO *pbindinfo,RemSTGMEDIUM *pstgmed);
2892 HRESULT WINAPI IBindStatusCallback_OnDataAvailable_Proxy(IBindStatusCallback *This,DWORD grfBSCF,DWORD dwSize,FORMATETC *pformatetc,STGMEDIUM *pstgmed);
2893 HRESULT WINAPI IBindStatusCallback_OnDataAvailable_Stub(IBindStatusCallback *This,DWORD grfBSCF,DWORD dwSize,RemFORMATETC *pformatetc,RemSTGMEDIUM *pstgmed);
2894 HRESULT WINAPI IWinInetInfo_QueryOption_Proxy(IWinInetInfo *This,DWORD dwOption,LPVOID pBuffer,DWORD *pcbBuf);
2895 HRESULT WINAPI IWinInetInfo_QueryOption_Stub(IWinInetInfo *This,DWORD dwOption,BYTE *pBuffer,DWORD *pcbBuf);
2896 HRESULT WINAPI IWinInetHttpInfo_QueryInfo_Proxy(IWinInetHttpInfo *This,DWORD dwOption,LPVOID pBuffer,DWORD *pcbBuf,DWORD *pdwFlags,DWORD *pdwReserved);
2897 HRESULT WINAPI IWinInetHttpInfo_QueryInfo_Stub(IWinInetHttpInfo *This,DWORD dwOption,BYTE *pBuffer,DWORD *pcbBuf,DWORD *pdwFlags,DWORD *pdwReserved);
2898 HRESULT WINAPI IBindHost_MonikerBindToStorage_Proxy(IBindHost *This,IMoniker *pMk,IBindCtx *pBC,IBindStatusCallback *pBSC,REFIID riid,void **ppvObj);
2899 HRESULT WINAPI IBindHost_MonikerBindToStorage_Stub(IBindHost *This,IMoniker *pMk,IBindCtx *pBC,IBindStatusCallback *pBSC,REFIID riid,IUnknown **ppvObj);
2900 HRESULT WINAPI IBindHost_MonikerBindToObject_Proxy(IBindHost *This,IMoniker *pMk,IBindCtx *pBC,IBindStatusCallback *pBSC,REFIID riid,void **ppvObj);
2901 HRESULT WINAPI IBindHost_MonikerBindToObject_Stub(IBindHost *This,IMoniker *pMk,IBindCtx *pBC,IBindStatusCallback *pBSC,REFIID riid,IUnknown **ppvObj);
2902
2903 #ifdef __cplusplus
2904 }
2905 #endif
2906 #endif