master
1/*** Autogenerated by WIDL 10.4 from include/urlmon.idl - Do not edit ***/
2
3#ifdef _WIN32
4#ifndef __REQUIRED_RPCNDR_H_VERSION__
5#define __REQUIRED_RPCNDR_H_VERSION__ 475
6#endif
7#include <rpc.h>
8#include <rpcndr.h>
9#endif
10
11#ifndef COM_NO_WINDOWS_H
12#include <windows.h>
13#include <ole2.h>
14#endif
15
16#ifndef __urlmon_h__
17#define __urlmon_h__
18
19/* Forward declarations */
20
21#ifndef __IPersistMoniker_FWD_DEFINED__
22#define __IPersistMoniker_FWD_DEFINED__
23typedef interface IPersistMoniker IPersistMoniker;
24#ifdef __cplusplus
25interface IPersistMoniker;
26#endif /* __cplusplus */
27#endif
28
29#ifndef __IMonikerProp_FWD_DEFINED__
30#define __IMonikerProp_FWD_DEFINED__
31typedef interface IMonikerProp IMonikerProp;
32#ifdef __cplusplus
33interface IMonikerProp;
34#endif /* __cplusplus */
35#endif
36
37#ifndef __IBindProtocol_FWD_DEFINED__
38#define __IBindProtocol_FWD_DEFINED__
39typedef interface IBindProtocol IBindProtocol;
40#ifdef __cplusplus
41interface IBindProtocol;
42#endif /* __cplusplus */
43#endif
44
45#ifndef __IBinding_FWD_DEFINED__
46#define __IBinding_FWD_DEFINED__
47typedef interface IBinding IBinding;
48#ifdef __cplusplus
49interface IBinding;
50#endif /* __cplusplus */
51#endif
52
53#ifndef __IBindStatusCallback_FWD_DEFINED__
54#define __IBindStatusCallback_FWD_DEFINED__
55typedef interface IBindStatusCallback IBindStatusCallback;
56#ifdef __cplusplus
57interface IBindStatusCallback;
58#endif /* __cplusplus */
59#endif
60
61#ifndef __IBindStatusCallbackEx_FWD_DEFINED__
62#define __IBindStatusCallbackEx_FWD_DEFINED__
63typedef interface IBindStatusCallbackEx IBindStatusCallbackEx;
64#ifdef __cplusplus
65interface IBindStatusCallbackEx;
66#endif /* __cplusplus */
67#endif
68
69#ifndef __IAuthenticate_FWD_DEFINED__
70#define __IAuthenticate_FWD_DEFINED__
71typedef interface IAuthenticate IAuthenticate;
72#ifdef __cplusplus
73interface IAuthenticate;
74#endif /* __cplusplus */
75#endif
76
77#ifndef __IAuthenticateEx_FWD_DEFINED__
78#define __IAuthenticateEx_FWD_DEFINED__
79typedef interface IAuthenticateEx IAuthenticateEx;
80#ifdef __cplusplus
81interface IAuthenticateEx;
82#endif /* __cplusplus */
83#endif
84
85#ifndef __IHttpNegotiate_FWD_DEFINED__
86#define __IHttpNegotiate_FWD_DEFINED__
87typedef interface IHttpNegotiate IHttpNegotiate;
88#ifdef __cplusplus
89interface IHttpNegotiate;
90#endif /* __cplusplus */
91#endif
92
93#ifndef __IHttpNegotiate2_FWD_DEFINED__
94#define __IHttpNegotiate2_FWD_DEFINED__
95typedef interface IHttpNegotiate2 IHttpNegotiate2;
96#ifdef __cplusplus
97interface IHttpNegotiate2;
98#endif /* __cplusplus */
99#endif
100
101#ifndef __IHttpNegotiate3_FWD_DEFINED__
102#define __IHttpNegotiate3_FWD_DEFINED__
103typedef interface IHttpNegotiate3 IHttpNegotiate3;
104#ifdef __cplusplus
105interface IHttpNegotiate3;
106#endif /* __cplusplus */
107#endif
108
109#ifndef __IWinInetFileStream_FWD_DEFINED__
110#define __IWinInetFileStream_FWD_DEFINED__
111typedef interface IWinInetFileStream IWinInetFileStream;
112#ifdef __cplusplus
113interface IWinInetFileStream;
114#endif /* __cplusplus */
115#endif
116
117#ifndef __IWindowForBindingUI_FWD_DEFINED__
118#define __IWindowForBindingUI_FWD_DEFINED__
119typedef interface IWindowForBindingUI IWindowForBindingUI;
120#ifdef __cplusplus
121interface IWindowForBindingUI;
122#endif /* __cplusplus */
123#endif
124
125#ifndef __ICodeInstall_FWD_DEFINED__
126#define __ICodeInstall_FWD_DEFINED__
127typedef interface ICodeInstall ICodeInstall;
128#ifdef __cplusplus
129interface ICodeInstall;
130#endif /* __cplusplus */
131#endif
132
133#ifndef __IUri_FWD_DEFINED__
134#define __IUri_FWD_DEFINED__
135typedef interface IUri IUri;
136#ifdef __cplusplus
137interface IUri;
138#endif /* __cplusplus */
139#endif
140
141#ifndef __IUriContainer_FWD_DEFINED__
142#define __IUriContainer_FWD_DEFINED__
143typedef interface IUriContainer IUriContainer;
144#ifdef __cplusplus
145interface IUriContainer;
146#endif /* __cplusplus */
147#endif
148
149#ifndef __IUriBuilder_FWD_DEFINED__
150#define __IUriBuilder_FWD_DEFINED__
151typedef interface IUriBuilder IUriBuilder;
152#ifdef __cplusplus
153interface IUriBuilder;
154#endif /* __cplusplus */
155#endif
156
157#ifndef __IUriBuilderFactory_FWD_DEFINED__
158#define __IUriBuilderFactory_FWD_DEFINED__
159typedef interface IUriBuilderFactory IUriBuilderFactory;
160#ifdef __cplusplus
161interface IUriBuilderFactory;
162#endif /* __cplusplus */
163#endif
164
165#ifndef __IWinInetInfo_FWD_DEFINED__
166#define __IWinInetInfo_FWD_DEFINED__
167typedef interface IWinInetInfo IWinInetInfo;
168#ifdef __cplusplus
169interface IWinInetInfo;
170#endif /* __cplusplus */
171#endif
172
173#ifndef __IHttpSecurity_FWD_DEFINED__
174#define __IHttpSecurity_FWD_DEFINED__
175typedef interface IHttpSecurity IHttpSecurity;
176#ifdef __cplusplus
177interface IHttpSecurity;
178#endif /* __cplusplus */
179#endif
180
181#ifndef __IWinInetHttpInfo_FWD_DEFINED__
182#define __IWinInetHttpInfo_FWD_DEFINED__
183typedef interface IWinInetHttpInfo IWinInetHttpInfo;
184#ifdef __cplusplus
185interface IWinInetHttpInfo;
186#endif /* __cplusplus */
187#endif
188
189#ifndef __IWinInetHttpTimeouts_FWD_DEFINED__
190#define __IWinInetHttpTimeouts_FWD_DEFINED__
191typedef interface IWinInetHttpTimeouts IWinInetHttpTimeouts;
192#ifdef __cplusplus
193interface IWinInetHttpTimeouts;
194#endif /* __cplusplus */
195#endif
196
197#ifndef __IWinInetCacheHints_FWD_DEFINED__
198#define __IWinInetCacheHints_FWD_DEFINED__
199typedef interface IWinInetCacheHints IWinInetCacheHints;
200#ifdef __cplusplus
201interface IWinInetCacheHints;
202#endif /* __cplusplus */
203#endif
204
205#ifndef __IWinInetCacheHints2_FWD_DEFINED__
206#define __IWinInetCacheHints2_FWD_DEFINED__
207typedef interface IWinInetCacheHints2 IWinInetCacheHints2;
208#ifdef __cplusplus
209interface IWinInetCacheHints2;
210#endif /* __cplusplus */
211#endif
212
213#ifndef __IBindHost_FWD_DEFINED__
214#define __IBindHost_FWD_DEFINED__
215typedef interface IBindHost IBindHost;
216#ifdef __cplusplus
217interface IBindHost;
218#endif /* __cplusplus */
219#endif
220
221#ifndef __IInternet_FWD_DEFINED__
222#define __IInternet_FWD_DEFINED__
223typedef interface IInternet IInternet;
224#ifdef __cplusplus
225interface IInternet;
226#endif /* __cplusplus */
227#endif
228
229#ifndef __IInternetBindInfo_FWD_DEFINED__
230#define __IInternetBindInfo_FWD_DEFINED__
231typedef interface IInternetBindInfo IInternetBindInfo;
232#ifdef __cplusplus
233interface IInternetBindInfo;
234#endif /* __cplusplus */
235#endif
236
237#ifndef __IInternetBindInfoEx_FWD_DEFINED__
238#define __IInternetBindInfoEx_FWD_DEFINED__
239typedef interface IInternetBindInfoEx IInternetBindInfoEx;
240#ifdef __cplusplus
241interface IInternetBindInfoEx;
242#endif /* __cplusplus */
243#endif
244
245#ifndef __IInternetProtocolRoot_FWD_DEFINED__
246#define __IInternetProtocolRoot_FWD_DEFINED__
247typedef interface IInternetProtocolRoot IInternetProtocolRoot;
248#ifdef __cplusplus
249interface IInternetProtocolRoot;
250#endif /* __cplusplus */
251#endif
252
253#ifndef __IInternetProtocol_FWD_DEFINED__
254#define __IInternetProtocol_FWD_DEFINED__
255typedef interface IInternetProtocol IInternetProtocol;
256#ifdef __cplusplus
257interface IInternetProtocol;
258#endif /* __cplusplus */
259#endif
260
261#ifndef __IInternetProtocolEx_FWD_DEFINED__
262#define __IInternetProtocolEx_FWD_DEFINED__
263typedef interface IInternetProtocolEx IInternetProtocolEx;
264#ifdef __cplusplus
265interface IInternetProtocolEx;
266#endif /* __cplusplus */
267#endif
268
269#ifndef __IInternetProtocolSink_FWD_DEFINED__
270#define __IInternetProtocolSink_FWD_DEFINED__
271typedef interface IInternetProtocolSink IInternetProtocolSink;
272#ifdef __cplusplus
273interface IInternetProtocolSink;
274#endif /* __cplusplus */
275#endif
276
277#ifndef __IInternetProtocolSinkStackable_FWD_DEFINED__
278#define __IInternetProtocolSinkStackable_FWD_DEFINED__
279typedef interface IInternetProtocolSinkStackable IInternetProtocolSinkStackable;
280#ifdef __cplusplus
281interface IInternetProtocolSinkStackable;
282#endif /* __cplusplus */
283#endif
284
285#ifndef __IInternetSession_FWD_DEFINED__
286#define __IInternetSession_FWD_DEFINED__
287typedef interface IInternetSession IInternetSession;
288#ifdef __cplusplus
289interface IInternetSession;
290#endif /* __cplusplus */
291#endif
292
293#ifndef __IInternetThreadSwitch_FWD_DEFINED__
294#define __IInternetThreadSwitch_FWD_DEFINED__
295typedef interface IInternetThreadSwitch IInternetThreadSwitch;
296#ifdef __cplusplus
297interface IInternetThreadSwitch;
298#endif /* __cplusplus */
299#endif
300
301#ifndef __IInternetPriority_FWD_DEFINED__
302#define __IInternetPriority_FWD_DEFINED__
303typedef interface IInternetPriority IInternetPriority;
304#ifdef __cplusplus
305interface IInternetPriority;
306#endif /* __cplusplus */
307#endif
308
309#ifndef __IInternetProtocolInfo_FWD_DEFINED__
310#define __IInternetProtocolInfo_FWD_DEFINED__
311typedef interface IInternetProtocolInfo IInternetProtocolInfo;
312#ifdef __cplusplus
313interface IInternetProtocolInfo;
314#endif /* __cplusplus */
315#endif
316
317#ifndef __IInternetSecurityMgrSite_FWD_DEFINED__
318#define __IInternetSecurityMgrSite_FWD_DEFINED__
319typedef interface IInternetSecurityMgrSite IInternetSecurityMgrSite;
320#ifdef __cplusplus
321interface IInternetSecurityMgrSite;
322#endif /* __cplusplus */
323#endif
324
325#ifndef __IInternetSecurityManager_FWD_DEFINED__
326#define __IInternetSecurityManager_FWD_DEFINED__
327typedef interface IInternetSecurityManager IInternetSecurityManager;
328#ifdef __cplusplus
329interface IInternetSecurityManager;
330#endif /* __cplusplus */
331#endif
332
333#ifndef __IInternetSecurityManagerEx_FWD_DEFINED__
334#define __IInternetSecurityManagerEx_FWD_DEFINED__
335typedef interface IInternetSecurityManagerEx IInternetSecurityManagerEx;
336#ifdef __cplusplus
337interface IInternetSecurityManagerEx;
338#endif /* __cplusplus */
339#endif
340
341#ifndef __IInternetSecurityManagerEx2_FWD_DEFINED__
342#define __IInternetSecurityManagerEx2_FWD_DEFINED__
343typedef interface IInternetSecurityManagerEx2 IInternetSecurityManagerEx2;
344#ifdef __cplusplus
345interface IInternetSecurityManagerEx2;
346#endif /* __cplusplus */
347#endif
348
349#ifndef __IZoneIdentifier_FWD_DEFINED__
350#define __IZoneIdentifier_FWD_DEFINED__
351typedef interface IZoneIdentifier IZoneIdentifier;
352#ifdef __cplusplus
353interface IZoneIdentifier;
354#endif /* __cplusplus */
355#endif
356
357#ifndef __IInternetHostSecurityManager_FWD_DEFINED__
358#define __IInternetHostSecurityManager_FWD_DEFINED__
359typedef interface IInternetHostSecurityManager IInternetHostSecurityManager;
360#ifdef __cplusplus
361interface IInternetHostSecurityManager;
362#endif /* __cplusplus */
363#endif
364
365#ifndef __IInternetZoneManager_FWD_DEFINED__
366#define __IInternetZoneManager_FWD_DEFINED__
367typedef interface IInternetZoneManager IInternetZoneManager;
368#ifdef __cplusplus
369interface IInternetZoneManager;
370#endif /* __cplusplus */
371#endif
372
373#ifndef __IInternetZoneManagerEx_FWD_DEFINED__
374#define __IInternetZoneManagerEx_FWD_DEFINED__
375typedef interface IInternetZoneManagerEx IInternetZoneManagerEx;
376#ifdef __cplusplus
377interface IInternetZoneManagerEx;
378#endif /* __cplusplus */
379#endif
380
381#ifndef __IInternetZoneManagerEx2_FWD_DEFINED__
382#define __IInternetZoneManagerEx2_FWD_DEFINED__
383typedef interface IInternetZoneManagerEx2 IInternetZoneManagerEx2;
384#ifdef __cplusplus
385interface IInternetZoneManagerEx2;
386#endif /* __cplusplus */
387#endif
388
389#ifndef __ISoftDistExt_FWD_DEFINED__
390#define __ISoftDistExt_FWD_DEFINED__
391typedef interface ISoftDistExt ISoftDistExt;
392#ifdef __cplusplus
393interface ISoftDistExt;
394#endif /* __cplusplus */
395#endif
396
397#ifndef __ICatalogFileInfo_FWD_DEFINED__
398#define __ICatalogFileInfo_FWD_DEFINED__
399typedef interface ICatalogFileInfo ICatalogFileInfo;
400#ifdef __cplusplus
401interface ICatalogFileInfo;
402#endif /* __cplusplus */
403#endif
404
405#ifndef __IDataFilter_FWD_DEFINED__
406#define __IDataFilter_FWD_DEFINED__
407typedef interface IDataFilter IDataFilter;
408#ifdef __cplusplus
409interface IDataFilter;
410#endif /* __cplusplus */
411#endif
412
413#ifndef __IEncodingFilterFactory_FWD_DEFINED__
414#define __IEncodingFilterFactory_FWD_DEFINED__
415typedef interface IEncodingFilterFactory IEncodingFilterFactory;
416#ifdef __cplusplus
417interface IEncodingFilterFactory;
418#endif /* __cplusplus */
419#endif
420
421#ifndef __IWrappedProtocol_FWD_DEFINED__
422#define __IWrappedProtocol_FWD_DEFINED__
423typedef interface IWrappedProtocol IWrappedProtocol;
424#ifdef __cplusplus
425interface IWrappedProtocol;
426#endif /* __cplusplus */
427#endif
428
429#ifndef __IGetBindHandle_FWD_DEFINED__
430#define __IGetBindHandle_FWD_DEFINED__
431typedef interface IGetBindHandle IGetBindHandle;
432#ifdef __cplusplus
433interface IGetBindHandle;
434#endif /* __cplusplus */
435#endif
436
437#ifndef __IBindCallbackRedirect_FWD_DEFINED__
438#define __IBindCallbackRedirect_FWD_DEFINED__
439typedef interface IBindCallbackRedirect IBindCallbackRedirect;
440#ifdef __cplusplus
441interface IBindCallbackRedirect;
442#endif /* __cplusplus */
443#endif
444
445/* Headers for imported files */
446
447#include <objidl.h>
448#include <oleidl.h>
449#include <servprov.h>
450#include <msxml.h>
451
452#ifdef __cplusplus
453extern "C" {
454#endif
455
456/**
457 * This file is part of the mingw-w64 runtime package.
458 * No warranty is given; refer to the file DISCLAIMER within this package.
459 */
460
461#include <winapifamily.h>
462
463#if WINAPI_FAMILY_PARTITION(WINAPI_PARTITION_DESKTOP)
464
465
466#ifndef __IPersistMoniker_FWD_DEFINED__
467#define __IPersistMoniker_FWD_DEFINED__
468typedef interface IPersistMoniker IPersistMoniker;
469#ifdef __cplusplus
470interface IPersistMoniker;
471#endif /* __cplusplus */
472#endif
473
474#ifndef __IBindProtocol_FWD_DEFINED__
475#define __IBindProtocol_FWD_DEFINED__
476typedef interface IBindProtocol IBindProtocol;
477#ifdef __cplusplus
478interface IBindProtocol;
479#endif /* __cplusplus */
480#endif
481
482#ifndef __IBinding_FWD_DEFINED__
483#define __IBinding_FWD_DEFINED__
484typedef interface IBinding IBinding;
485#ifdef __cplusplus
486interface IBinding;
487#endif /* __cplusplus */
488#endif
489
490#ifndef __IBindStatusCallback_FWD_DEFINED__
491#define __IBindStatusCallback_FWD_DEFINED__
492typedef interface IBindStatusCallback IBindStatusCallback;
493#ifdef __cplusplus
494interface IBindStatusCallback;
495#endif /* __cplusplus */
496#endif
497
498#ifndef __IBindStatusCallbackEx_FWD_DEFINED__
499#define __IBindStatusCallbackEx_FWD_DEFINED__
500typedef interface IBindStatusCallbackEx IBindStatusCallbackEx;
501#ifdef __cplusplus
502interface IBindStatusCallbackEx;
503#endif /* __cplusplus */
504#endif
505
506#ifndef __IBindStatusCallbackMsg_FWD_DEFINED__
507#define __IBindStatusCallbackMsg_FWD_DEFINED__
508typedef interface IBindStatusCallbackMsg IBindStatusCallbackMsg;
509#ifdef __cplusplus
510interface IBindStatusCallbackMsg;
511#endif /* __cplusplus */
512#endif
513
514#ifndef __IAuthenticate_FWD_DEFINED__
515#define __IAuthenticate_FWD_DEFINED__
516typedef interface IAuthenticate IAuthenticate;
517#ifdef __cplusplus
518interface IAuthenticate;
519#endif /* __cplusplus */
520#endif
521
522#ifndef __IAuthenticateEx_FWD_DEFINED__
523#define __IAuthenticateEx_FWD_DEFINED__
524typedef interface IAuthenticateEx IAuthenticateEx;
525#ifdef __cplusplus
526interface IAuthenticateEx;
527#endif /* __cplusplus */
528#endif
529
530#ifndef __IWindowForBindingUI_FWD_DEFINED__
531#define __IWindowForBindingUI_FWD_DEFINED__
532typedef interface IWindowForBindingUI IWindowForBindingUI;
533#ifdef __cplusplus
534interface IWindowForBindingUI;
535#endif /* __cplusplus */
536#endif
537
538#ifndef __ICodeInstall_FWD_DEFINED__
539#define __ICodeInstall_FWD_DEFINED__
540typedef interface ICodeInstall ICodeInstall;
541#ifdef __cplusplus
542interface ICodeInstall;
543#endif /* __cplusplus */
544#endif
545
546#ifndef __IHttpNegotiate_FWD_DEFINED__
547#define __IHttpNegotiate_FWD_DEFINED__
548typedef interface IHttpNegotiate IHttpNegotiate;
549#ifdef __cplusplus
550interface IHttpNegotiate;
551#endif /* __cplusplus */
552#endif
553
554#ifndef __IHttpNegotiate2_FWD_DEFINED__
555#define __IHttpNegotiate2_FWD_DEFINED__
556typedef interface IHttpNegotiate2 IHttpNegotiate2;
557#ifdef __cplusplus
558interface IHttpNegotiate2;
559#endif /* __cplusplus */
560#endif
561
562#ifndef __IHttpNegotiate3_FWD_DEFINED__
563#define __IHttpNegotiate3_FWD_DEFINED__
564typedef interface IHttpNegotiate3 IHttpNegotiate3;
565#ifdef __cplusplus
566interface IHttpNegotiate3;
567#endif /* __cplusplus */
568#endif
569
570#ifndef __IWinInetFileStream_FWD_DEFINED__
571#define __IWinInetFileStream_FWD_DEFINED__
572typedef interface IWinInetFileStream IWinInetFileStream;
573#ifdef __cplusplus
574interface IWinInetFileStream;
575#endif /* __cplusplus */
576#endif
577
578#ifndef __IXMLElement_FWD_DEFINED__
579#define __IXMLElement_FWD_DEFINED__
580typedef interface IXMLElement IXMLElement;
581#ifdef __cplusplus
582interface IXMLElement;
583#endif /* __cplusplus */
584#endif
585
586
587EXTERN_C const IID CLSID_SBS_StdURLMoniker;
588EXTERN_C const IID CLSID_SBS_HttpProtocol;
589EXTERN_C const IID CLSID_SBS_FtpProtocol;
590EXTERN_C const IID CLSID_SBS_GopherProtocol;
591EXTERN_C const IID CLSID_SBS_HttpSProtocol;
592EXTERN_C const IID CLSID_SBS_FileProtocol;
593EXTERN_C const IID CLSID_SBS_MkProtocol;
594EXTERN_C const IID CLSID_SBS_UrlMkBindCtx;
595EXTERN_C const IID CLSID_SBS_SoftDistExt;
596EXTERN_C const IID CLSID_SBS_CdlProtocol;
597EXTERN_C const IID CLSID_SBS_ClassInstallFilter;
598EXTERN_C const IID CLSID_SBS_InternetSecurityManager;
599EXTERN_C const IID CLSID_SBS_InternetZoneManager;
600
601#define BINDF_DONTUSECACHE BINDF_GETNEWESTVERSION
602#define BINDF_DONTPUTINCACHE BINDF_NOWRITECACHE
603#define BINDF_NOCOPYDATA BINDF_PULLDATA
604#define INVALID_P_ROOT_SECURITY_ID ((BYTE*)-1)
605
606#define PI_DOCFILECLSIDLOOKUP PI_CLSIDLOOKUP
607
608EXTERN_C const IID IID_IAsyncMoniker;
609EXTERN_C const IID CLSID_StdURLMoniker;
610EXTERN_C const IID CLSID_HttpProtocol;
611EXTERN_C const IID CLSID_FtpProtocol;
612EXTERN_C const IID CLSID_GopherProtocol;
613EXTERN_C const IID CLSID_HttpSProtocol;
614EXTERN_C const IID CLSID_FileProtocol;
615EXTERN_C const IID CLSID_MkProtocol;
616EXTERN_C const IID CLSID_StdURLProtocol;
617EXTERN_C const IID CLSID_UrlMkBindCtx;
618EXTERN_C const IID CLSID_CdlProtocol;
619EXTERN_C const IID CLSID_ClassInstallFilter;
620EXTERN_C const IID IID_IAsyncBindCtx;
621
622#define SZ_URLCONTEXT OLESTR("URL Context")
623#define SZ_ASYNC_CALLEE OLESTR("AsyncCallee")
624
625#define MKSYS_URLMONIKER 6
626#define URL_MK_LEGACY 0
627#define URL_MK_UNIFORM 1
628#define URL_MK_NO_CANONICALIZE 2
629
630STDAPI CreateURLMoniker(LPMONIKER pMkCtx, LPCWSTR szURL, LPMONIKER *ppmk);
631STDAPI CreateURLMonikerEx(LPMONIKER pMkCtx, LPCWSTR szURL, LPMONIKER *ppmk, DWORD dwFlags);
632STDAPI GetClassURL(LPCWSTR szURL, CLSID *pClsID);
633STDAPI CreateAsyncBindCtx(DWORD reserved, IBindStatusCallback *pBSCb, IEnumFORMATETC *pEFetc, IBindCtx **ppBC);
634#if (_WIN32_IE >= _WIN32_IE_IE70)
635STDAPI CreateURLMonikerEx2(LPMONIKER pMkCtx, IUri *pUri, LPMONIKER *ppmk, DWORD dwFlags);
636#endif
637STDAPI CreateAsyncBindCtxEx(IBindCtx *pbc, DWORD dwOptions, IBindStatusCallback *pBSCb, IEnumFORMATETC *pEnum, IBindCtx **ppBC, DWORD reserved);
638STDAPI MkParseDisplayNameEx(IBindCtx *pbc, LPCWSTR szDisplayName, ULONG *pchEaten, LPMONIKER *ppmk);
639STDAPI RegisterBindStatusCallback(LPBC pBC, IBindStatusCallback *pBSCb, IBindStatusCallback **ppBSCBPrev, DWORD dwReserved);
640STDAPI RevokeBindStatusCallback(LPBC pBC, IBindStatusCallback *pBSCb);
641STDAPI GetClassFileOrMime(LPBC pBC, LPCWSTR szFilename, LPVOID pBuffer, DWORD cbSize, LPCWSTR szMime, DWORD dwReserved, CLSID *pclsid);
642STDAPI IsValidURL(LPBC pBC, LPCWSTR szURL, DWORD dwReserved);
643STDAPI CoGetClassObjectFromURL(REFCLSID rCLASSID, LPCWSTR szCODE, DWORD dwFileVersionMS, DWORD dwFileVersionLS, LPCWSTR szTYPE, LPBINDCTX pBindCtx, DWORD dwClsContext, LPVOID pvReserved, REFIID riid, LPVOID *ppv);
644STDAPI IEInstallScope(LPDWORD pdwScope);
645STDAPI FaultInIEFeature(HWND hWnd, uCLSSPEC *pClassSpec, QUERYCONTEXT *pQuery, DWORD dwFlags);
646STDAPI GetComponentIDFromCLSSPEC(uCLSSPEC *pClassspec, LPSTR *ppszComponentID);
647
648#define FIEF_FLAG_FORCE_JITUI 0x1
649#define FIEF_FLAG_PEEK 0x2
650#define FIEF_FLAG_SKIP_INSTALLED_VERSION_CHECK 0x4
651
652STDAPI IsAsyncMoniker(IMoniker *pmk);
653STDAPI CreateURLBinding(LPCWSTR lpszUrl, IBindCtx *pbc, IBinding **ppBdg);
654STDAPI RegisterMediaTypes(UINT ctypes, const LPCSTR *rgszTypes, CLIPFORMAT *rgcfTypes);
655STDAPI FindMediaType(LPCSTR rgszTypes, CLIPFORMAT *rgcfTypes);
656STDAPI CreateFormatEnumerator(UINT cfmtetc, FORMATETC *rgfmtetc, IEnumFORMATETC **ppenumfmtetc);
657STDAPI RegisterFormatEnumerator(LPBC pBC, IEnumFORMATETC *pEFetc, DWORD reserved);
658STDAPI RevokeFormatEnumerator(LPBC pBC, IEnumFORMATETC *pEFetc);
659STDAPI RegisterMediaTypeClass(LPBC pBC,UINT ctypes, const LPCSTR *rgszTypes, CLSID *rgclsID, DWORD reserved);
660STDAPI FindMediaTypeClass(LPBC pBC, LPCSTR szType, CLSID *pclsID, DWORD reserved);
661STDAPI UrlMkSetSessionOption(DWORD dwOption, LPVOID pBuffer, DWORD dwBufferLength, DWORD dwReserved);
662STDAPI UrlMkGetSessionOption(DWORD dwOption, LPVOID pBuffer, DWORD dwBufferLength, DWORD *pdwBufferLengthOut, DWORD dwReserved);
663STDAPI FindMimeFromData(LPBC pBC, LPCWSTR pwzUrl, LPVOID pBuffer, DWORD cbSize, LPCWSTR pwzMimeProposed, DWORD dwMimeFlags, LPWSTR *ppwzMimeOut, DWORD dwReserved);
664
665#define FMFD_DEFAULT 0x0
666#define FMFD_URLASFILENAME 0x1
667#if (_WIN32_IE >= _WIN32_IE_IE60SP2)
668#define FMFD_ENABLEMIMESNIFFING 0x2
669#define FMFD_IGNOREMIMETEXTPLAIN 0x4
670#endif
671
672#define FMFD_SERVERMIME 0x8
673#define FMFD_RESPECTTEXTPLAIN 0x10
674#define FMFD_RETURNUPDATEDIMGMIMES 0x20
675#define UAS_EXACTLEGACY 0x1000
676
677STDAPI ObtainUserAgentString(DWORD dwOption, LPSTR pszUAOut, DWORD *cbSize);
678STDAPI CompareSecurityIds(BYTE *pbSecurityId1, DWORD dwLen1, BYTE *pbSecurityId2, DWORD dwLen2, DWORD dwReserved);
679STDAPI CompatFlagsFromClsid(CLSID *pclsid, LPDWORD pdwCompatFlags, LPDWORD pdwMiscStatusFlags);
680
681#define URLMON_OPTION_USERAGENT 0x10000001
682#define URLMON_OPTION_USERAGENT_REFRESH 0x10000002
683#define URLMON_OPTION_URL_ENCODING 0x10000004
684#if (_WIN32_IE >= _WIN32_IE_IE60SP2)
685#define URLMON_OPTION_USE_BINDSTRINGCREDS 0x10000008
686#endif
687#if (_WIN32_IE >= _WIN32_IE_IE70)
688#define URLMON_OPTION_USE_BROWSERAPPSDOCUMENTS 0x10000010
689#endif
690#endif
691
692#if WINAPI_FAMILY_PARTITION(WINAPI_PARTITION_APP)
693#define CF_NULL 0
694#define CFSTR_MIME_NULL NULL
695
696#define CFSTR_MIME_TEXT (TEXT("text/plain"))
697#define CFSTR_MIME_RICHTEXT (TEXT("text/richtext"))
698#define CFSTR_MIME_MANIFEST (TEXT("text/cache-manifest"))
699#define CFSTR_MIME_WEBVTT (TEXT("text/vtt"))
700#define CFSTR_MIME_X_BITMAP (TEXT("image/x-xbitmap"))
701#define CFSTR_MIME_POSTSCRIPT (TEXT("application/postscript"))
702#define CFSTR_MIME_AIFF (TEXT("audio/aiff"))
703#define CFSTR_MIME_BASICAUDIO (TEXT("audio/basic"))
704#define CFSTR_MIME_WAV (TEXT("audio/wav"))
705#define CFSTR_MIME_X_WAV (TEXT("audio/x-wav"))
706#define CFSTR_MIME_GIF (TEXT("image/gif"))
707#define CFSTR_MIME_PJPEG (TEXT("image/pjpeg"))
708#define CFSTR_MIME_JPEG (TEXT("image/jpeg"))
709#define CFSTR_MIME_TIFF (TEXT("image/tiff"))
710#define CFSTR_MIME_JPEG_XR (TEXT("image/vnd.ms-photo"))
711#define CFSTR_MIME_PNG (TEXT("image/png"))
712#define CFSTR_MIME_X_PNG (TEXT("image/x-png"))
713#define CFSTR_MIME_X_ICON (TEXT("image/x-icon"))
714#define CFSTR_MIME_SVG_XML (TEXT("image/svg+xml"))
715#define CFSTR_MIME_BMP (TEXT("image/bmp"))
716#define CFSTR_MIME_X_EMF (TEXT("image/x-emf"))
717#define CFSTR_MIME_X_WMF (TEXT("image/x-wmf"))
718#define CFSTR_MIME_AVI (TEXT("video/avi"))
719#define CFSTR_MIME_MPEG (TEXT("video/mpeg"))
720#define CFSTR_MIME_FRACTALS (TEXT("application/fractals"))
721#define CFSTR_MIME_RAWDATA (TEXT("application/octet-stream"))
722#define CFSTR_MIME_RAWDATASTRM (TEXT("application/octet-stream"))
723#define CFSTR_MIME_PDF (TEXT("application/pdf"))
724#define CFSTR_MIME_HTA (TEXT("application/hta"))
725#define CFSTR_MIME_APP_XML (TEXT("application/xml"))
726#define CFSTR_MIME_XHTML (TEXT("application/xhtml+xml"))
727#define CFSTR_MIME_X_AIFF (TEXT("audio/x-aiff"))
728#define CFSTR_MIME_X_REALAUDIO (TEXT("audio/x-pn-realaudio"))
729#define CFSTR_MIME_XBM (TEXT("image/xbm"))
730#define CFSTR_MIME_QUICKTIME (TEXT("video/quicktime"))
731#define CFSTR_MIME_X_MSVIDEO (TEXT("video/x-msvideo"))
732#define CFSTR_MIME_X_SGI_MOVIE (TEXT("video/x-sgi-movie"))
733#define CFSTR_MIME_HTML (TEXT("text/html"))
734#define CFSTR_MIME_XML (TEXT("text/xml"))
735#define CFSTR_MIME_TTML (TEXT("application/ttml+xml"))
736#define CFSTR_MIME_TTAF (TEXT("application/ttaf+xml"))
737
738#define MK_S_ASYNCHRONOUS _HRESULT_TYPEDEF_(0x401E8L)
739#ifndef S_ASYNCHRONOUS
740#define S_ASYNCHRONOUS MK_S_ASYNCHRONOUS
741#endif
742
743#ifndef E_PENDING
744#define E_PENDING _HRESULT_TYPEDEF_(__MSABI_LONG(0x8000000a))
745#endif
746#define INET_E_INVALID_URL _HRESULT_TYPEDEF_(__MSABI_LONG(0x800C0002))
747#define INET_E_NO_SESSION _HRESULT_TYPEDEF_(__MSABI_LONG(0x800C0003))
748#define INET_E_CANNOT_CONNECT _HRESULT_TYPEDEF_(__MSABI_LONG(0x800C0004))
749#define INET_E_RESOURCE_NOT_FOUND _HRESULT_TYPEDEF_(__MSABI_LONG(0x800C0005))
750#define INET_E_OBJECT_NOT_FOUND _HRESULT_TYPEDEF_(__MSABI_LONG(0x800C0006))
751#define INET_E_DATA_NOT_AVAILABLE _HRESULT_TYPEDEF_(__MSABI_LONG(0x800C0007))
752#define INET_E_DOWNLOAD_FAILURE _HRESULT_TYPEDEF_(__MSABI_LONG(0x800C0008))
753#define INET_E_AUTHENTICATION_REQUIRED _HRESULT_TYPEDEF_(__MSABI_LONG(0x800C0009))
754#define INET_E_NO_VALID_MEDIA _HRESULT_TYPEDEF_(__MSABI_LONG(0x800C000A))
755#define INET_E_CONNECTION_TIMEOUT _HRESULT_TYPEDEF_(__MSABI_LONG(0x800C000B))
756#define INET_E_INVALID_REQUEST _HRESULT_TYPEDEF_(__MSABI_LONG(0x800C000C))
757#define INET_E_UNKNOWN_PROTOCOL _HRESULT_TYPEDEF_(__MSABI_LONG(0x800C000D))
758#define INET_E_SECURITY_PROBLEM _HRESULT_TYPEDEF_(__MSABI_LONG(0x800C000E))
759#define INET_E_CANNOT_LOAD_DATA _HRESULT_TYPEDEF_(__MSABI_LONG(0x800C000F))
760#define INET_E_CANNOT_INSTANTIATE_OBJECT _HRESULT_TYPEDEF_(__MSABI_LONG(0x800C0010))
761#define INET_E_INVALID_CERTIFICATE _HRESULT_TYPEDEF_(__MSABI_LONG(0x800C0019))
762#define INET_E_REDIRECT_FAILED _HRESULT_TYPEDEF_(__MSABI_LONG(0x800C0014))
763#define INET_E_REDIRECT_TO_DIR _HRESULT_TYPEDEF_(__MSABI_LONG(0x800C0015))
764#define INET_E_CANNOT_LOCK_REQUEST _HRESULT_TYPEDEF_(__MSABI_LONG(0x800C0016))
765#define INET_E_USE_EXTEND_BINDING _HRESULT_TYPEDEF_(__MSABI_LONG(0x800C0017))
766#define INET_E_TERMINATED_BIND _HRESULT_TYPEDEF_(__MSABI_LONG(0x800C0018))
767#define INET_E_RESERVED_1 _HRESULT_TYPEDEF_(__MSABI_LONG(0x800C001A))
768#define INET_E_BLOCKED_REDIRECT_XSECURITYID _HRESULT_TYPEDEF_(__MSABI_LONG(0x800C001B))
769#define INET_E_DOMINJECTIONVALIDATION _HRESULT_TYPEDEF_(__MSABI_LONG(0x800C001C))
770#define INET_E_ERROR_FIRST _HRESULT_TYPEDEF_(__MSABI_LONG(0x800C0002))
771#define INET_E_CODE_DOWNLOAD_DECLINED _HRESULT_TYPEDEF_(__MSABI_LONG(0x800C0100))
772#define INET_E_RESULT_DISPATCHED _HRESULT_TYPEDEF_(__MSABI_LONG(0x800C0200))
773#define INET_E_CANNOT_REPLACE_SFP_FILE _HRESULT_TYPEDEF_(__MSABI_LONG(0x800C0300))
774#if (_WIN32_IE >= _WIN32_IE_IE60SP2)
775#define INET_E_CODE_INSTALL_SUPPRESSED _HRESULT_TYPEDEF_(__MSABI_LONG(0x800C0400))
776#endif
777#define INET_E_CODE_INSTALL_BLOCKED_BY_HASH_POLICY _HRESULT_TYPEDEF_(__MSABI_LONG(0x800C0500))
778#define INET_E_DOWNLOAD_BLOCKED_BY_INPRIVATE _HRESULT_TYPEDEF_(__MSABI_LONG(0x800C0501))
779#define INET_E_CODE_INSTALL_BLOCKED_IMMERSIVE _HRESULT_TYPEDEF_(__MSABI_LONG(0x800C0502))
780#define INET_E_FORBIDFRAMING _HRESULT_TYPEDEF_(__MSABI_LONG(0x800C0503))
781#define INET_E_CODE_INSTALL_BLOCKED_ARM _HRESULT_TYPEDEF_(__MSABI_LONG(0x800C0504))
782#define INET_E_BLOCKED_PLUGGABLE_PROTOCOL _HRESULT_TYPEDEF_(__MSABI_LONG(0x800C0505))
783#define INET_E_ERROR_LAST INET_E_BLOCKED_PLUGGABLE_PROTOCOL
784#endif
785
786#if WINAPI_FAMILY_PARTITION(WINAPI_PARTITION_DESKTOP)
787#ifndef _LPPERSISTMONIKER_DEFINED
788#define _LPPERSISTMONIKER_DEFINED
789/*****************************************************************************
790 * IPersistMoniker interface
791 */
792#ifndef __IPersistMoniker_INTERFACE_DEFINED__
793#define __IPersistMoniker_INTERFACE_DEFINED__
794
795typedef IPersistMoniker *LPPERSISTMONIKER;
796
797DEFINE_GUID(IID_IPersistMoniker, 0x79eac9c9, 0xbaf9, 0x11ce, 0x8c,0x82, 0x00,0xaa,0x00,0x4b,0xa9,0x0b);
798#if defined(__cplusplus) && !defined(CINTERFACE)
799MIDL_INTERFACE("79eac9c9-baf9-11ce-8c82-00aa004ba90b")
800IPersistMoniker : public IUnknown
801{
802 virtual HRESULT STDMETHODCALLTYPE GetClassID(
803 CLSID *pClassID) = 0;
804
805 virtual HRESULT STDMETHODCALLTYPE IsDirty(
806 ) = 0;
807
808 virtual HRESULT STDMETHODCALLTYPE Load(
809 WINBOOL fFullyAvailable,
810 IMoniker *pimkName,
811 LPBC pibc,
812 DWORD grfMode) = 0;
813
814 virtual HRESULT STDMETHODCALLTYPE Save(
815 IMoniker *pimkName,
816 LPBC pbc,
817 WINBOOL fRemember) = 0;
818
819 virtual HRESULT STDMETHODCALLTYPE SaveCompleted(
820 IMoniker *pimkName,
821 LPBC pibc) = 0;
822
823 virtual HRESULT STDMETHODCALLTYPE GetCurMoniker(
824 IMoniker **ppimkName) = 0;
825
826};
827#ifdef __CRT_UUID_DECL
828__CRT_UUID_DECL(IPersistMoniker, 0x79eac9c9, 0xbaf9, 0x11ce, 0x8c,0x82, 0x00,0xaa,0x00,0x4b,0xa9,0x0b)
829#endif
830#else
831typedef struct IPersistMonikerVtbl {
832 BEGIN_INTERFACE
833
834 /*** IUnknown methods ***/
835 HRESULT (STDMETHODCALLTYPE *QueryInterface)(
836 IPersistMoniker *This,
837 REFIID riid,
838 void **ppvObject);
839
840 ULONG (STDMETHODCALLTYPE *AddRef)(
841 IPersistMoniker *This);
842
843 ULONG (STDMETHODCALLTYPE *Release)(
844 IPersistMoniker *This);
845
846 /*** IPersistMoniker methods ***/
847 HRESULT (STDMETHODCALLTYPE *GetClassID)(
848 IPersistMoniker *This,
849 CLSID *pClassID);
850
851 HRESULT (STDMETHODCALLTYPE *IsDirty)(
852 IPersistMoniker *This);
853
854 HRESULT (STDMETHODCALLTYPE *Load)(
855 IPersistMoniker *This,
856 WINBOOL fFullyAvailable,
857 IMoniker *pimkName,
858 LPBC pibc,
859 DWORD grfMode);
860
861 HRESULT (STDMETHODCALLTYPE *Save)(
862 IPersistMoniker *This,
863 IMoniker *pimkName,
864 LPBC pbc,
865 WINBOOL fRemember);
866
867 HRESULT (STDMETHODCALLTYPE *SaveCompleted)(
868 IPersistMoniker *This,
869 IMoniker *pimkName,
870 LPBC pibc);
871
872 HRESULT (STDMETHODCALLTYPE *GetCurMoniker)(
873 IPersistMoniker *This,
874 IMoniker **ppimkName);
875
876 END_INTERFACE
877} IPersistMonikerVtbl;
878
879interface IPersistMoniker {
880 CONST_VTBL IPersistMonikerVtbl* lpVtbl;
881};
882
883#ifdef COBJMACROS
884#ifndef WIDL_C_INLINE_WRAPPERS
885/*** IUnknown methods ***/
886#define IPersistMoniker_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject)
887#define IPersistMoniker_AddRef(This) (This)->lpVtbl->AddRef(This)
888#define IPersistMoniker_Release(This) (This)->lpVtbl->Release(This)
889/*** IPersistMoniker methods ***/
890#define IPersistMoniker_GetClassID(This,pClassID) (This)->lpVtbl->GetClassID(This,pClassID)
891#define IPersistMoniker_IsDirty(This) (This)->lpVtbl->IsDirty(This)
892#define IPersistMoniker_Load(This,fFullyAvailable,pimkName,pibc,grfMode) (This)->lpVtbl->Load(This,fFullyAvailable,pimkName,pibc,grfMode)
893#define IPersistMoniker_Save(This,pimkName,pbc,fRemember) (This)->lpVtbl->Save(This,pimkName,pbc,fRemember)
894#define IPersistMoniker_SaveCompleted(This,pimkName,pibc) (This)->lpVtbl->SaveCompleted(This,pimkName,pibc)
895#define IPersistMoniker_GetCurMoniker(This,ppimkName) (This)->lpVtbl->GetCurMoniker(This,ppimkName)
896#else
897/*** IUnknown methods ***/
898static inline HRESULT IPersistMoniker_QueryInterface(IPersistMoniker* This,REFIID riid,void **ppvObject) {
899 return This->lpVtbl->QueryInterface(This,riid,ppvObject);
900}
901static inline ULONG IPersistMoniker_AddRef(IPersistMoniker* This) {
902 return This->lpVtbl->AddRef(This);
903}
904static inline ULONG IPersistMoniker_Release(IPersistMoniker* This) {
905 return This->lpVtbl->Release(This);
906}
907/*** IPersistMoniker methods ***/
908static inline HRESULT IPersistMoniker_GetClassID(IPersistMoniker* This,CLSID *pClassID) {
909 return This->lpVtbl->GetClassID(This,pClassID);
910}
911static inline HRESULT IPersistMoniker_IsDirty(IPersistMoniker* This) {
912 return This->lpVtbl->IsDirty(This);
913}
914static inline HRESULT IPersistMoniker_Load(IPersistMoniker* This,WINBOOL fFullyAvailable,IMoniker *pimkName,LPBC pibc,DWORD grfMode) {
915 return This->lpVtbl->Load(This,fFullyAvailable,pimkName,pibc,grfMode);
916}
917static inline HRESULT IPersistMoniker_Save(IPersistMoniker* This,IMoniker *pimkName,LPBC pbc,WINBOOL fRemember) {
918 return This->lpVtbl->Save(This,pimkName,pbc,fRemember);
919}
920static inline HRESULT IPersistMoniker_SaveCompleted(IPersistMoniker* This,IMoniker *pimkName,LPBC pibc) {
921 return This->lpVtbl->SaveCompleted(This,pimkName,pibc);
922}
923static inline HRESULT IPersistMoniker_GetCurMoniker(IPersistMoniker* This,IMoniker **ppimkName) {
924 return This->lpVtbl->GetCurMoniker(This,ppimkName);
925}
926#endif
927#endif
928
929#endif
930
931
932#endif /* __IPersistMoniker_INTERFACE_DEFINED__ */
933
934#endif
935
936#ifndef _LPMONIKERPROP_DEFINED
937#define _LPMONIKERPROP_DEFINED
938/*****************************************************************************
939 * IMonikerProp interface
940 */
941#ifndef __IMonikerProp_INTERFACE_DEFINED__
942#define __IMonikerProp_INTERFACE_DEFINED__
943
944typedef IMonikerProp *LPMONIKERPROP;
945
946typedef enum __WIDL_urlmon_generated_name_0000000F {
947 MIMETYPEPROP = 0x0,
948 USE_SRC_URL = 0x1,
949 CLASSIDPROP = 0x2,
950 TRUSTEDDOWNLOADPROP = 0x3,
951 POPUPLEVELPROP = 0x4
952} MONIKERPROPERTY;
953
954DEFINE_GUID(IID_IMonikerProp, 0xa5ca5f7f, 0x1847, 0x4d87, 0x9c,0x5b, 0x91,0x85,0x09,0xf7,0x51,0x1d);
955#if defined(__cplusplus) && !defined(CINTERFACE)
956MIDL_INTERFACE("a5ca5f7f-1847-4d87-9c5b-918509f7511d")
957IMonikerProp : public IUnknown
958{
959 virtual HRESULT STDMETHODCALLTYPE PutProperty(
960 MONIKERPROPERTY mkp,
961 LPCWSTR val) = 0;
962
963};
964#ifdef __CRT_UUID_DECL
965__CRT_UUID_DECL(IMonikerProp, 0xa5ca5f7f, 0x1847, 0x4d87, 0x9c,0x5b, 0x91,0x85,0x09,0xf7,0x51,0x1d)
966#endif
967#else
968typedef struct IMonikerPropVtbl {
969 BEGIN_INTERFACE
970
971 /*** IUnknown methods ***/
972 HRESULT (STDMETHODCALLTYPE *QueryInterface)(
973 IMonikerProp *This,
974 REFIID riid,
975 void **ppvObject);
976
977 ULONG (STDMETHODCALLTYPE *AddRef)(
978 IMonikerProp *This);
979
980 ULONG (STDMETHODCALLTYPE *Release)(
981 IMonikerProp *This);
982
983 /*** IMonikerProp methods ***/
984 HRESULT (STDMETHODCALLTYPE *PutProperty)(
985 IMonikerProp *This,
986 MONIKERPROPERTY mkp,
987 LPCWSTR val);
988
989 END_INTERFACE
990} IMonikerPropVtbl;
991
992interface IMonikerProp {
993 CONST_VTBL IMonikerPropVtbl* lpVtbl;
994};
995
996#ifdef COBJMACROS
997#ifndef WIDL_C_INLINE_WRAPPERS
998/*** IUnknown methods ***/
999#define IMonikerProp_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject)
1000#define IMonikerProp_AddRef(This) (This)->lpVtbl->AddRef(This)
1001#define IMonikerProp_Release(This) (This)->lpVtbl->Release(This)
1002/*** IMonikerProp methods ***/
1003#define IMonikerProp_PutProperty(This,mkp,val) (This)->lpVtbl->PutProperty(This,mkp,val)
1004#else
1005/*** IUnknown methods ***/
1006static inline HRESULT IMonikerProp_QueryInterface(IMonikerProp* This,REFIID riid,void **ppvObject) {
1007 return This->lpVtbl->QueryInterface(This,riid,ppvObject);
1008}
1009static inline ULONG IMonikerProp_AddRef(IMonikerProp* This) {
1010 return This->lpVtbl->AddRef(This);
1011}
1012static inline ULONG IMonikerProp_Release(IMonikerProp* This) {
1013 return This->lpVtbl->Release(This);
1014}
1015/*** IMonikerProp methods ***/
1016static inline HRESULT IMonikerProp_PutProperty(IMonikerProp* This,MONIKERPROPERTY mkp,LPCWSTR val) {
1017 return This->lpVtbl->PutProperty(This,mkp,val);
1018}
1019#endif
1020#endif
1021
1022#endif
1023
1024
1025#endif /* __IMonikerProp_INTERFACE_DEFINED__ */
1026
1027#endif
1028
1029#ifndef _LPBINDPROTOCOL_DEFINED
1030#define _LPBINDPROTOCOL_DEFINED
1031
1032/*****************************************************************************
1033 * IBindProtocol interface
1034 */
1035#ifndef __IBindProtocol_INTERFACE_DEFINED__
1036#define __IBindProtocol_INTERFACE_DEFINED__
1037
1038typedef IBindProtocol *LPBINDPROTOCOL;
1039
1040DEFINE_GUID(IID_IBindProtocol, 0x79eac9cd, 0xbaf9, 0x11ce, 0x8c,0x82, 0x00,0xaa,0x00,0x4b,0xa9,0x0b);
1041#if defined(__cplusplus) && !defined(CINTERFACE)
1042MIDL_INTERFACE("79eac9cd-baf9-11ce-8c82-00aa004ba90b")
1043IBindProtocol : public IUnknown
1044{
1045 virtual HRESULT STDMETHODCALLTYPE CreateBinding(
1046 LPCWSTR szUrl,
1047 IBindCtx *pbc,
1048 IBinding **ppb) = 0;
1049
1050};
1051#ifdef __CRT_UUID_DECL
1052__CRT_UUID_DECL(IBindProtocol, 0x79eac9cd, 0xbaf9, 0x11ce, 0x8c,0x82, 0x00,0xaa,0x00,0x4b,0xa9,0x0b)
1053#endif
1054#else
1055typedef struct IBindProtocolVtbl {
1056 BEGIN_INTERFACE
1057
1058 /*** IUnknown methods ***/
1059 HRESULT (STDMETHODCALLTYPE *QueryInterface)(
1060 IBindProtocol *This,
1061 REFIID riid,
1062 void **ppvObject);
1063
1064 ULONG (STDMETHODCALLTYPE *AddRef)(
1065 IBindProtocol *This);
1066
1067 ULONG (STDMETHODCALLTYPE *Release)(
1068 IBindProtocol *This);
1069
1070 /*** IBindProtocol methods ***/
1071 HRESULT (STDMETHODCALLTYPE *CreateBinding)(
1072 IBindProtocol *This,
1073 LPCWSTR szUrl,
1074 IBindCtx *pbc,
1075 IBinding **ppb);
1076
1077 END_INTERFACE
1078} IBindProtocolVtbl;
1079
1080interface IBindProtocol {
1081 CONST_VTBL IBindProtocolVtbl* lpVtbl;
1082};
1083
1084#ifdef COBJMACROS
1085#ifndef WIDL_C_INLINE_WRAPPERS
1086/*** IUnknown methods ***/
1087#define IBindProtocol_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject)
1088#define IBindProtocol_AddRef(This) (This)->lpVtbl->AddRef(This)
1089#define IBindProtocol_Release(This) (This)->lpVtbl->Release(This)
1090/*** IBindProtocol methods ***/
1091#define IBindProtocol_CreateBinding(This,szUrl,pbc,ppb) (This)->lpVtbl->CreateBinding(This,szUrl,pbc,ppb)
1092#else
1093/*** IUnknown methods ***/
1094static inline HRESULT IBindProtocol_QueryInterface(IBindProtocol* This,REFIID riid,void **ppvObject) {
1095 return This->lpVtbl->QueryInterface(This,riid,ppvObject);
1096}
1097static inline ULONG IBindProtocol_AddRef(IBindProtocol* This) {
1098 return This->lpVtbl->AddRef(This);
1099}
1100static inline ULONG IBindProtocol_Release(IBindProtocol* This) {
1101 return This->lpVtbl->Release(This);
1102}
1103/*** IBindProtocol methods ***/
1104static inline HRESULT IBindProtocol_CreateBinding(IBindProtocol* This,LPCWSTR szUrl,IBindCtx *pbc,IBinding **ppb) {
1105 return This->lpVtbl->CreateBinding(This,szUrl,pbc,ppb);
1106}
1107#endif
1108#endif
1109
1110#endif
1111
1112
1113#endif /* __IBindProtocol_INTERFACE_DEFINED__ */
1114
1115#endif
1116
1117#ifndef _LPBINDING_DEFINED
1118#define _LPBINDING_DEFINED
1119
1120/*****************************************************************************
1121 * IBinding interface
1122 */
1123#ifndef __IBinding_INTERFACE_DEFINED__
1124#define __IBinding_INTERFACE_DEFINED__
1125
1126typedef IBinding *LPBINDING;
1127
1128DEFINE_GUID(IID_IBinding, 0x79eac9c0, 0xbaf9, 0x11ce, 0x8c,0x82, 0x00,0xaa,0x00,0x4b,0xa9,0x0b);
1129#if defined(__cplusplus) && !defined(CINTERFACE)
1130MIDL_INTERFACE("79eac9c0-baf9-11ce-8c82-00aa004ba90b")
1131IBinding : public IUnknown
1132{
1133 virtual HRESULT STDMETHODCALLTYPE Abort(
1134 ) = 0;
1135
1136 virtual HRESULT STDMETHODCALLTYPE Suspend(
1137 ) = 0;
1138
1139 virtual HRESULT STDMETHODCALLTYPE Resume(
1140 ) = 0;
1141
1142 virtual HRESULT STDMETHODCALLTYPE SetPriority(
1143 LONG nPriority) = 0;
1144
1145 virtual HRESULT STDMETHODCALLTYPE GetPriority(
1146 LONG *pnPriority) = 0;
1147
1148 virtual HRESULT STDMETHODCALLTYPE GetBindResult(
1149 CLSID *pclsidProtocol,
1150 DWORD *pdwResult,
1151 LPOLESTR *pszResult,
1152 DWORD *pdwReserved) = 0;
1153
1154};
1155#ifdef __CRT_UUID_DECL
1156__CRT_UUID_DECL(IBinding, 0x79eac9c0, 0xbaf9, 0x11ce, 0x8c,0x82, 0x00,0xaa,0x00,0x4b,0xa9,0x0b)
1157#endif
1158#else
1159typedef struct IBindingVtbl {
1160 BEGIN_INTERFACE
1161
1162 /*** IUnknown methods ***/
1163 HRESULT (STDMETHODCALLTYPE *QueryInterface)(
1164 IBinding *This,
1165 REFIID riid,
1166 void **ppvObject);
1167
1168 ULONG (STDMETHODCALLTYPE *AddRef)(
1169 IBinding *This);
1170
1171 ULONG (STDMETHODCALLTYPE *Release)(
1172 IBinding *This);
1173
1174 /*** IBinding methods ***/
1175 HRESULT (STDMETHODCALLTYPE *Abort)(
1176 IBinding *This);
1177
1178 HRESULT (STDMETHODCALLTYPE *Suspend)(
1179 IBinding *This);
1180
1181 HRESULT (STDMETHODCALLTYPE *Resume)(
1182 IBinding *This);
1183
1184 HRESULT (STDMETHODCALLTYPE *SetPriority)(
1185 IBinding *This,
1186 LONG nPriority);
1187
1188 HRESULT (STDMETHODCALLTYPE *GetPriority)(
1189 IBinding *This,
1190 LONG *pnPriority);
1191
1192 HRESULT (STDMETHODCALLTYPE *GetBindResult)(
1193 IBinding *This,
1194 CLSID *pclsidProtocol,
1195 DWORD *pdwResult,
1196 LPOLESTR *pszResult,
1197 DWORD *pdwReserved);
1198
1199 END_INTERFACE
1200} IBindingVtbl;
1201
1202interface IBinding {
1203 CONST_VTBL IBindingVtbl* lpVtbl;
1204};
1205
1206#ifdef COBJMACROS
1207#ifndef WIDL_C_INLINE_WRAPPERS
1208/*** IUnknown methods ***/
1209#define IBinding_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject)
1210#define IBinding_AddRef(This) (This)->lpVtbl->AddRef(This)
1211#define IBinding_Release(This) (This)->lpVtbl->Release(This)
1212/*** IBinding methods ***/
1213#define IBinding_Abort(This) (This)->lpVtbl->Abort(This)
1214#define IBinding_Suspend(This) (This)->lpVtbl->Suspend(This)
1215#define IBinding_Resume(This) (This)->lpVtbl->Resume(This)
1216#define IBinding_SetPriority(This,nPriority) (This)->lpVtbl->SetPriority(This,nPriority)
1217#define IBinding_GetPriority(This,pnPriority) (This)->lpVtbl->GetPriority(This,pnPriority)
1218#define IBinding_GetBindResult(This,pclsidProtocol,pdwResult,pszResult,pdwReserved) (This)->lpVtbl->GetBindResult(This,pclsidProtocol,pdwResult,pszResult,pdwReserved)
1219#else
1220/*** IUnknown methods ***/
1221static inline HRESULT IBinding_QueryInterface(IBinding* This,REFIID riid,void **ppvObject) {
1222 return This->lpVtbl->QueryInterface(This,riid,ppvObject);
1223}
1224static inline ULONG IBinding_AddRef(IBinding* This) {
1225 return This->lpVtbl->AddRef(This);
1226}
1227static inline ULONG IBinding_Release(IBinding* This) {
1228 return This->lpVtbl->Release(This);
1229}
1230/*** IBinding methods ***/
1231static inline HRESULT IBinding_Abort(IBinding* This) {
1232 return This->lpVtbl->Abort(This);
1233}
1234static inline HRESULT IBinding_Suspend(IBinding* This) {
1235 return This->lpVtbl->Suspend(This);
1236}
1237static inline HRESULT IBinding_Resume(IBinding* This) {
1238 return This->lpVtbl->Resume(This);
1239}
1240static inline HRESULT IBinding_SetPriority(IBinding* This,LONG nPriority) {
1241 return This->lpVtbl->SetPriority(This,nPriority);
1242}
1243static inline HRESULT IBinding_GetPriority(IBinding* This,LONG *pnPriority) {
1244 return This->lpVtbl->GetPriority(This,pnPriority);
1245}
1246static inline HRESULT IBinding_GetBindResult(IBinding* This,CLSID *pclsidProtocol,DWORD *pdwResult,LPOLESTR *pszResult,DWORD *pdwReserved) {
1247 return This->lpVtbl->GetBindResult(This,pclsidProtocol,pdwResult,pszResult,pdwReserved);
1248}
1249#endif
1250#endif
1251
1252#endif
1253
1254HRESULT STDMETHODCALLTYPE IBinding_RemoteGetBindResult_Proxy(
1255 IBinding* This,
1256 CLSID *pclsidProtocol,
1257 DWORD *pdwResult,
1258 LPOLESTR *pszResult,
1259 DWORD dwReserved);
1260void __RPC_STUB IBinding_RemoteGetBindResult_Stub(
1261 IRpcStubBuffer* This,
1262 IRpcChannelBuffer* pRpcChannelBuffer,
1263 PRPC_MESSAGE pRpcMessage,
1264 DWORD* pdwStubPhase);
1265HRESULT CALLBACK IBinding_GetBindResult_Proxy(
1266 IBinding* This,
1267 CLSID *pclsidProtocol,
1268 DWORD *pdwResult,
1269 LPOLESTR *pszResult,
1270 DWORD *pdwReserved);
1271HRESULT __RPC_STUB IBinding_GetBindResult_Stub(
1272 IBinding* This,
1273 CLSID *pclsidProtocol,
1274 DWORD *pdwResult,
1275 LPOLESTR *pszResult,
1276 DWORD dwReserved);
1277
1278#endif /* __IBinding_INTERFACE_DEFINED__ */
1279
1280#endif
1281#endif
1282
1283#if WINAPI_FAMILY_PARTITION(WINAPI_PARTITION_APP)
1284#ifndef _LPBINDSTATUSCALLBACK_DEFINED
1285#define _LPBINDSTATUSCALLBACK_DEFINED
1286
1287/*****************************************************************************
1288 * IBindStatusCallback interface
1289 */
1290#ifndef __IBindStatusCallback_INTERFACE_DEFINED__
1291#define __IBindStatusCallback_INTERFACE_DEFINED__
1292
1293typedef IBindStatusCallback *LPBINDSTATUSCALLBACK;
1294
1295typedef enum __WIDL_urlmon_generated_name_00000010 {
1296 BINDVERB_GET = 0x0,
1297 BINDVERB_POST = 0x1,
1298 BINDVERB_PUT = 0x2,
1299 BINDVERB_CUSTOM = 0x3,
1300 BINDVERB_RESERVED1 = 0x4
1301} BINDVERB;
1302
1303typedef enum __WIDL_urlmon_generated_name_00000011 {
1304 BINDINFOF_URLENCODESTGMEDDATA = 0x1,
1305 BINDINFOF_URLENCODEDEXTRAINFO = 0x2
1306} BINDINFOF;
1307
1308typedef enum __WIDL_urlmon_generated_name_00000012 {
1309 BINDF_ASYNCHRONOUS = 0x1,
1310 BINDF_ASYNCSTORAGE = 0x2,
1311 BINDF_NOPROGRESSIVERENDERING = 0x4,
1312 BINDF_OFFLINEOPERATION = 0x8,
1313 BINDF_GETNEWESTVERSION = 0x10,
1314 BINDF_NOWRITECACHE = 0x20,
1315 BINDF_NEEDFILE = 0x40,
1316 BINDF_PULLDATA = 0x80,
1317 BINDF_IGNORESECURITYPROBLEM = 0x100,
1318 BINDF_RESYNCHRONIZE = 0x200,
1319 BINDF_HYPERLINK = 0x400,
1320 BINDF_NO_UI = 0x800,
1321 BINDF_SILENTOPERATION = 0x1000,
1322 BINDF_PRAGMA_NO_CACHE = 0x2000,
1323 BINDF_GETCLASSOBJECT = 0x4000,
1324 BINDF_RESERVED_1 = 0x8000,
1325 BINDF_FREE_THREADED = 0x10000,
1326 BINDF_DIRECT_READ = 0x20000,
1327 BINDF_FORMS_SUBMIT = 0x40000,
1328 BINDF_GETFROMCACHE_IF_NET_FAIL = 0x80000,
1329 BINDF_FROMURLMON = 0x100000,
1330 BINDF_FWD_BACK = 0x200000,
1331 BINDF_PREFERDEFAULTHANDLER = 0x400000,
1332 BINDF_ENFORCERESTRICTED = 0x800000,
1333 BINDF_RESERVED_2 = 0x80000000,
1334 BINDF_RESERVED_3 = 0x1000000,
1335 BINDF_RESERVED_4 = 0x2000000,
1336 BINDF_RESERVED_5 = 0x4000000,
1337 BINDF_RESERVED_6 = 0x8000000,
1338 BINDF_RESERVED_7 = 0x40000000,
1339 BINDF_RESERVED_8 = 0x20000000
1340} BINDF;
1341
1342typedef enum __WIDL_urlmon_generated_name_00000013 {
1343 URL_ENCODING_NONE = 0x0,
1344 URL_ENCODING_ENABLE_UTF8 = 0x10000000,
1345 URL_ENCODING_DISABLE_UTF8 = 0x20000000
1346} URL_ENCODING;
1347
1348typedef struct _tagBINDINFO {
1349 ULONG cbSize;
1350 LPWSTR szExtraInfo;
1351 STGMEDIUM stgmedData;
1352 DWORD grfBindInfoF;
1353 DWORD dwBindVerb;
1354 LPWSTR szCustomVerb;
1355 DWORD cbstgmedData;
1356 DWORD dwOptions;
1357 DWORD dwOptionsFlags;
1358 DWORD dwCodePage;
1359 SECURITY_ATTRIBUTES securityAttributes;
1360 IID iid;
1361 IUnknown *pUnk;
1362 DWORD dwReserved;
1363} BINDINFO;
1364
1365typedef struct _REMSECURITY_ATTRIBUTES {
1366 DWORD nLength;
1367 DWORD lpSecurityDescriptor;
1368 WINBOOL bInheritHandle;
1369} REMSECURITY_ATTRIBUTES;
1370typedef struct _REMSECURITY_ATTRIBUTES *PREMSECURITY_ATTRIBUTES;
1371typedef struct _REMSECURITY_ATTRIBUTES *LPREMSECURITY_ATTRIBUTES;
1372
1373typedef struct _tagRemBINDINFO {
1374 ULONG cbSize;
1375 LPWSTR szExtraInfo;
1376 DWORD grfBindInfoF;
1377 DWORD dwBindVerb;
1378 LPWSTR szCustomVerb;
1379 DWORD cbstgmedData;
1380 DWORD dwOptions;
1381 DWORD dwOptionsFlags;
1382 DWORD dwCodePage;
1383 REMSECURITY_ATTRIBUTES securityAttributes;
1384 IID iid;
1385 IUnknown *pUnk;
1386 DWORD dwReserved;
1387} RemBINDINFO;
1388
1389typedef struct tagRemFORMATETC {
1390 DWORD cfFormat;
1391 DWORD ptd;
1392 DWORD dwAspect;
1393 LONG lindex;
1394 DWORD tymed;
1395} RemFORMATETC;
1396typedef struct tagRemFORMATETC *LPREMFORMATETC;
1397
1398typedef enum __WIDL_urlmon_generated_name_00000014 {
1399 BINDINFO_OPTIONS_WININETFLAG = 0x10000,
1400 BINDINFO_OPTIONS_ENABLE_UTF8 = 0x20000,
1401 BINDINFO_OPTIONS_DISABLE_UTF8 = 0x40000,
1402 BINDINFO_OPTIONS_USE_IE_ENCODING = 0x80000,
1403 BINDINFO_OPTIONS_BINDTOOBJECT = 0x100000,
1404 BINDINFO_OPTIONS_SECURITYOPTOUT = 0x200000,
1405 BINDINFO_OPTIONS_IGNOREMIMETEXTPLAIN = 0x400000,
1406 BINDINFO_OPTIONS_USEBINDSTRINGCREDS = 0x800000,
1407 BINDINFO_OPTIONS_IGNOREHTTPHTTPSREDIRECTS = 0x1000000,
1408 BINDINFO_OPTIONS_IGNORE_SSLERRORS_ONCE = 0x2000000,
1409 BINDINFO_WPC_DOWNLOADBLOCKED = 0x8000000,
1410 BINDINFO_WPC_LOGGING_ENABLED = 0x10000000,
1411 BINDINFO_OPTIONS_ALLOWCONNECTDATA = 0x20000000,
1412 BINDINFO_OPTIONS_DISABLEAUTOREDIRECTS = 0x40000000,
1413 BINDINFO_OPTIONS_SHDOCVW_NAVIGATE = (int)0x80000000
1414} BINDINFO_OPTIONS;
1415
1416typedef enum __WIDL_urlmon_generated_name_00000015 {
1417 BSCF_FIRSTDATANOTIFICATION = 0x1,
1418 BSCF_INTERMEDIATEDATANOTIFICATION = 0x2,
1419 BSCF_LASTDATANOTIFICATION = 0x4,
1420 BSCF_DATAFULLYAVAILABLE = 0x8,
1421 BSCF_AVAILABLEDATASIZEUNKNOWN = 0x10,
1422 BSCF_SKIPDRAINDATAFORFILEURLS = 0x20,
1423 BSCF_64BITLENGTHDOWNLOAD = 0x40
1424} BSCF;
1425
1426typedef enum tagBINDSTATUS {
1427 BINDSTATUS_FINDINGRESOURCE = 1,
1428 BINDSTATUS_CONNECTING = 2,
1429 BINDSTATUS_REDIRECTING = 3,
1430 BINDSTATUS_BEGINDOWNLOADDATA = 4,
1431 BINDSTATUS_DOWNLOADINGDATA = 5,
1432 BINDSTATUS_ENDDOWNLOADDATA = 6,
1433 BINDSTATUS_BEGINDOWNLOADCOMPONENTS = 7,
1434 BINDSTATUS_INSTALLINGCOMPONENTS = 8,
1435 BINDSTATUS_ENDDOWNLOADCOMPONENTS = 9,
1436 BINDSTATUS_USINGCACHEDCOPY = 10,
1437 BINDSTATUS_SENDINGREQUEST = 11,
1438 BINDSTATUS_CLASSIDAVAILABLE = 12,
1439 BINDSTATUS_MIMETYPEAVAILABLE = 13,
1440 BINDSTATUS_CACHEFILENAMEAVAILABLE = 14,
1441 BINDSTATUS_BEGINSYNCOPERATION = 15,
1442 BINDSTATUS_ENDSYNCOPERATION = 16,
1443 BINDSTATUS_BEGINUPLOADDATA = 17,
1444 BINDSTATUS_UPLOADINGDATA = 18,
1445 BINDSTATUS_ENDUPLOADDATA = 19,
1446 BINDSTATUS_PROTOCOLCLASSID = 20,
1447 BINDSTATUS_ENCODING = 21,
1448 BINDSTATUS_VERIFIEDMIMETYPEAVAILABLE = 22,
1449 BINDSTATUS_CLASSINSTALLLOCATION = 23,
1450 BINDSTATUS_DECODING = 24,
1451 BINDSTATUS_LOADINGMIMEHANDLER = 25,
1452 BINDSTATUS_CONTENTDISPOSITIONATTACH = 26,
1453 BINDSTATUS_FILTERREPORTMIMETYPE = 27,
1454 BINDSTATUS_CLSIDCANINSTANTIATE = 28,
1455 BINDSTATUS_IUNKNOWNAVAILABLE = 29,
1456 BINDSTATUS_DIRECTBIND = 30,
1457 BINDSTATUS_RAWMIMETYPE = 31,
1458 BINDSTATUS_PROXYDETECTING = 32,
1459 BINDSTATUS_ACCEPTRANGES = 33,
1460 BINDSTATUS_COOKIE_SENT = 34,
1461 BINDSTATUS_COMPACT_POLICY_RECEIVED = 35,
1462 BINDSTATUS_COOKIE_SUPPRESSED = 36,
1463 BINDSTATUS_COOKIE_STATE_UNKNOWN = 37,
1464 BINDSTATUS_COOKIE_STATE_ACCEPT = 38,
1465 BINDSTATUS_COOKIE_STATE_REJECT = 39,
1466 BINDSTATUS_COOKIE_STATE_PROMPT = 40,
1467 BINDSTATUS_COOKIE_STATE_LEASH = 41,
1468 BINDSTATUS_COOKIE_STATE_DOWNGRADE = 42,
1469 BINDSTATUS_POLICY_HREF = 43,
1470 BINDSTATUS_P3P_HEADER = 44,
1471 BINDSTATUS_SESSION_COOKIE_RECEIVED = 45,
1472 BINDSTATUS_PERSISTENT_COOKIE_RECEIVED = 46,
1473 BINDSTATUS_SESSION_COOKIES_ALLOWED = 47,
1474 BINDSTATUS_CACHECONTROL = 48,
1475 BINDSTATUS_CONTENTDISPOSITIONFILENAME = 49,
1476 BINDSTATUS_MIMETEXTPLAINMISMATCH = 50,
1477 BINDSTATUS_PUBLISHERAVAILABLE = 51,
1478 BINDSTATUS_DISPLAYNAMEAVAILABLE = 52,
1479 BINDSTATUS_SSLUX_NAVBLOCKED = 53,
1480 BINDSTATUS_SERVER_MIMETYPEAVAILABLE = 54,
1481 BINDSTATUS_SNIFFED_CLASSIDAVAILABLE = 55,
1482 BINDSTATUS_64BIT_PROGRESS = 56,
1483 BINDSTATUS_LAST = BINDSTATUS_64BIT_PROGRESS,
1484 BINDSTATUS_RESERVED_0 = 57,
1485 BINDSTATUS_RESERVED_1 = 58,
1486 BINDSTATUS_RESERVED_2 = 59,
1487 BINDSTATUS_RESERVED_3 = 60,
1488 BINDSTATUS_RESERVED_4 = 61,
1489 BINDSTATUS_RESERVED_5 = 62,
1490 BINDSTATUS_RESERVED_6 = 63,
1491 BINDSTATUS_RESERVED_7 = 64,
1492 BINDSTATUS_RESERVED_8 = 65,
1493 BINDSTATUS_RESERVED_9 = 66,
1494 BINDSTATUS_LAST_PRIVATE = BINDSTATUS_RESERVED_9
1495} BINDSTATUS;
1496
1497DEFINE_GUID(IID_IBindStatusCallback, 0x79eac9c1, 0xbaf9, 0x11ce, 0x8c,0x82, 0x00,0xaa,0x00,0x4b,0xa9,0x0b);
1498#if defined(__cplusplus) && !defined(CINTERFACE)
1499MIDL_INTERFACE("79eac9c1-baf9-11ce-8c82-00aa004ba90b")
1500IBindStatusCallback : public IUnknown
1501{
1502 virtual HRESULT STDMETHODCALLTYPE OnStartBinding(
1503 DWORD dwReserved,
1504 IBinding *pib) = 0;
1505
1506 virtual HRESULT STDMETHODCALLTYPE GetPriority(
1507 LONG *pnPriority) = 0;
1508
1509 virtual HRESULT STDMETHODCALLTYPE OnLowResource(
1510 DWORD reserved) = 0;
1511
1512 virtual HRESULT STDMETHODCALLTYPE OnProgress(
1513 ULONG ulProgress,
1514 ULONG ulProgressMax,
1515 ULONG ulStatusCode,
1516 LPCWSTR szStatusText) = 0;
1517
1518 virtual HRESULT STDMETHODCALLTYPE OnStopBinding(
1519 HRESULT hresult,
1520 LPCWSTR szError) = 0;
1521
1522 virtual HRESULT STDMETHODCALLTYPE GetBindInfo(
1523 DWORD *grfBINDF,
1524 BINDINFO *pbindinfo) = 0;
1525
1526 virtual HRESULT STDMETHODCALLTYPE OnDataAvailable(
1527 DWORD grfBSCF,
1528 DWORD dwSize,
1529 FORMATETC *pformatetc,
1530 STGMEDIUM *pstgmed) = 0;
1531
1532 virtual HRESULT STDMETHODCALLTYPE OnObjectAvailable(
1533 REFIID riid,
1534 IUnknown *punk) = 0;
1535
1536};
1537#ifdef __CRT_UUID_DECL
1538__CRT_UUID_DECL(IBindStatusCallback, 0x79eac9c1, 0xbaf9, 0x11ce, 0x8c,0x82, 0x00,0xaa,0x00,0x4b,0xa9,0x0b)
1539#endif
1540#else
1541typedef struct IBindStatusCallbackVtbl {
1542 BEGIN_INTERFACE
1543
1544 /*** IUnknown methods ***/
1545 HRESULT (STDMETHODCALLTYPE *QueryInterface)(
1546 IBindStatusCallback *This,
1547 REFIID riid,
1548 void **ppvObject);
1549
1550 ULONG (STDMETHODCALLTYPE *AddRef)(
1551 IBindStatusCallback *This);
1552
1553 ULONG (STDMETHODCALLTYPE *Release)(
1554 IBindStatusCallback *This);
1555
1556 /*** IBindStatusCallback methods ***/
1557 HRESULT (STDMETHODCALLTYPE *OnStartBinding)(
1558 IBindStatusCallback *This,
1559 DWORD dwReserved,
1560 IBinding *pib);
1561
1562 HRESULT (STDMETHODCALLTYPE *GetPriority)(
1563 IBindStatusCallback *This,
1564 LONG *pnPriority);
1565
1566 HRESULT (STDMETHODCALLTYPE *OnLowResource)(
1567 IBindStatusCallback *This,
1568 DWORD reserved);
1569
1570 HRESULT (STDMETHODCALLTYPE *OnProgress)(
1571 IBindStatusCallback *This,
1572 ULONG ulProgress,
1573 ULONG ulProgressMax,
1574 ULONG ulStatusCode,
1575 LPCWSTR szStatusText);
1576
1577 HRESULT (STDMETHODCALLTYPE *OnStopBinding)(
1578 IBindStatusCallback *This,
1579 HRESULT hresult,
1580 LPCWSTR szError);
1581
1582 HRESULT (STDMETHODCALLTYPE *GetBindInfo)(
1583 IBindStatusCallback *This,
1584 DWORD *grfBINDF,
1585 BINDINFO *pbindinfo);
1586
1587 HRESULT (STDMETHODCALLTYPE *OnDataAvailable)(
1588 IBindStatusCallback *This,
1589 DWORD grfBSCF,
1590 DWORD dwSize,
1591 FORMATETC *pformatetc,
1592 STGMEDIUM *pstgmed);
1593
1594 HRESULT (STDMETHODCALLTYPE *OnObjectAvailable)(
1595 IBindStatusCallback *This,
1596 REFIID riid,
1597 IUnknown *punk);
1598
1599 END_INTERFACE
1600} IBindStatusCallbackVtbl;
1601
1602interface IBindStatusCallback {
1603 CONST_VTBL IBindStatusCallbackVtbl* lpVtbl;
1604};
1605
1606#ifdef COBJMACROS
1607#ifndef WIDL_C_INLINE_WRAPPERS
1608/*** IUnknown methods ***/
1609#define IBindStatusCallback_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject)
1610#define IBindStatusCallback_AddRef(This) (This)->lpVtbl->AddRef(This)
1611#define IBindStatusCallback_Release(This) (This)->lpVtbl->Release(This)
1612/*** IBindStatusCallback methods ***/
1613#define IBindStatusCallback_OnStartBinding(This,dwReserved,pib) (This)->lpVtbl->OnStartBinding(This,dwReserved,pib)
1614#define IBindStatusCallback_GetPriority(This,pnPriority) (This)->lpVtbl->GetPriority(This,pnPriority)
1615#define IBindStatusCallback_OnLowResource(This,reserved) (This)->lpVtbl->OnLowResource(This,reserved)
1616#define IBindStatusCallback_OnProgress(This,ulProgress,ulProgressMax,ulStatusCode,szStatusText) (This)->lpVtbl->OnProgress(This,ulProgress,ulProgressMax,ulStatusCode,szStatusText)
1617#define IBindStatusCallback_OnStopBinding(This,hresult,szError) (This)->lpVtbl->OnStopBinding(This,hresult,szError)
1618#define IBindStatusCallback_GetBindInfo(This,grfBINDF,pbindinfo) (This)->lpVtbl->GetBindInfo(This,grfBINDF,pbindinfo)
1619#define IBindStatusCallback_OnDataAvailable(This,grfBSCF,dwSize,pformatetc,pstgmed) (This)->lpVtbl->OnDataAvailable(This,grfBSCF,dwSize,pformatetc,pstgmed)
1620#define IBindStatusCallback_OnObjectAvailable(This,riid,punk) (This)->lpVtbl->OnObjectAvailable(This,riid,punk)
1621#else
1622/*** IUnknown methods ***/
1623static inline HRESULT IBindStatusCallback_QueryInterface(IBindStatusCallback* This,REFIID riid,void **ppvObject) {
1624 return This->lpVtbl->QueryInterface(This,riid,ppvObject);
1625}
1626static inline ULONG IBindStatusCallback_AddRef(IBindStatusCallback* This) {
1627 return This->lpVtbl->AddRef(This);
1628}
1629static inline ULONG IBindStatusCallback_Release(IBindStatusCallback* This) {
1630 return This->lpVtbl->Release(This);
1631}
1632/*** IBindStatusCallback methods ***/
1633static inline HRESULT IBindStatusCallback_OnStartBinding(IBindStatusCallback* This,DWORD dwReserved,IBinding *pib) {
1634 return This->lpVtbl->OnStartBinding(This,dwReserved,pib);
1635}
1636static inline HRESULT IBindStatusCallback_GetPriority(IBindStatusCallback* This,LONG *pnPriority) {
1637 return This->lpVtbl->GetPriority(This,pnPriority);
1638}
1639static inline HRESULT IBindStatusCallback_OnLowResource(IBindStatusCallback* This,DWORD reserved) {
1640 return This->lpVtbl->OnLowResource(This,reserved);
1641}
1642static inline HRESULT IBindStatusCallback_OnProgress(IBindStatusCallback* This,ULONG ulProgress,ULONG ulProgressMax,ULONG ulStatusCode,LPCWSTR szStatusText) {
1643 return This->lpVtbl->OnProgress(This,ulProgress,ulProgressMax,ulStatusCode,szStatusText);
1644}
1645static inline HRESULT IBindStatusCallback_OnStopBinding(IBindStatusCallback* This,HRESULT hresult,LPCWSTR szError) {
1646 return This->lpVtbl->OnStopBinding(This,hresult,szError);
1647}
1648static inline HRESULT IBindStatusCallback_GetBindInfo(IBindStatusCallback* This,DWORD *grfBINDF,BINDINFO *pbindinfo) {
1649 return This->lpVtbl->GetBindInfo(This,grfBINDF,pbindinfo);
1650}
1651static inline HRESULT IBindStatusCallback_OnDataAvailable(IBindStatusCallback* This,DWORD grfBSCF,DWORD dwSize,FORMATETC *pformatetc,STGMEDIUM *pstgmed) {
1652 return This->lpVtbl->OnDataAvailable(This,grfBSCF,dwSize,pformatetc,pstgmed);
1653}
1654static inline HRESULT IBindStatusCallback_OnObjectAvailable(IBindStatusCallback* This,REFIID riid,IUnknown *punk) {
1655 return This->lpVtbl->OnObjectAvailable(This,riid,punk);
1656}
1657#endif
1658#endif
1659
1660#endif
1661
1662HRESULT STDMETHODCALLTYPE IBindStatusCallback_RemoteGetBindInfo_Proxy(
1663 IBindStatusCallback* This,
1664 DWORD *grfBINDF,
1665 RemBINDINFO *pbindinfo,
1666 RemSTGMEDIUM *pstgmed);
1667void __RPC_STUB IBindStatusCallback_RemoteGetBindInfo_Stub(
1668 IRpcStubBuffer* This,
1669 IRpcChannelBuffer* pRpcChannelBuffer,
1670 PRPC_MESSAGE pRpcMessage,
1671 DWORD* pdwStubPhase);
1672HRESULT STDMETHODCALLTYPE IBindStatusCallback_RemoteOnDataAvailable_Proxy(
1673 IBindStatusCallback* This,
1674 DWORD grfBSCF,
1675 DWORD dwSize,
1676 RemFORMATETC *pformatetc,
1677 RemSTGMEDIUM *pstgmed);
1678void __RPC_STUB IBindStatusCallback_RemoteOnDataAvailable_Stub(
1679 IRpcStubBuffer* This,
1680 IRpcChannelBuffer* pRpcChannelBuffer,
1681 PRPC_MESSAGE pRpcMessage,
1682 DWORD* pdwStubPhase);
1683HRESULT CALLBACK IBindStatusCallback_GetBindInfo_Proxy(
1684 IBindStatusCallback* This,
1685 DWORD *grfBINDF,
1686 BINDINFO *pbindinfo);
1687HRESULT __RPC_STUB IBindStatusCallback_GetBindInfo_Stub(
1688 IBindStatusCallback* This,
1689 DWORD *grfBINDF,
1690 RemBINDINFO *pbindinfo,
1691 RemSTGMEDIUM *pstgmed);
1692HRESULT CALLBACK IBindStatusCallback_OnDataAvailable_Proxy(
1693 IBindStatusCallback* This,
1694 DWORD grfBSCF,
1695 DWORD dwSize,
1696 FORMATETC *pformatetc,
1697 STGMEDIUM *pstgmed);
1698HRESULT __RPC_STUB IBindStatusCallback_OnDataAvailable_Stub(
1699 IBindStatusCallback* This,
1700 DWORD grfBSCF,
1701 DWORD dwSize,
1702 RemFORMATETC *pformatetc,
1703 RemSTGMEDIUM *pstgmed);
1704
1705#endif /* __IBindStatusCallback_INTERFACE_DEFINED__ */
1706
1707#endif
1708#endif
1709
1710#if WINAPI_FAMILY_PARTITION(WINAPI_PARTITION_DESKTOP)
1711#ifndef _LPBINDSTATUSCALLBACKEX_DEFINED
1712#define _LPBINDSTATUSCALLBACKEX_DEFINED
1713
1714/*****************************************************************************
1715 * IBindStatusCallbackEx interface
1716 */
1717#ifndef __IBindStatusCallbackEx_INTERFACE_DEFINED__
1718#define __IBindStatusCallbackEx_INTERFACE_DEFINED__
1719
1720typedef IBindStatusCallbackEx *LPBINDSTATUSCALLBACKEX;
1721
1722typedef enum __WIDL_urlmon_generated_name_00000016 {
1723 BINDF2_DISABLEBASICOVERHTTP = 0x1,
1724 BINDF2_DISABLEAUTOCOOKIEHANDLING = 0x2,
1725 BINDF2_READ_DATA_GREATER_THAN_4GB = 0x4,
1726 BINDF2_DISABLE_HTTP_REDIRECT_XSECURITYID = 0x8,
1727 BINDF2_SETDOWNLOADMODE = 0x20,
1728 BINDF2_DISABLE_HTTP_REDIRECT_CACHING = 0x40,
1729 BINDF2_KEEP_CALLBACK_MODULE_LOADED = 0x80,
1730 BINDF2_ALLOW_PROXY_CRED_PROMPT = 0x100,
1731 BINDF2_RESERVED_F = 0x20000,
1732 BINDF2_RESERVED_E = 0x40000,
1733 BINDF2_RESERVED_D = 0x80000,
1734 BINDF2_RESERVED_C = 0x100000,
1735 BINDF2_RESERVED_B = 0x200000,
1736 BINDF2_RESERVED_A = 0x400000,
1737 BINDF2_RESERVED_9 = 0x800000,
1738 BINDF2_RESERVED_8 = 0x1000000,
1739 BINDF2_RESERVED_7 = 0x2000000,
1740 BINDF2_RESERVED_6 = 0x4000000,
1741 BINDF2_RESERVED_5 = 0x8000000,
1742 BINDF2_RESERVED_4 = 0x10000000,
1743 BINDF2_RESERVED_3 = 0x20000000,
1744 BINDF2_RESERVED_2 = 0x40000000,
1745 BINDF2_RESERVED_1 = 0x80000000
1746} BINDF2;
1747
1748DEFINE_GUID(IID_IBindStatusCallbackEx, 0xaaa74ef9, 0x8ee7, 0x4659, 0x88,0xd9, 0xf8,0xc5,0x04,0xda,0x73,0xcc);
1749#if defined(__cplusplus) && !defined(CINTERFACE)
1750MIDL_INTERFACE("aaa74ef9-8ee7-4659-88d9-f8c504da73cc")
1751IBindStatusCallbackEx : public IBindStatusCallback
1752{
1753 virtual HRESULT STDMETHODCALLTYPE GetBindInfoEx(
1754 DWORD *grfBINDF,
1755 BINDINFO *pbindinfo,
1756 DWORD *grfBINDF2,
1757 DWORD *pdwReserved) = 0;
1758
1759};
1760#ifdef __CRT_UUID_DECL
1761__CRT_UUID_DECL(IBindStatusCallbackEx, 0xaaa74ef9, 0x8ee7, 0x4659, 0x88,0xd9, 0xf8,0xc5,0x04,0xda,0x73,0xcc)
1762#endif
1763#else
1764typedef struct IBindStatusCallbackExVtbl {
1765 BEGIN_INTERFACE
1766
1767 /*** IUnknown methods ***/
1768 HRESULT (STDMETHODCALLTYPE *QueryInterface)(
1769 IBindStatusCallbackEx *This,
1770 REFIID riid,
1771 void **ppvObject);
1772
1773 ULONG (STDMETHODCALLTYPE *AddRef)(
1774 IBindStatusCallbackEx *This);
1775
1776 ULONG (STDMETHODCALLTYPE *Release)(
1777 IBindStatusCallbackEx *This);
1778
1779 /*** IBindStatusCallback methods ***/
1780 HRESULT (STDMETHODCALLTYPE *OnStartBinding)(
1781 IBindStatusCallbackEx *This,
1782 DWORD dwReserved,
1783 IBinding *pib);
1784
1785 HRESULT (STDMETHODCALLTYPE *GetPriority)(
1786 IBindStatusCallbackEx *This,
1787 LONG *pnPriority);
1788
1789 HRESULT (STDMETHODCALLTYPE *OnLowResource)(
1790 IBindStatusCallbackEx *This,
1791 DWORD reserved);
1792
1793 HRESULT (STDMETHODCALLTYPE *OnProgress)(
1794 IBindStatusCallbackEx *This,
1795 ULONG ulProgress,
1796 ULONG ulProgressMax,
1797 ULONG ulStatusCode,
1798 LPCWSTR szStatusText);
1799
1800 HRESULT (STDMETHODCALLTYPE *OnStopBinding)(
1801 IBindStatusCallbackEx *This,
1802 HRESULT hresult,
1803 LPCWSTR szError);
1804
1805 HRESULT (STDMETHODCALLTYPE *GetBindInfo)(
1806 IBindStatusCallbackEx *This,
1807 DWORD *grfBINDF,
1808 BINDINFO *pbindinfo);
1809
1810 HRESULT (STDMETHODCALLTYPE *OnDataAvailable)(
1811 IBindStatusCallbackEx *This,
1812 DWORD grfBSCF,
1813 DWORD dwSize,
1814 FORMATETC *pformatetc,
1815 STGMEDIUM *pstgmed);
1816
1817 HRESULT (STDMETHODCALLTYPE *OnObjectAvailable)(
1818 IBindStatusCallbackEx *This,
1819 REFIID riid,
1820 IUnknown *punk);
1821
1822 /*** IBindStatusCallbackEx methods ***/
1823 HRESULT (STDMETHODCALLTYPE *GetBindInfoEx)(
1824 IBindStatusCallbackEx *This,
1825 DWORD *grfBINDF,
1826 BINDINFO *pbindinfo,
1827 DWORD *grfBINDF2,
1828 DWORD *pdwReserved);
1829
1830 END_INTERFACE
1831} IBindStatusCallbackExVtbl;
1832
1833interface IBindStatusCallbackEx {
1834 CONST_VTBL IBindStatusCallbackExVtbl* lpVtbl;
1835};
1836
1837#ifdef COBJMACROS
1838#ifndef WIDL_C_INLINE_WRAPPERS
1839/*** IUnknown methods ***/
1840#define IBindStatusCallbackEx_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject)
1841#define IBindStatusCallbackEx_AddRef(This) (This)->lpVtbl->AddRef(This)
1842#define IBindStatusCallbackEx_Release(This) (This)->lpVtbl->Release(This)
1843/*** IBindStatusCallback methods ***/
1844#define IBindStatusCallbackEx_OnStartBinding(This,dwReserved,pib) (This)->lpVtbl->OnStartBinding(This,dwReserved,pib)
1845#define IBindStatusCallbackEx_GetPriority(This,pnPriority) (This)->lpVtbl->GetPriority(This,pnPriority)
1846#define IBindStatusCallbackEx_OnLowResource(This,reserved) (This)->lpVtbl->OnLowResource(This,reserved)
1847#define IBindStatusCallbackEx_OnProgress(This,ulProgress,ulProgressMax,ulStatusCode,szStatusText) (This)->lpVtbl->OnProgress(This,ulProgress,ulProgressMax,ulStatusCode,szStatusText)
1848#define IBindStatusCallbackEx_OnStopBinding(This,hresult,szError) (This)->lpVtbl->OnStopBinding(This,hresult,szError)
1849#define IBindStatusCallbackEx_GetBindInfo(This,grfBINDF,pbindinfo) (This)->lpVtbl->GetBindInfo(This,grfBINDF,pbindinfo)
1850#define IBindStatusCallbackEx_OnDataAvailable(This,grfBSCF,dwSize,pformatetc,pstgmed) (This)->lpVtbl->OnDataAvailable(This,grfBSCF,dwSize,pformatetc,pstgmed)
1851#define IBindStatusCallbackEx_OnObjectAvailable(This,riid,punk) (This)->lpVtbl->OnObjectAvailable(This,riid,punk)
1852/*** IBindStatusCallbackEx methods ***/
1853#define IBindStatusCallbackEx_GetBindInfoEx(This,grfBINDF,pbindinfo,grfBINDF2,pdwReserved) (This)->lpVtbl->GetBindInfoEx(This,grfBINDF,pbindinfo,grfBINDF2,pdwReserved)
1854#else
1855/*** IUnknown methods ***/
1856static inline HRESULT IBindStatusCallbackEx_QueryInterface(IBindStatusCallbackEx* This,REFIID riid,void **ppvObject) {
1857 return This->lpVtbl->QueryInterface(This,riid,ppvObject);
1858}
1859static inline ULONG IBindStatusCallbackEx_AddRef(IBindStatusCallbackEx* This) {
1860 return This->lpVtbl->AddRef(This);
1861}
1862static inline ULONG IBindStatusCallbackEx_Release(IBindStatusCallbackEx* This) {
1863 return This->lpVtbl->Release(This);
1864}
1865/*** IBindStatusCallback methods ***/
1866static inline HRESULT IBindStatusCallbackEx_OnStartBinding(IBindStatusCallbackEx* This,DWORD dwReserved,IBinding *pib) {
1867 return This->lpVtbl->OnStartBinding(This,dwReserved,pib);
1868}
1869static inline HRESULT IBindStatusCallbackEx_GetPriority(IBindStatusCallbackEx* This,LONG *pnPriority) {
1870 return This->lpVtbl->GetPriority(This,pnPriority);
1871}
1872static inline HRESULT IBindStatusCallbackEx_OnLowResource(IBindStatusCallbackEx* This,DWORD reserved) {
1873 return This->lpVtbl->OnLowResource(This,reserved);
1874}
1875static inline HRESULT IBindStatusCallbackEx_OnProgress(IBindStatusCallbackEx* This,ULONG ulProgress,ULONG ulProgressMax,ULONG ulStatusCode,LPCWSTR szStatusText) {
1876 return This->lpVtbl->OnProgress(This,ulProgress,ulProgressMax,ulStatusCode,szStatusText);
1877}
1878static inline HRESULT IBindStatusCallbackEx_OnStopBinding(IBindStatusCallbackEx* This,HRESULT hresult,LPCWSTR szError) {
1879 return This->lpVtbl->OnStopBinding(This,hresult,szError);
1880}
1881static inline HRESULT IBindStatusCallbackEx_GetBindInfo(IBindStatusCallbackEx* This,DWORD *grfBINDF,BINDINFO *pbindinfo) {
1882 return This->lpVtbl->GetBindInfo(This,grfBINDF,pbindinfo);
1883}
1884static inline HRESULT IBindStatusCallbackEx_OnDataAvailable(IBindStatusCallbackEx* This,DWORD grfBSCF,DWORD dwSize,FORMATETC *pformatetc,STGMEDIUM *pstgmed) {
1885 return This->lpVtbl->OnDataAvailable(This,grfBSCF,dwSize,pformatetc,pstgmed);
1886}
1887static inline HRESULT IBindStatusCallbackEx_OnObjectAvailable(IBindStatusCallbackEx* This,REFIID riid,IUnknown *punk) {
1888 return This->lpVtbl->OnObjectAvailable(This,riid,punk);
1889}
1890/*** IBindStatusCallbackEx methods ***/
1891static inline HRESULT IBindStatusCallbackEx_GetBindInfoEx(IBindStatusCallbackEx* This,DWORD *grfBINDF,BINDINFO *pbindinfo,DWORD *grfBINDF2,DWORD *pdwReserved) {
1892 return This->lpVtbl->GetBindInfoEx(This,grfBINDF,pbindinfo,grfBINDF2,pdwReserved);
1893}
1894#endif
1895#endif
1896
1897#endif
1898
1899HRESULT STDMETHODCALLTYPE IBindStatusCallbackEx_RemoteGetBindInfoEx_Proxy(
1900 IBindStatusCallbackEx* This,
1901 DWORD *grfBINDF,
1902 RemBINDINFO *pbindinfo,
1903 RemSTGMEDIUM *pstgmed,
1904 DWORD *grfBINDF2,
1905 DWORD *pdwReserved);
1906void __RPC_STUB IBindStatusCallbackEx_RemoteGetBindInfoEx_Stub(
1907 IRpcStubBuffer* This,
1908 IRpcChannelBuffer* pRpcChannelBuffer,
1909 PRPC_MESSAGE pRpcMessage,
1910 DWORD* pdwStubPhase);
1911HRESULT CALLBACK IBindStatusCallbackEx_GetBindInfoEx_Proxy(
1912 IBindStatusCallbackEx* This,
1913 DWORD *grfBINDF,
1914 BINDINFO *pbindinfo,
1915 DWORD *grfBINDF2,
1916 DWORD *pdwReserved);
1917HRESULT __RPC_STUB IBindStatusCallbackEx_GetBindInfoEx_Stub(
1918 IBindStatusCallbackEx* This,
1919 DWORD *grfBINDF,
1920 RemBINDINFO *pbindinfo,
1921 RemSTGMEDIUM *pstgmed,
1922 DWORD *grfBINDF2,
1923 DWORD *pdwReserved);
1924
1925#endif /* __IBindStatusCallbackEx_INTERFACE_DEFINED__ */
1926
1927#endif
1928
1929#ifndef _LPAUTHENTICATION_DEFINED
1930#define _LPAUTHENTICATION_DEFINED
1931
1932/*****************************************************************************
1933 * IAuthenticate interface
1934 */
1935#ifndef __IAuthenticate_INTERFACE_DEFINED__
1936#define __IAuthenticate_INTERFACE_DEFINED__
1937
1938typedef IAuthenticate *LPAUTHENTICATION;
1939
1940DEFINE_GUID(IID_IAuthenticate, 0x79eac9d0, 0xbaf9, 0x11ce, 0x8c,0x82, 0x00,0xaa,0x00,0x4b,0xa9,0x0b);
1941#if defined(__cplusplus) && !defined(CINTERFACE)
1942MIDL_INTERFACE("79eac9d0-baf9-11ce-8c82-00aa004ba90b")
1943IAuthenticate : public IUnknown
1944{
1945 virtual HRESULT STDMETHODCALLTYPE Authenticate(
1946 HWND *phwnd,
1947 LPWSTR *pszUsername,
1948 LPWSTR *pszPassword) = 0;
1949
1950};
1951#ifdef __CRT_UUID_DECL
1952__CRT_UUID_DECL(IAuthenticate, 0x79eac9d0, 0xbaf9, 0x11ce, 0x8c,0x82, 0x00,0xaa,0x00,0x4b,0xa9,0x0b)
1953#endif
1954#else
1955typedef struct IAuthenticateVtbl {
1956 BEGIN_INTERFACE
1957
1958 /*** IUnknown methods ***/
1959 HRESULT (STDMETHODCALLTYPE *QueryInterface)(
1960 IAuthenticate *This,
1961 REFIID riid,
1962 void **ppvObject);
1963
1964 ULONG (STDMETHODCALLTYPE *AddRef)(
1965 IAuthenticate *This);
1966
1967 ULONG (STDMETHODCALLTYPE *Release)(
1968 IAuthenticate *This);
1969
1970 /*** IAuthenticate methods ***/
1971 HRESULT (STDMETHODCALLTYPE *Authenticate)(
1972 IAuthenticate *This,
1973 HWND *phwnd,
1974 LPWSTR *pszUsername,
1975 LPWSTR *pszPassword);
1976
1977 END_INTERFACE
1978} IAuthenticateVtbl;
1979
1980interface IAuthenticate {
1981 CONST_VTBL IAuthenticateVtbl* lpVtbl;
1982};
1983
1984#ifdef COBJMACROS
1985#ifndef WIDL_C_INLINE_WRAPPERS
1986/*** IUnknown methods ***/
1987#define IAuthenticate_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject)
1988#define IAuthenticate_AddRef(This) (This)->lpVtbl->AddRef(This)
1989#define IAuthenticate_Release(This) (This)->lpVtbl->Release(This)
1990/*** IAuthenticate methods ***/
1991#define IAuthenticate_Authenticate(This,phwnd,pszUsername,pszPassword) (This)->lpVtbl->Authenticate(This,phwnd,pszUsername,pszPassword)
1992#else
1993/*** IUnknown methods ***/
1994static inline HRESULT IAuthenticate_QueryInterface(IAuthenticate* This,REFIID riid,void **ppvObject) {
1995 return This->lpVtbl->QueryInterface(This,riid,ppvObject);
1996}
1997static inline ULONG IAuthenticate_AddRef(IAuthenticate* This) {
1998 return This->lpVtbl->AddRef(This);
1999}
2000static inline ULONG IAuthenticate_Release(IAuthenticate* This) {
2001 return This->lpVtbl->Release(This);
2002}
2003/*** IAuthenticate methods ***/
2004static inline HRESULT IAuthenticate_Authenticate(IAuthenticate* This,HWND *phwnd,LPWSTR *pszUsername,LPWSTR *pszPassword) {
2005 return This->lpVtbl->Authenticate(This,phwnd,pszUsername,pszPassword);
2006}
2007#endif
2008#endif
2009
2010#endif
2011
2012
2013#endif /* __IAuthenticate_INTERFACE_DEFINED__ */
2014
2015#endif
2016
2017#ifndef _LPAUTHENTICATIONEX_DEFINED
2018#define _LPAUTHENTICATIONEX_DEFINED
2019
2020/*****************************************************************************
2021 * IAuthenticateEx interface
2022 */
2023#ifndef __IAuthenticateEx_INTERFACE_DEFINED__
2024#define __IAuthenticateEx_INTERFACE_DEFINED__
2025
2026typedef IAuthenticateEx *LPAUTHENTICATIONEX;
2027
2028typedef enum __WIDL_urlmon_generated_name_00000017 {
2029 AUTHENTICATEF_PROXY = 0x1,
2030 AUTHENTICATEF_BASIC = 0x2,
2031 AUTHENTICATEF_HTTP = 0x4
2032} AUTHENTICATEF;
2033
2034typedef struct _tagAUTHENTICATEINFO {
2035 DWORD dwFlags;
2036 DWORD dwReserved;
2037} AUTHENTICATEINFO;
2038
2039DEFINE_GUID(IID_IAuthenticateEx, 0x2ad1edaf, 0xd83d, 0x48b5, 0x9a,0xdf, 0x03,0xdb,0xe1,0x9f,0x53,0xbd);
2040#if defined(__cplusplus) && !defined(CINTERFACE)
2041MIDL_INTERFACE("2ad1edaf-d83d-48b5-9adf-03dbe19f53bd")
2042IAuthenticateEx : public IAuthenticate
2043{
2044 virtual HRESULT STDMETHODCALLTYPE AuthenticateEx(
2045 HWND *phwnd,
2046 LPWSTR *pszUsername,
2047 LPWSTR *pszPassword,
2048 AUTHENTICATEINFO *pauthinfo) = 0;
2049
2050};
2051#ifdef __CRT_UUID_DECL
2052__CRT_UUID_DECL(IAuthenticateEx, 0x2ad1edaf, 0xd83d, 0x48b5, 0x9a,0xdf, 0x03,0xdb,0xe1,0x9f,0x53,0xbd)
2053#endif
2054#else
2055typedef struct IAuthenticateExVtbl {
2056 BEGIN_INTERFACE
2057
2058 /*** IUnknown methods ***/
2059 HRESULT (STDMETHODCALLTYPE *QueryInterface)(
2060 IAuthenticateEx *This,
2061 REFIID riid,
2062 void **ppvObject);
2063
2064 ULONG (STDMETHODCALLTYPE *AddRef)(
2065 IAuthenticateEx *This);
2066
2067 ULONG (STDMETHODCALLTYPE *Release)(
2068 IAuthenticateEx *This);
2069
2070 /*** IAuthenticate methods ***/
2071 HRESULT (STDMETHODCALLTYPE *Authenticate)(
2072 IAuthenticateEx *This,
2073 HWND *phwnd,
2074 LPWSTR *pszUsername,
2075 LPWSTR *pszPassword);
2076
2077 /*** IAuthenticateEx methods ***/
2078 HRESULT (STDMETHODCALLTYPE *AuthenticateEx)(
2079 IAuthenticateEx *This,
2080 HWND *phwnd,
2081 LPWSTR *pszUsername,
2082 LPWSTR *pszPassword,
2083 AUTHENTICATEINFO *pauthinfo);
2084
2085 END_INTERFACE
2086} IAuthenticateExVtbl;
2087
2088interface IAuthenticateEx {
2089 CONST_VTBL IAuthenticateExVtbl* lpVtbl;
2090};
2091
2092#ifdef COBJMACROS
2093#ifndef WIDL_C_INLINE_WRAPPERS
2094/*** IUnknown methods ***/
2095#define IAuthenticateEx_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject)
2096#define IAuthenticateEx_AddRef(This) (This)->lpVtbl->AddRef(This)
2097#define IAuthenticateEx_Release(This) (This)->lpVtbl->Release(This)
2098/*** IAuthenticate methods ***/
2099#define IAuthenticateEx_Authenticate(This,phwnd,pszUsername,pszPassword) (This)->lpVtbl->Authenticate(This,phwnd,pszUsername,pszPassword)
2100/*** IAuthenticateEx methods ***/
2101#define IAuthenticateEx_AuthenticateEx(This,phwnd,pszUsername,pszPassword,pauthinfo) (This)->lpVtbl->AuthenticateEx(This,phwnd,pszUsername,pszPassword,pauthinfo)
2102#else
2103/*** IUnknown methods ***/
2104static inline HRESULT IAuthenticateEx_QueryInterface(IAuthenticateEx* This,REFIID riid,void **ppvObject) {
2105 return This->lpVtbl->QueryInterface(This,riid,ppvObject);
2106}
2107static inline ULONG IAuthenticateEx_AddRef(IAuthenticateEx* This) {
2108 return This->lpVtbl->AddRef(This);
2109}
2110static inline ULONG IAuthenticateEx_Release(IAuthenticateEx* This) {
2111 return This->lpVtbl->Release(This);
2112}
2113/*** IAuthenticate methods ***/
2114static inline HRESULT IAuthenticateEx_Authenticate(IAuthenticateEx* This,HWND *phwnd,LPWSTR *pszUsername,LPWSTR *pszPassword) {
2115 return This->lpVtbl->Authenticate(This,phwnd,pszUsername,pszPassword);
2116}
2117/*** IAuthenticateEx methods ***/
2118static inline HRESULT IAuthenticateEx_AuthenticateEx(IAuthenticateEx* This,HWND *phwnd,LPWSTR *pszUsername,LPWSTR *pszPassword,AUTHENTICATEINFO *pauthinfo) {
2119 return This->lpVtbl->AuthenticateEx(This,phwnd,pszUsername,pszPassword,pauthinfo);
2120}
2121#endif
2122#endif
2123
2124#endif
2125
2126
2127#endif /* __IAuthenticateEx_INTERFACE_DEFINED__ */
2128
2129#endif
2130
2131#ifndef _LPHTTPNEGOTIATE_DEFINED
2132#define _LPHTTPNEGOTIATE_DEFINED
2133
2134/*****************************************************************************
2135 * IHttpNegotiate interface
2136 */
2137#ifndef __IHttpNegotiate_INTERFACE_DEFINED__
2138#define __IHttpNegotiate_INTERFACE_DEFINED__
2139
2140typedef IHttpNegotiate *LPHTTPNEGOTIATE;
2141
2142DEFINE_GUID(IID_IHttpNegotiate, 0x79eac9d2, 0xbaf9, 0x11ce, 0x8c,0x82, 0x00,0xaa,0x00,0x4b,0xa9,0x0b);
2143#if defined(__cplusplus) && !defined(CINTERFACE)
2144MIDL_INTERFACE("79eac9d2-baf9-11ce-8c82-00aa004ba90b")
2145IHttpNegotiate : public IUnknown
2146{
2147 virtual HRESULT STDMETHODCALLTYPE BeginningTransaction(
2148 LPCWSTR szURL,
2149 LPCWSTR szHeaders,
2150 DWORD dwReserved,
2151 LPWSTR *pszAdditionalHeaders) = 0;
2152
2153 virtual HRESULT STDMETHODCALLTYPE OnResponse(
2154 DWORD dwResponseCode,
2155 LPCWSTR szResponseHeaders,
2156 LPCWSTR szRequestHeaders,
2157 LPWSTR *pszAdditionalRequestHeaders) = 0;
2158
2159};
2160#ifdef __CRT_UUID_DECL
2161__CRT_UUID_DECL(IHttpNegotiate, 0x79eac9d2, 0xbaf9, 0x11ce, 0x8c,0x82, 0x00,0xaa,0x00,0x4b,0xa9,0x0b)
2162#endif
2163#else
2164typedef struct IHttpNegotiateVtbl {
2165 BEGIN_INTERFACE
2166
2167 /*** IUnknown methods ***/
2168 HRESULT (STDMETHODCALLTYPE *QueryInterface)(
2169 IHttpNegotiate *This,
2170 REFIID riid,
2171 void **ppvObject);
2172
2173 ULONG (STDMETHODCALLTYPE *AddRef)(
2174 IHttpNegotiate *This);
2175
2176 ULONG (STDMETHODCALLTYPE *Release)(
2177 IHttpNegotiate *This);
2178
2179 /*** IHttpNegotiate methods ***/
2180 HRESULT (STDMETHODCALLTYPE *BeginningTransaction)(
2181 IHttpNegotiate *This,
2182 LPCWSTR szURL,
2183 LPCWSTR szHeaders,
2184 DWORD dwReserved,
2185 LPWSTR *pszAdditionalHeaders);
2186
2187 HRESULT (STDMETHODCALLTYPE *OnResponse)(
2188 IHttpNegotiate *This,
2189 DWORD dwResponseCode,
2190 LPCWSTR szResponseHeaders,
2191 LPCWSTR szRequestHeaders,
2192 LPWSTR *pszAdditionalRequestHeaders);
2193
2194 END_INTERFACE
2195} IHttpNegotiateVtbl;
2196
2197interface IHttpNegotiate {
2198 CONST_VTBL IHttpNegotiateVtbl* lpVtbl;
2199};
2200
2201#ifdef COBJMACROS
2202#ifndef WIDL_C_INLINE_WRAPPERS
2203/*** IUnknown methods ***/
2204#define IHttpNegotiate_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject)
2205#define IHttpNegotiate_AddRef(This) (This)->lpVtbl->AddRef(This)
2206#define IHttpNegotiate_Release(This) (This)->lpVtbl->Release(This)
2207/*** IHttpNegotiate methods ***/
2208#define IHttpNegotiate_BeginningTransaction(This,szURL,szHeaders,dwReserved,pszAdditionalHeaders) (This)->lpVtbl->BeginningTransaction(This,szURL,szHeaders,dwReserved,pszAdditionalHeaders)
2209#define IHttpNegotiate_OnResponse(This,dwResponseCode,szResponseHeaders,szRequestHeaders,pszAdditionalRequestHeaders) (This)->lpVtbl->OnResponse(This,dwResponseCode,szResponseHeaders,szRequestHeaders,pszAdditionalRequestHeaders)
2210#else
2211/*** IUnknown methods ***/
2212static inline HRESULT IHttpNegotiate_QueryInterface(IHttpNegotiate* This,REFIID riid,void **ppvObject) {
2213 return This->lpVtbl->QueryInterface(This,riid,ppvObject);
2214}
2215static inline ULONG IHttpNegotiate_AddRef(IHttpNegotiate* This) {
2216 return This->lpVtbl->AddRef(This);
2217}
2218static inline ULONG IHttpNegotiate_Release(IHttpNegotiate* This) {
2219 return This->lpVtbl->Release(This);
2220}
2221/*** IHttpNegotiate methods ***/
2222static inline HRESULT IHttpNegotiate_BeginningTransaction(IHttpNegotiate* This,LPCWSTR szURL,LPCWSTR szHeaders,DWORD dwReserved,LPWSTR *pszAdditionalHeaders) {
2223 return This->lpVtbl->BeginningTransaction(This,szURL,szHeaders,dwReserved,pszAdditionalHeaders);
2224}
2225static inline HRESULT IHttpNegotiate_OnResponse(IHttpNegotiate* This,DWORD dwResponseCode,LPCWSTR szResponseHeaders,LPCWSTR szRequestHeaders,LPWSTR *pszAdditionalRequestHeaders) {
2226 return This->lpVtbl->OnResponse(This,dwResponseCode,szResponseHeaders,szRequestHeaders,pszAdditionalRequestHeaders);
2227}
2228#endif
2229#endif
2230
2231#endif
2232
2233
2234#endif /* __IHttpNegotiate_INTERFACE_DEFINED__ */
2235
2236#endif
2237
2238#ifndef _LPHTTPNEGOTIATE2_DEFINED
2239#define _LPHTTPNEGOTIATE2_DEFINED
2240
2241/*****************************************************************************
2242 * IHttpNegotiate2 interface
2243 */
2244#ifndef __IHttpNegotiate2_INTERFACE_DEFINED__
2245#define __IHttpNegotiate2_INTERFACE_DEFINED__
2246
2247typedef IHttpNegotiate2 *LPHTTPNEGOTIATE2;
2248
2249DEFINE_GUID(IID_IHttpNegotiate2, 0x4f9f9fcb, 0xe0f4, 0x48eb, 0xb7,0xab, 0xfa,0x2e,0xa9,0x36,0x5c,0xb4);
2250#if defined(__cplusplus) && !defined(CINTERFACE)
2251MIDL_INTERFACE("4f9f9fcb-e0f4-48eb-b7ab-fa2ea9365cb4")
2252IHttpNegotiate2 : public IHttpNegotiate
2253{
2254 virtual HRESULT STDMETHODCALLTYPE GetRootSecurityId(
2255 BYTE *pbSecurityId,
2256 DWORD *pcbSecurityId,
2257 DWORD_PTR dwReserved) = 0;
2258
2259};
2260#ifdef __CRT_UUID_DECL
2261__CRT_UUID_DECL(IHttpNegotiate2, 0x4f9f9fcb, 0xe0f4, 0x48eb, 0xb7,0xab, 0xfa,0x2e,0xa9,0x36,0x5c,0xb4)
2262#endif
2263#else
2264typedef struct IHttpNegotiate2Vtbl {
2265 BEGIN_INTERFACE
2266
2267 /*** IUnknown methods ***/
2268 HRESULT (STDMETHODCALLTYPE *QueryInterface)(
2269 IHttpNegotiate2 *This,
2270 REFIID riid,
2271 void **ppvObject);
2272
2273 ULONG (STDMETHODCALLTYPE *AddRef)(
2274 IHttpNegotiate2 *This);
2275
2276 ULONG (STDMETHODCALLTYPE *Release)(
2277 IHttpNegotiate2 *This);
2278
2279 /*** IHttpNegotiate methods ***/
2280 HRESULT (STDMETHODCALLTYPE *BeginningTransaction)(
2281 IHttpNegotiate2 *This,
2282 LPCWSTR szURL,
2283 LPCWSTR szHeaders,
2284 DWORD dwReserved,
2285 LPWSTR *pszAdditionalHeaders);
2286
2287 HRESULT (STDMETHODCALLTYPE *OnResponse)(
2288 IHttpNegotiate2 *This,
2289 DWORD dwResponseCode,
2290 LPCWSTR szResponseHeaders,
2291 LPCWSTR szRequestHeaders,
2292 LPWSTR *pszAdditionalRequestHeaders);
2293
2294 /*** IHttpNegotiate2 methods ***/
2295 HRESULT (STDMETHODCALLTYPE *GetRootSecurityId)(
2296 IHttpNegotiate2 *This,
2297 BYTE *pbSecurityId,
2298 DWORD *pcbSecurityId,
2299 DWORD_PTR dwReserved);
2300
2301 END_INTERFACE
2302} IHttpNegotiate2Vtbl;
2303
2304interface IHttpNegotiate2 {
2305 CONST_VTBL IHttpNegotiate2Vtbl* lpVtbl;
2306};
2307
2308#ifdef COBJMACROS
2309#ifndef WIDL_C_INLINE_WRAPPERS
2310/*** IUnknown methods ***/
2311#define IHttpNegotiate2_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject)
2312#define IHttpNegotiate2_AddRef(This) (This)->lpVtbl->AddRef(This)
2313#define IHttpNegotiate2_Release(This) (This)->lpVtbl->Release(This)
2314/*** IHttpNegotiate methods ***/
2315#define IHttpNegotiate2_BeginningTransaction(This,szURL,szHeaders,dwReserved,pszAdditionalHeaders) (This)->lpVtbl->BeginningTransaction(This,szURL,szHeaders,dwReserved,pszAdditionalHeaders)
2316#define IHttpNegotiate2_OnResponse(This,dwResponseCode,szResponseHeaders,szRequestHeaders,pszAdditionalRequestHeaders) (This)->lpVtbl->OnResponse(This,dwResponseCode,szResponseHeaders,szRequestHeaders,pszAdditionalRequestHeaders)
2317/*** IHttpNegotiate2 methods ***/
2318#define IHttpNegotiate2_GetRootSecurityId(This,pbSecurityId,pcbSecurityId,dwReserved) (This)->lpVtbl->GetRootSecurityId(This,pbSecurityId,pcbSecurityId,dwReserved)
2319#else
2320/*** IUnknown methods ***/
2321static inline HRESULT IHttpNegotiate2_QueryInterface(IHttpNegotiate2* This,REFIID riid,void **ppvObject) {
2322 return This->lpVtbl->QueryInterface(This,riid,ppvObject);
2323}
2324static inline ULONG IHttpNegotiate2_AddRef(IHttpNegotiate2* This) {
2325 return This->lpVtbl->AddRef(This);
2326}
2327static inline ULONG IHttpNegotiate2_Release(IHttpNegotiate2* This) {
2328 return This->lpVtbl->Release(This);
2329}
2330/*** IHttpNegotiate methods ***/
2331static inline HRESULT IHttpNegotiate2_BeginningTransaction(IHttpNegotiate2* This,LPCWSTR szURL,LPCWSTR szHeaders,DWORD dwReserved,LPWSTR *pszAdditionalHeaders) {
2332 return This->lpVtbl->BeginningTransaction(This,szURL,szHeaders,dwReserved,pszAdditionalHeaders);
2333}
2334static inline HRESULT IHttpNegotiate2_OnResponse(IHttpNegotiate2* This,DWORD dwResponseCode,LPCWSTR szResponseHeaders,LPCWSTR szRequestHeaders,LPWSTR *pszAdditionalRequestHeaders) {
2335 return This->lpVtbl->OnResponse(This,dwResponseCode,szResponseHeaders,szRequestHeaders,pszAdditionalRequestHeaders);
2336}
2337/*** IHttpNegotiate2 methods ***/
2338static inline HRESULT IHttpNegotiate2_GetRootSecurityId(IHttpNegotiate2* This,BYTE *pbSecurityId,DWORD *pcbSecurityId,DWORD_PTR dwReserved) {
2339 return This->lpVtbl->GetRootSecurityId(This,pbSecurityId,pcbSecurityId,dwReserved);
2340}
2341#endif
2342#endif
2343
2344#endif
2345
2346
2347#endif /* __IHttpNegotiate2_INTERFACE_DEFINED__ */
2348
2349#endif
2350
2351#ifndef _LPHTTPNEGOTIATE3_DEFINED
2352#define _LPHTTPNEGOTIATE3_DEFINED
2353
2354/*****************************************************************************
2355 * IHttpNegotiate3 interface
2356 */
2357#ifndef __IHttpNegotiate3_INTERFACE_DEFINED__
2358#define __IHttpNegotiate3_INTERFACE_DEFINED__
2359
2360typedef IHttpNegotiate3 *LPHTTPNEGOTIATE3;
2361
2362DEFINE_GUID(IID_IHttpNegotiate3, 0x57b6c80a, 0x34c2, 0x4602, 0xbc,0x26, 0x66,0xa0,0x2f,0xc5,0x71,0x53);
2363#if defined(__cplusplus) && !defined(CINTERFACE)
2364MIDL_INTERFACE("57b6c80a-34c2-4602-bc26-66a02fc57153")
2365IHttpNegotiate3 : public IHttpNegotiate2
2366{
2367 virtual HRESULT STDMETHODCALLTYPE GetSerializedClientCertContext(
2368 BYTE **ppbCert,
2369 DWORD *pcbCert) = 0;
2370
2371};
2372#ifdef __CRT_UUID_DECL
2373__CRT_UUID_DECL(IHttpNegotiate3, 0x57b6c80a, 0x34c2, 0x4602, 0xbc,0x26, 0x66,0xa0,0x2f,0xc5,0x71,0x53)
2374#endif
2375#else
2376typedef struct IHttpNegotiate3Vtbl {
2377 BEGIN_INTERFACE
2378
2379 /*** IUnknown methods ***/
2380 HRESULT (STDMETHODCALLTYPE *QueryInterface)(
2381 IHttpNegotiate3 *This,
2382 REFIID riid,
2383 void **ppvObject);
2384
2385 ULONG (STDMETHODCALLTYPE *AddRef)(
2386 IHttpNegotiate3 *This);
2387
2388 ULONG (STDMETHODCALLTYPE *Release)(
2389 IHttpNegotiate3 *This);
2390
2391 /*** IHttpNegotiate methods ***/
2392 HRESULT (STDMETHODCALLTYPE *BeginningTransaction)(
2393 IHttpNegotiate3 *This,
2394 LPCWSTR szURL,
2395 LPCWSTR szHeaders,
2396 DWORD dwReserved,
2397 LPWSTR *pszAdditionalHeaders);
2398
2399 HRESULT (STDMETHODCALLTYPE *OnResponse)(
2400 IHttpNegotiate3 *This,
2401 DWORD dwResponseCode,
2402 LPCWSTR szResponseHeaders,
2403 LPCWSTR szRequestHeaders,
2404 LPWSTR *pszAdditionalRequestHeaders);
2405
2406 /*** IHttpNegotiate2 methods ***/
2407 HRESULT (STDMETHODCALLTYPE *GetRootSecurityId)(
2408 IHttpNegotiate3 *This,
2409 BYTE *pbSecurityId,
2410 DWORD *pcbSecurityId,
2411 DWORD_PTR dwReserved);
2412
2413 /*** IHttpNegotiate3 methods ***/
2414 HRESULT (STDMETHODCALLTYPE *GetSerializedClientCertContext)(
2415 IHttpNegotiate3 *This,
2416 BYTE **ppbCert,
2417 DWORD *pcbCert);
2418
2419 END_INTERFACE
2420} IHttpNegotiate3Vtbl;
2421
2422interface IHttpNegotiate3 {
2423 CONST_VTBL IHttpNegotiate3Vtbl* lpVtbl;
2424};
2425
2426#ifdef COBJMACROS
2427#ifndef WIDL_C_INLINE_WRAPPERS
2428/*** IUnknown methods ***/
2429#define IHttpNegotiate3_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject)
2430#define IHttpNegotiate3_AddRef(This) (This)->lpVtbl->AddRef(This)
2431#define IHttpNegotiate3_Release(This) (This)->lpVtbl->Release(This)
2432/*** IHttpNegotiate methods ***/
2433#define IHttpNegotiate3_BeginningTransaction(This,szURL,szHeaders,dwReserved,pszAdditionalHeaders) (This)->lpVtbl->BeginningTransaction(This,szURL,szHeaders,dwReserved,pszAdditionalHeaders)
2434#define IHttpNegotiate3_OnResponse(This,dwResponseCode,szResponseHeaders,szRequestHeaders,pszAdditionalRequestHeaders) (This)->lpVtbl->OnResponse(This,dwResponseCode,szResponseHeaders,szRequestHeaders,pszAdditionalRequestHeaders)
2435/*** IHttpNegotiate2 methods ***/
2436#define IHttpNegotiate3_GetRootSecurityId(This,pbSecurityId,pcbSecurityId,dwReserved) (This)->lpVtbl->GetRootSecurityId(This,pbSecurityId,pcbSecurityId,dwReserved)
2437/*** IHttpNegotiate3 methods ***/
2438#define IHttpNegotiate3_GetSerializedClientCertContext(This,ppbCert,pcbCert) (This)->lpVtbl->GetSerializedClientCertContext(This,ppbCert,pcbCert)
2439#else
2440/*** IUnknown methods ***/
2441static inline HRESULT IHttpNegotiate3_QueryInterface(IHttpNegotiate3* This,REFIID riid,void **ppvObject) {
2442 return This->lpVtbl->QueryInterface(This,riid,ppvObject);
2443}
2444static inline ULONG IHttpNegotiate3_AddRef(IHttpNegotiate3* This) {
2445 return This->lpVtbl->AddRef(This);
2446}
2447static inline ULONG IHttpNegotiate3_Release(IHttpNegotiate3* This) {
2448 return This->lpVtbl->Release(This);
2449}
2450/*** IHttpNegotiate methods ***/
2451static inline HRESULT IHttpNegotiate3_BeginningTransaction(IHttpNegotiate3* This,LPCWSTR szURL,LPCWSTR szHeaders,DWORD dwReserved,LPWSTR *pszAdditionalHeaders) {
2452 return This->lpVtbl->BeginningTransaction(This,szURL,szHeaders,dwReserved,pszAdditionalHeaders);
2453}
2454static inline HRESULT IHttpNegotiate3_OnResponse(IHttpNegotiate3* This,DWORD dwResponseCode,LPCWSTR szResponseHeaders,LPCWSTR szRequestHeaders,LPWSTR *pszAdditionalRequestHeaders) {
2455 return This->lpVtbl->OnResponse(This,dwResponseCode,szResponseHeaders,szRequestHeaders,pszAdditionalRequestHeaders);
2456}
2457/*** IHttpNegotiate2 methods ***/
2458static inline HRESULT IHttpNegotiate3_GetRootSecurityId(IHttpNegotiate3* This,BYTE *pbSecurityId,DWORD *pcbSecurityId,DWORD_PTR dwReserved) {
2459 return This->lpVtbl->GetRootSecurityId(This,pbSecurityId,pcbSecurityId,dwReserved);
2460}
2461/*** IHttpNegotiate3 methods ***/
2462static inline HRESULT IHttpNegotiate3_GetSerializedClientCertContext(IHttpNegotiate3* This,BYTE **ppbCert,DWORD *pcbCert) {
2463 return This->lpVtbl->GetSerializedClientCertContext(This,ppbCert,pcbCert);
2464}
2465#endif
2466#endif
2467
2468#endif
2469
2470
2471#endif /* __IHttpNegotiate3_INTERFACE_DEFINED__ */
2472
2473#endif
2474
2475#ifndef _LPWININETFILESTREAM_DEFINED
2476#define _LPWININETFILESTREAM_DEFINED
2477
2478/*****************************************************************************
2479 * IWinInetFileStream interface
2480 */
2481#ifndef __IWinInetFileStream_INTERFACE_DEFINED__
2482#define __IWinInetFileStream_INTERFACE_DEFINED__
2483
2484typedef IWinInetFileStream *LPWININETFILESTREAM;
2485
2486DEFINE_GUID(IID_IWinInetFileStream, 0xf134c4b7, 0xb1f8, 0x4e75, 0xb8,0x86, 0x74,0xb9,0x09,0x43,0xbe,0xcb);
2487#if defined(__cplusplus) && !defined(CINTERFACE)
2488MIDL_INTERFACE("f134c4b7-b1f8-4e75-b886-74b90943becb")
2489IWinInetFileStream : public IUnknown
2490{
2491 virtual HRESULT STDMETHODCALLTYPE SetHandleForUnlock(
2492 DWORD_PTR hWinInetLockHandle,
2493 DWORD_PTR dwReserved) = 0;
2494
2495 virtual HRESULT STDMETHODCALLTYPE SetDeleteFile(
2496 DWORD_PTR dwReserved) = 0;
2497
2498};
2499#ifdef __CRT_UUID_DECL
2500__CRT_UUID_DECL(IWinInetFileStream, 0xf134c4b7, 0xb1f8, 0x4e75, 0xb8,0x86, 0x74,0xb9,0x09,0x43,0xbe,0xcb)
2501#endif
2502#else
2503typedef struct IWinInetFileStreamVtbl {
2504 BEGIN_INTERFACE
2505
2506 /*** IUnknown methods ***/
2507 HRESULT (STDMETHODCALLTYPE *QueryInterface)(
2508 IWinInetFileStream *This,
2509 REFIID riid,
2510 void **ppvObject);
2511
2512 ULONG (STDMETHODCALLTYPE *AddRef)(
2513 IWinInetFileStream *This);
2514
2515 ULONG (STDMETHODCALLTYPE *Release)(
2516 IWinInetFileStream *This);
2517
2518 /*** IWinInetFileStream methods ***/
2519 HRESULT (STDMETHODCALLTYPE *SetHandleForUnlock)(
2520 IWinInetFileStream *This,
2521 DWORD_PTR hWinInetLockHandle,
2522 DWORD_PTR dwReserved);
2523
2524 HRESULT (STDMETHODCALLTYPE *SetDeleteFile)(
2525 IWinInetFileStream *This,
2526 DWORD_PTR dwReserved);
2527
2528 END_INTERFACE
2529} IWinInetFileStreamVtbl;
2530
2531interface IWinInetFileStream {
2532 CONST_VTBL IWinInetFileStreamVtbl* lpVtbl;
2533};
2534
2535#ifdef COBJMACROS
2536#ifndef WIDL_C_INLINE_WRAPPERS
2537/*** IUnknown methods ***/
2538#define IWinInetFileStream_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject)
2539#define IWinInetFileStream_AddRef(This) (This)->lpVtbl->AddRef(This)
2540#define IWinInetFileStream_Release(This) (This)->lpVtbl->Release(This)
2541/*** IWinInetFileStream methods ***/
2542#define IWinInetFileStream_SetHandleForUnlock(This,hWinInetLockHandle,dwReserved) (This)->lpVtbl->SetHandleForUnlock(This,hWinInetLockHandle,dwReserved)
2543#define IWinInetFileStream_SetDeleteFile(This,dwReserved) (This)->lpVtbl->SetDeleteFile(This,dwReserved)
2544#else
2545/*** IUnknown methods ***/
2546static inline HRESULT IWinInetFileStream_QueryInterface(IWinInetFileStream* This,REFIID riid,void **ppvObject) {
2547 return This->lpVtbl->QueryInterface(This,riid,ppvObject);
2548}
2549static inline ULONG IWinInetFileStream_AddRef(IWinInetFileStream* This) {
2550 return This->lpVtbl->AddRef(This);
2551}
2552static inline ULONG IWinInetFileStream_Release(IWinInetFileStream* This) {
2553 return This->lpVtbl->Release(This);
2554}
2555/*** IWinInetFileStream methods ***/
2556static inline HRESULT IWinInetFileStream_SetHandleForUnlock(IWinInetFileStream* This,DWORD_PTR hWinInetLockHandle,DWORD_PTR dwReserved) {
2557 return This->lpVtbl->SetHandleForUnlock(This,hWinInetLockHandle,dwReserved);
2558}
2559static inline HRESULT IWinInetFileStream_SetDeleteFile(IWinInetFileStream* This,DWORD_PTR dwReserved) {
2560 return This->lpVtbl->SetDeleteFile(This,dwReserved);
2561}
2562#endif
2563#endif
2564
2565#endif
2566
2567
2568#endif /* __IWinInetFileStream_INTERFACE_DEFINED__ */
2569
2570#endif
2571
2572#ifndef _LPWINDOWFORBINDINGUI_DEFINED
2573#define _LPWINDOWFORBINDINGUI_DEFINED
2574
2575/*****************************************************************************
2576 * IWindowForBindingUI interface
2577 */
2578#ifndef __IWindowForBindingUI_INTERFACE_DEFINED__
2579#define __IWindowForBindingUI_INTERFACE_DEFINED__
2580
2581typedef IWindowForBindingUI *LPWINDOWFORBINDINGUI;
2582
2583DEFINE_GUID(IID_IWindowForBindingUI, 0x79eac9d5, 0xbafa, 0x11ce, 0x8c,0x82, 0x00,0xaa,0x00,0x4b,0xa9,0x0b);
2584#if defined(__cplusplus) && !defined(CINTERFACE)
2585MIDL_INTERFACE("79eac9d5-bafa-11ce-8c82-00aa004ba90b")
2586IWindowForBindingUI : public IUnknown
2587{
2588 virtual HRESULT STDMETHODCALLTYPE GetWindow(
2589 REFGUID rguidReason,
2590 HWND *phwnd) = 0;
2591
2592};
2593#ifdef __CRT_UUID_DECL
2594__CRT_UUID_DECL(IWindowForBindingUI, 0x79eac9d5, 0xbafa, 0x11ce, 0x8c,0x82, 0x00,0xaa,0x00,0x4b,0xa9,0x0b)
2595#endif
2596#else
2597typedef struct IWindowForBindingUIVtbl {
2598 BEGIN_INTERFACE
2599
2600 /*** IUnknown methods ***/
2601 HRESULT (STDMETHODCALLTYPE *QueryInterface)(
2602 IWindowForBindingUI *This,
2603 REFIID riid,
2604 void **ppvObject);
2605
2606 ULONG (STDMETHODCALLTYPE *AddRef)(
2607 IWindowForBindingUI *This);
2608
2609 ULONG (STDMETHODCALLTYPE *Release)(
2610 IWindowForBindingUI *This);
2611
2612 /*** IWindowForBindingUI methods ***/
2613 HRESULT (STDMETHODCALLTYPE *GetWindow)(
2614 IWindowForBindingUI *This,
2615 REFGUID rguidReason,
2616 HWND *phwnd);
2617
2618 END_INTERFACE
2619} IWindowForBindingUIVtbl;
2620
2621interface IWindowForBindingUI {
2622 CONST_VTBL IWindowForBindingUIVtbl* lpVtbl;
2623};
2624
2625#ifdef COBJMACROS
2626#ifndef WIDL_C_INLINE_WRAPPERS
2627/*** IUnknown methods ***/
2628#define IWindowForBindingUI_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject)
2629#define IWindowForBindingUI_AddRef(This) (This)->lpVtbl->AddRef(This)
2630#define IWindowForBindingUI_Release(This) (This)->lpVtbl->Release(This)
2631/*** IWindowForBindingUI methods ***/
2632#define IWindowForBindingUI_GetWindow(This,rguidReason,phwnd) (This)->lpVtbl->GetWindow(This,rguidReason,phwnd)
2633#else
2634/*** IUnknown methods ***/
2635static inline HRESULT IWindowForBindingUI_QueryInterface(IWindowForBindingUI* This,REFIID riid,void **ppvObject) {
2636 return This->lpVtbl->QueryInterface(This,riid,ppvObject);
2637}
2638static inline ULONG IWindowForBindingUI_AddRef(IWindowForBindingUI* This) {
2639 return This->lpVtbl->AddRef(This);
2640}
2641static inline ULONG IWindowForBindingUI_Release(IWindowForBindingUI* This) {
2642 return This->lpVtbl->Release(This);
2643}
2644/*** IWindowForBindingUI methods ***/
2645static inline HRESULT IWindowForBindingUI_GetWindow(IWindowForBindingUI* This,REFGUID rguidReason,HWND *phwnd) {
2646 return This->lpVtbl->GetWindow(This,rguidReason,phwnd);
2647}
2648#endif
2649#endif
2650
2651#endif
2652
2653
2654#endif /* __IWindowForBindingUI_INTERFACE_DEFINED__ */
2655
2656#endif
2657
2658#ifndef _LPCODEINSTALL_DEFINED
2659#define _LPCODEINSTALL_DEFINED
2660
2661/*****************************************************************************
2662 * ICodeInstall interface
2663 */
2664#ifndef __ICodeInstall_INTERFACE_DEFINED__
2665#define __ICodeInstall_INTERFACE_DEFINED__
2666
2667typedef ICodeInstall *LPCODEINSTALL;
2668
2669typedef enum __WIDL_urlmon_generated_name_00000018 {
2670 CIP_DISK_FULL = 0,
2671 CIP_ACCESS_DENIED = 1,
2672 CIP_NEWER_VERSION_EXISTS = 2,
2673 CIP_OLDER_VERSION_EXISTS = 3,
2674 CIP_NAME_CONFLICT = 4,
2675 CIP_TRUST_VERIFICATION_COMPONENT_MISSING = 5,
2676 CIP_EXE_SELF_REGISTERATION_TIMEOUT = 6,
2677 CIP_UNSAFE_TO_ABORT = 7,
2678 CIP_NEED_REBOOT = 8,
2679 CIP_NEED_REBOOT_UI_PERMISSION = 9
2680} CIP_STATUS;
2681
2682DEFINE_GUID(IID_ICodeInstall, 0x79eac9d1, 0xbaf9, 0x11ce, 0x8c,0x82, 0x00,0xaa,0x00,0x4b,0xa9,0x0b);
2683#if defined(__cplusplus) && !defined(CINTERFACE)
2684MIDL_INTERFACE("79eac9d1-baf9-11ce-8c82-00aa004ba90b")
2685ICodeInstall : public IWindowForBindingUI
2686{
2687 virtual HRESULT STDMETHODCALLTYPE OnCodeInstallProblem(
2688 ULONG ulStatusCode,
2689 LPCWSTR szDestination,
2690 LPCWSTR szSource,
2691 DWORD dwReserved) = 0;
2692
2693};
2694#ifdef __CRT_UUID_DECL
2695__CRT_UUID_DECL(ICodeInstall, 0x79eac9d1, 0xbaf9, 0x11ce, 0x8c,0x82, 0x00,0xaa,0x00,0x4b,0xa9,0x0b)
2696#endif
2697#else
2698typedef struct ICodeInstallVtbl {
2699 BEGIN_INTERFACE
2700
2701 /*** IUnknown methods ***/
2702 HRESULT (STDMETHODCALLTYPE *QueryInterface)(
2703 ICodeInstall *This,
2704 REFIID riid,
2705 void **ppvObject);
2706
2707 ULONG (STDMETHODCALLTYPE *AddRef)(
2708 ICodeInstall *This);
2709
2710 ULONG (STDMETHODCALLTYPE *Release)(
2711 ICodeInstall *This);
2712
2713 /*** IWindowForBindingUI methods ***/
2714 HRESULT (STDMETHODCALLTYPE *GetWindow)(
2715 ICodeInstall *This,
2716 REFGUID rguidReason,
2717 HWND *phwnd);
2718
2719 /*** ICodeInstall methods ***/
2720 HRESULT (STDMETHODCALLTYPE *OnCodeInstallProblem)(
2721 ICodeInstall *This,
2722 ULONG ulStatusCode,
2723 LPCWSTR szDestination,
2724 LPCWSTR szSource,
2725 DWORD dwReserved);
2726
2727 END_INTERFACE
2728} ICodeInstallVtbl;
2729
2730interface ICodeInstall {
2731 CONST_VTBL ICodeInstallVtbl* lpVtbl;
2732};
2733
2734#ifdef COBJMACROS
2735#ifndef WIDL_C_INLINE_WRAPPERS
2736/*** IUnknown methods ***/
2737#define ICodeInstall_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject)
2738#define ICodeInstall_AddRef(This) (This)->lpVtbl->AddRef(This)
2739#define ICodeInstall_Release(This) (This)->lpVtbl->Release(This)
2740/*** IWindowForBindingUI methods ***/
2741#define ICodeInstall_GetWindow(This,rguidReason,phwnd) (This)->lpVtbl->GetWindow(This,rguidReason,phwnd)
2742/*** ICodeInstall methods ***/
2743#define ICodeInstall_OnCodeInstallProblem(This,ulStatusCode,szDestination,szSource,dwReserved) (This)->lpVtbl->OnCodeInstallProblem(This,ulStatusCode,szDestination,szSource,dwReserved)
2744#else
2745/*** IUnknown methods ***/
2746static inline HRESULT ICodeInstall_QueryInterface(ICodeInstall* This,REFIID riid,void **ppvObject) {
2747 return This->lpVtbl->QueryInterface(This,riid,ppvObject);
2748}
2749static inline ULONG ICodeInstall_AddRef(ICodeInstall* This) {
2750 return This->lpVtbl->AddRef(This);
2751}
2752static inline ULONG ICodeInstall_Release(ICodeInstall* This) {
2753 return This->lpVtbl->Release(This);
2754}
2755/*** IWindowForBindingUI methods ***/
2756static inline HRESULT ICodeInstall_GetWindow(ICodeInstall* This,REFGUID rguidReason,HWND *phwnd) {
2757 return This->lpVtbl->GetWindow(This,rguidReason,phwnd);
2758}
2759/*** ICodeInstall methods ***/
2760static inline HRESULT ICodeInstall_OnCodeInstallProblem(ICodeInstall* This,ULONG ulStatusCode,LPCWSTR szDestination,LPCWSTR szSource,DWORD dwReserved) {
2761 return This->lpVtbl->OnCodeInstallProblem(This,ulStatusCode,szDestination,szSource,dwReserved);
2762}
2763#endif
2764#endif
2765
2766#endif
2767
2768
2769#endif /* __ICodeInstall_INTERFACE_DEFINED__ */
2770
2771#endif
2772#endif
2773
2774#if (_WIN32_IE >= _WIN32_IE_IE70)
2775#ifndef _LPUri_DEFINED
2776#define _LPUri_DEFINED
2777#if WINAPI_FAMILY_PARTITION(WINAPI_PARTITION_APP)
2778/*****************************************************************************
2779 * IUri interface
2780 */
2781#ifndef __IUri_INTERFACE_DEFINED__
2782#define __IUri_INTERFACE_DEFINED__
2783
2784typedef enum __WIDL_urlmon_generated_name_00000019 {
2785 Uri_PROPERTY_ABSOLUTE_URI = 0,
2786 Uri_PROPERTY_STRING_START = Uri_PROPERTY_ABSOLUTE_URI,
2787 Uri_PROPERTY_AUTHORITY = 1,
2788 Uri_PROPERTY_DISPLAY_URI = 2,
2789 Uri_PROPERTY_DOMAIN = 3,
2790 Uri_PROPERTY_EXTENSION = 4,
2791 Uri_PROPERTY_FRAGMENT = 5,
2792 Uri_PROPERTY_HOST = 6,
2793 Uri_PROPERTY_PASSWORD = 7,
2794 Uri_PROPERTY_PATH = 8,
2795 Uri_PROPERTY_PATH_AND_QUERY = 9,
2796 Uri_PROPERTY_QUERY = 10,
2797 Uri_PROPERTY_RAW_URI = 11,
2798 Uri_PROPERTY_SCHEME_NAME = 12,
2799 Uri_PROPERTY_USER_INFO = 13,
2800 Uri_PROPERTY_USER_NAME = 14,
2801 Uri_PROPERTY_STRING_LAST = Uri_PROPERTY_USER_NAME,
2802 Uri_PROPERTY_HOST_TYPE = 15,
2803 Uri_PROPERTY_DWORD_START = Uri_PROPERTY_HOST_TYPE,
2804 Uri_PROPERTY_PORT = 16,
2805 Uri_PROPERTY_SCHEME = 17,
2806 Uri_PROPERTY_ZONE = 18,
2807 Uri_PROPERTY_DWORD_LAST = Uri_PROPERTY_ZONE
2808} Uri_PROPERTY;
2809
2810typedef enum __WIDL_urlmon_generated_name_0000001A {
2811 Uri_HOST_UNKNOWN = 0,
2812 Uri_HOST_DNS = 1,
2813 Uri_HOST_IPV4 = 2,
2814 Uri_HOST_IPV6 = 3,
2815 Uri_HOST_IDN = 4
2816} Uri_HOST_TYPE;
2817
2818DEFINE_GUID(IID_IUri, 0xa39ee748, 0x6a27, 0x4817, 0xa6,0xf2, 0x13,0x91,0x4b,0xef,0x58,0x90);
2819#if defined(__cplusplus) && !defined(CINTERFACE)
2820MIDL_INTERFACE("a39ee748-6a27-4817-a6f2-13914bef5890")
2821IUri : public IUnknown
2822{
2823 virtual HRESULT STDMETHODCALLTYPE GetPropertyBSTR(
2824 Uri_PROPERTY uriProp,
2825 BSTR *pbstrProperty,
2826 DWORD dwFlags) = 0;
2827
2828 virtual HRESULT STDMETHODCALLTYPE GetPropertyLength(
2829 Uri_PROPERTY uriProp,
2830 DWORD *pcchProperty,
2831 DWORD dwFlags) = 0;
2832
2833 virtual HRESULT STDMETHODCALLTYPE GetPropertyDWORD(
2834 Uri_PROPERTY uriProp,
2835 DWORD *pdwProperty,
2836 DWORD dwFlags) = 0;
2837
2838 virtual HRESULT STDMETHODCALLTYPE HasProperty(
2839 Uri_PROPERTY uriProp,
2840 WINBOOL *pfHasProperty) = 0;
2841
2842 virtual HRESULT STDMETHODCALLTYPE GetAbsoluteUri(
2843 BSTR *pbstrAbsoluteUri) = 0;
2844
2845 virtual HRESULT STDMETHODCALLTYPE GetAuthority(
2846 BSTR *pbstrAuthority) = 0;
2847
2848 virtual HRESULT STDMETHODCALLTYPE GetDisplayUri(
2849 BSTR *pbstrDisplayString) = 0;
2850
2851 virtual HRESULT STDMETHODCALLTYPE GetDomain(
2852 BSTR *pbstrDomain) = 0;
2853
2854 virtual HRESULT STDMETHODCALLTYPE GetExtension(
2855 BSTR *pbstrExtension) = 0;
2856
2857 virtual HRESULT STDMETHODCALLTYPE GetFragment(
2858 BSTR *pbstrFragment) = 0;
2859
2860 virtual HRESULT STDMETHODCALLTYPE GetHost(
2861 BSTR *pbstrHost) = 0;
2862
2863 virtual HRESULT STDMETHODCALLTYPE GetPassword(
2864 BSTR *pbstrPassword) = 0;
2865
2866 virtual HRESULT STDMETHODCALLTYPE GetPath(
2867 BSTR *pbstrPath) = 0;
2868
2869 virtual HRESULT STDMETHODCALLTYPE GetPathAndQuery(
2870 BSTR *pbstrPathAndQuery) = 0;
2871
2872 virtual HRESULT STDMETHODCALLTYPE GetQuery(
2873 BSTR *pbstrQuery) = 0;
2874
2875 virtual HRESULT STDMETHODCALLTYPE GetRawUri(
2876 BSTR *pbstrRawUri) = 0;
2877
2878 virtual HRESULT STDMETHODCALLTYPE GetSchemeName(
2879 BSTR *pbstrSchemeName) = 0;
2880
2881 virtual HRESULT STDMETHODCALLTYPE GetUserInfo(
2882 BSTR *pbstrUserInfo) = 0;
2883
2884 virtual HRESULT STDMETHODCALLTYPE GetUserName(
2885 BSTR *pbstrUserName) = 0;
2886
2887 virtual HRESULT STDMETHODCALLTYPE GetHostType(
2888 DWORD *pdwHostType) = 0;
2889
2890 virtual HRESULT STDMETHODCALLTYPE GetPort(
2891 DWORD *pdwPort) = 0;
2892
2893 virtual HRESULT STDMETHODCALLTYPE GetScheme(
2894 DWORD *pdwScheme) = 0;
2895
2896 virtual HRESULT STDMETHODCALLTYPE GetZone(
2897 DWORD *pdwZone) = 0;
2898
2899 virtual HRESULT STDMETHODCALLTYPE GetProperties(
2900 LPDWORD pdwFlags) = 0;
2901
2902 virtual HRESULT STDMETHODCALLTYPE IsEqual(
2903 IUri *pUri,
2904 WINBOOL *pfEqual) = 0;
2905
2906};
2907#ifdef __CRT_UUID_DECL
2908__CRT_UUID_DECL(IUri, 0xa39ee748, 0x6a27, 0x4817, 0xa6,0xf2, 0x13,0x91,0x4b,0xef,0x58,0x90)
2909#endif
2910#else
2911typedef struct IUriVtbl {
2912 BEGIN_INTERFACE
2913
2914 /*** IUnknown methods ***/
2915 HRESULT (STDMETHODCALLTYPE *QueryInterface)(
2916 IUri *This,
2917 REFIID riid,
2918 void **ppvObject);
2919
2920 ULONG (STDMETHODCALLTYPE *AddRef)(
2921 IUri *This);
2922
2923 ULONG (STDMETHODCALLTYPE *Release)(
2924 IUri *This);
2925
2926 /*** IUri methods ***/
2927 HRESULT (STDMETHODCALLTYPE *GetPropertyBSTR)(
2928 IUri *This,
2929 Uri_PROPERTY uriProp,
2930 BSTR *pbstrProperty,
2931 DWORD dwFlags);
2932
2933 HRESULT (STDMETHODCALLTYPE *GetPropertyLength)(
2934 IUri *This,
2935 Uri_PROPERTY uriProp,
2936 DWORD *pcchProperty,
2937 DWORD dwFlags);
2938
2939 HRESULT (STDMETHODCALLTYPE *GetPropertyDWORD)(
2940 IUri *This,
2941 Uri_PROPERTY uriProp,
2942 DWORD *pdwProperty,
2943 DWORD dwFlags);
2944
2945 HRESULT (STDMETHODCALLTYPE *HasProperty)(
2946 IUri *This,
2947 Uri_PROPERTY uriProp,
2948 WINBOOL *pfHasProperty);
2949
2950 HRESULT (STDMETHODCALLTYPE *GetAbsoluteUri)(
2951 IUri *This,
2952 BSTR *pbstrAbsoluteUri);
2953
2954 HRESULT (STDMETHODCALLTYPE *GetAuthority)(
2955 IUri *This,
2956 BSTR *pbstrAuthority);
2957
2958 HRESULT (STDMETHODCALLTYPE *GetDisplayUri)(
2959 IUri *This,
2960 BSTR *pbstrDisplayString);
2961
2962 HRESULT (STDMETHODCALLTYPE *GetDomain)(
2963 IUri *This,
2964 BSTR *pbstrDomain);
2965
2966 HRESULT (STDMETHODCALLTYPE *GetExtension)(
2967 IUri *This,
2968 BSTR *pbstrExtension);
2969
2970 HRESULT (STDMETHODCALLTYPE *GetFragment)(
2971 IUri *This,
2972 BSTR *pbstrFragment);
2973
2974 HRESULT (STDMETHODCALLTYPE *GetHost)(
2975 IUri *This,
2976 BSTR *pbstrHost);
2977
2978 HRESULT (STDMETHODCALLTYPE *GetPassword)(
2979 IUri *This,
2980 BSTR *pbstrPassword);
2981
2982 HRESULT (STDMETHODCALLTYPE *GetPath)(
2983 IUri *This,
2984 BSTR *pbstrPath);
2985
2986 HRESULT (STDMETHODCALLTYPE *GetPathAndQuery)(
2987 IUri *This,
2988 BSTR *pbstrPathAndQuery);
2989
2990 HRESULT (STDMETHODCALLTYPE *GetQuery)(
2991 IUri *This,
2992 BSTR *pbstrQuery);
2993
2994 HRESULT (STDMETHODCALLTYPE *GetRawUri)(
2995 IUri *This,
2996 BSTR *pbstrRawUri);
2997
2998 HRESULT (STDMETHODCALLTYPE *GetSchemeName)(
2999 IUri *This,
3000 BSTR *pbstrSchemeName);
3001
3002 HRESULT (STDMETHODCALLTYPE *GetUserInfo)(
3003 IUri *This,
3004 BSTR *pbstrUserInfo);
3005
3006 HRESULT (STDMETHODCALLTYPE *GetUserName)(
3007 IUri *This,
3008 BSTR *pbstrUserName);
3009
3010 HRESULT (STDMETHODCALLTYPE *GetHostType)(
3011 IUri *This,
3012 DWORD *pdwHostType);
3013
3014 HRESULT (STDMETHODCALLTYPE *GetPort)(
3015 IUri *This,
3016 DWORD *pdwPort);
3017
3018 HRESULT (STDMETHODCALLTYPE *GetScheme)(
3019 IUri *This,
3020 DWORD *pdwScheme);
3021
3022 HRESULT (STDMETHODCALLTYPE *GetZone)(
3023 IUri *This,
3024 DWORD *pdwZone);
3025
3026 HRESULT (STDMETHODCALLTYPE *GetProperties)(
3027 IUri *This,
3028 LPDWORD pdwFlags);
3029
3030 HRESULT (STDMETHODCALLTYPE *IsEqual)(
3031 IUri *This,
3032 IUri *pUri,
3033 WINBOOL *pfEqual);
3034
3035 END_INTERFACE
3036} IUriVtbl;
3037
3038interface IUri {
3039 CONST_VTBL IUriVtbl* lpVtbl;
3040};
3041
3042#ifdef COBJMACROS
3043#ifndef WIDL_C_INLINE_WRAPPERS
3044/*** IUnknown methods ***/
3045#define IUri_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject)
3046#define IUri_AddRef(This) (This)->lpVtbl->AddRef(This)
3047#define IUri_Release(This) (This)->lpVtbl->Release(This)
3048/*** IUri methods ***/
3049#define IUri_GetPropertyBSTR(This,uriProp,pbstrProperty,dwFlags) (This)->lpVtbl->GetPropertyBSTR(This,uriProp,pbstrProperty,dwFlags)
3050#define IUri_GetPropertyLength(This,uriProp,pcchProperty,dwFlags) (This)->lpVtbl->GetPropertyLength(This,uriProp,pcchProperty,dwFlags)
3051#define IUri_GetPropertyDWORD(This,uriProp,pdwProperty,dwFlags) (This)->lpVtbl->GetPropertyDWORD(This,uriProp,pdwProperty,dwFlags)
3052#define IUri_HasProperty(This,uriProp,pfHasProperty) (This)->lpVtbl->HasProperty(This,uriProp,pfHasProperty)
3053#define IUri_GetAbsoluteUri(This,pbstrAbsoluteUri) (This)->lpVtbl->GetAbsoluteUri(This,pbstrAbsoluteUri)
3054#define IUri_GetAuthority(This,pbstrAuthority) (This)->lpVtbl->GetAuthority(This,pbstrAuthority)
3055#define IUri_GetDisplayUri(This,pbstrDisplayString) (This)->lpVtbl->GetDisplayUri(This,pbstrDisplayString)
3056#define IUri_GetDomain(This,pbstrDomain) (This)->lpVtbl->GetDomain(This,pbstrDomain)
3057#define IUri_GetExtension(This,pbstrExtension) (This)->lpVtbl->GetExtension(This,pbstrExtension)
3058#define IUri_GetFragment(This,pbstrFragment) (This)->lpVtbl->GetFragment(This,pbstrFragment)
3059#define IUri_GetHost(This,pbstrHost) (This)->lpVtbl->GetHost(This,pbstrHost)
3060#define IUri_GetPassword(This,pbstrPassword) (This)->lpVtbl->GetPassword(This,pbstrPassword)
3061#define IUri_GetPath(This,pbstrPath) (This)->lpVtbl->GetPath(This,pbstrPath)
3062#define IUri_GetPathAndQuery(This,pbstrPathAndQuery) (This)->lpVtbl->GetPathAndQuery(This,pbstrPathAndQuery)
3063#define IUri_GetQuery(This,pbstrQuery) (This)->lpVtbl->GetQuery(This,pbstrQuery)
3064#define IUri_GetRawUri(This,pbstrRawUri) (This)->lpVtbl->GetRawUri(This,pbstrRawUri)
3065#define IUri_GetSchemeName(This,pbstrSchemeName) (This)->lpVtbl->GetSchemeName(This,pbstrSchemeName)
3066#define IUri_GetUserInfo(This,pbstrUserInfo) (This)->lpVtbl->GetUserInfo(This,pbstrUserInfo)
3067#define IUri_GetUserName(This,pbstrUserName) (This)->lpVtbl->GetUserName(This,pbstrUserName)
3068#define IUri_GetHostType(This,pdwHostType) (This)->lpVtbl->GetHostType(This,pdwHostType)
3069#define IUri_GetPort(This,pdwPort) (This)->lpVtbl->GetPort(This,pdwPort)
3070#define IUri_GetScheme(This,pdwScheme) (This)->lpVtbl->GetScheme(This,pdwScheme)
3071#define IUri_GetZone(This,pdwZone) (This)->lpVtbl->GetZone(This,pdwZone)
3072#define IUri_GetProperties(This,pdwFlags) (This)->lpVtbl->GetProperties(This,pdwFlags)
3073#define IUri_IsEqual(This,pUri,pfEqual) (This)->lpVtbl->IsEqual(This,pUri,pfEqual)
3074#else
3075/*** IUnknown methods ***/
3076static inline HRESULT IUri_QueryInterface(IUri* This,REFIID riid,void **ppvObject) {
3077 return This->lpVtbl->QueryInterface(This,riid,ppvObject);
3078}
3079static inline ULONG IUri_AddRef(IUri* This) {
3080 return This->lpVtbl->AddRef(This);
3081}
3082static inline ULONG IUri_Release(IUri* This) {
3083 return This->lpVtbl->Release(This);
3084}
3085/*** IUri methods ***/
3086static inline HRESULT IUri_GetPropertyBSTR(IUri* This,Uri_PROPERTY uriProp,BSTR *pbstrProperty,DWORD dwFlags) {
3087 return This->lpVtbl->GetPropertyBSTR(This,uriProp,pbstrProperty,dwFlags);
3088}
3089static inline HRESULT IUri_GetPropertyLength(IUri* This,Uri_PROPERTY uriProp,DWORD *pcchProperty,DWORD dwFlags) {
3090 return This->lpVtbl->GetPropertyLength(This,uriProp,pcchProperty,dwFlags);
3091}
3092static inline HRESULT IUri_GetPropertyDWORD(IUri* This,Uri_PROPERTY uriProp,DWORD *pdwProperty,DWORD dwFlags) {
3093 return This->lpVtbl->GetPropertyDWORD(This,uriProp,pdwProperty,dwFlags);
3094}
3095static inline HRESULT IUri_HasProperty(IUri* This,Uri_PROPERTY uriProp,WINBOOL *pfHasProperty) {
3096 return This->lpVtbl->HasProperty(This,uriProp,pfHasProperty);
3097}
3098static inline HRESULT IUri_GetAbsoluteUri(IUri* This,BSTR *pbstrAbsoluteUri) {
3099 return This->lpVtbl->GetAbsoluteUri(This,pbstrAbsoluteUri);
3100}
3101static inline HRESULT IUri_GetAuthority(IUri* This,BSTR *pbstrAuthority) {
3102 return This->lpVtbl->GetAuthority(This,pbstrAuthority);
3103}
3104static inline HRESULT IUri_GetDisplayUri(IUri* This,BSTR *pbstrDisplayString) {
3105 return This->lpVtbl->GetDisplayUri(This,pbstrDisplayString);
3106}
3107static inline HRESULT IUri_GetDomain(IUri* This,BSTR *pbstrDomain) {
3108 return This->lpVtbl->GetDomain(This,pbstrDomain);
3109}
3110static inline HRESULT IUri_GetExtension(IUri* This,BSTR *pbstrExtension) {
3111 return This->lpVtbl->GetExtension(This,pbstrExtension);
3112}
3113static inline HRESULT IUri_GetFragment(IUri* This,BSTR *pbstrFragment) {
3114 return This->lpVtbl->GetFragment(This,pbstrFragment);
3115}
3116static inline HRESULT IUri_GetHost(IUri* This,BSTR *pbstrHost) {
3117 return This->lpVtbl->GetHost(This,pbstrHost);
3118}
3119static inline HRESULT IUri_GetPassword(IUri* This,BSTR *pbstrPassword) {
3120 return This->lpVtbl->GetPassword(This,pbstrPassword);
3121}
3122static inline HRESULT IUri_GetPath(IUri* This,BSTR *pbstrPath) {
3123 return This->lpVtbl->GetPath(This,pbstrPath);
3124}
3125static inline HRESULT IUri_GetPathAndQuery(IUri* This,BSTR *pbstrPathAndQuery) {
3126 return This->lpVtbl->GetPathAndQuery(This,pbstrPathAndQuery);
3127}
3128static inline HRESULT IUri_GetQuery(IUri* This,BSTR *pbstrQuery) {
3129 return This->lpVtbl->GetQuery(This,pbstrQuery);
3130}
3131static inline HRESULT IUri_GetRawUri(IUri* This,BSTR *pbstrRawUri) {
3132 return This->lpVtbl->GetRawUri(This,pbstrRawUri);
3133}
3134static inline HRESULT IUri_GetSchemeName(IUri* This,BSTR *pbstrSchemeName) {
3135 return This->lpVtbl->GetSchemeName(This,pbstrSchemeName);
3136}
3137static inline HRESULT IUri_GetUserInfo(IUri* This,BSTR *pbstrUserInfo) {
3138 return This->lpVtbl->GetUserInfo(This,pbstrUserInfo);
3139}
3140static inline HRESULT IUri_GetUserName(IUri* This,BSTR *pbstrUserName) {
3141 return This->lpVtbl->GetUserName(This,pbstrUserName);
3142}
3143static inline HRESULT IUri_GetHostType(IUri* This,DWORD *pdwHostType) {
3144 return This->lpVtbl->GetHostType(This,pdwHostType);
3145}
3146static inline HRESULT IUri_GetPort(IUri* This,DWORD *pdwPort) {
3147 return This->lpVtbl->GetPort(This,pdwPort);
3148}
3149static inline HRESULT IUri_GetScheme(IUri* This,DWORD *pdwScheme) {
3150 return This->lpVtbl->GetScheme(This,pdwScheme);
3151}
3152static inline HRESULT IUri_GetZone(IUri* This,DWORD *pdwZone) {
3153 return This->lpVtbl->GetZone(This,pdwZone);
3154}
3155static inline HRESULT IUri_GetProperties(IUri* This,LPDWORD pdwFlags) {
3156 return This->lpVtbl->GetProperties(This,pdwFlags);
3157}
3158static inline HRESULT IUri_IsEqual(IUri* This,IUri *pUri,WINBOOL *pfEqual) {
3159 return This->lpVtbl->IsEqual(This,pUri,pfEqual);
3160}
3161#endif
3162#endif
3163
3164#endif
3165
3166
3167#endif /* __IUri_INTERFACE_DEFINED__ */
3168
3169
3170STDAPI CreateUri(LPCWSTR pwzURI, DWORD dwFlags, DWORD_PTR dwReserved, IUri **ppURI);
3171STDAPI CreateUriWithFragment(
3172LPCWSTR pwzURI, LPCWSTR pwzFragment, DWORD dwFlags, DWORD_PTR dwReserved, IUri **ppURI);
3173#endif
3174#if WINAPI_FAMILY_PARTITION(WINAPI_PARTITION_DESKTOP)
3175STDAPI CreateUriFromMultiByteString(LPCSTR pszANSIInputUri, DWORD dwEncodingFlags, DWORD dwCodePage, DWORD dwCreateFlags, DWORD_PTR dwReserved, IUri **ppUri);
3176#endif
3177
3178#if WINAPI_FAMILY_PARTITION(WINAPI_PARTITION_APP)
3179#define Uri_HAS_ABSOLUTE_URI (1 << Uri_PROPERTY_ABSOLUTE_URI)
3180#define Uri_HAS_AUTHORITY (1 << Uri_PROPERTY_AUTHORITY)
3181#define Uri_HAS_DISPLAY_URI (1 << Uri_PROPERTY_DISPLAY_URI)
3182#define Uri_HAS_DOMAIN (1 << Uri_PROPERTY_DOMAIN)
3183#define Uri_HAS_EXTENSION (1 << Uri_PROPERTY_EXTENSION)
3184#define Uri_HAS_FRAGMENT (1 << Uri_PROPERTY_FRAGMENT)
3185#define Uri_HAS_HOST (1 << Uri_PROPERTY_HOST)
3186#define Uri_HAS_PASSWORD (1 << Uri_PROPERTY_PASSWORD)
3187#define Uri_HAS_PATH (1 << Uri_PROPERTY_PATH)
3188#define Uri_HAS_QUERY (1 << Uri_PROPERTY_QUERY)
3189#define Uri_HAS_RAW_URI (1 << Uri_PROPERTY_RAW_URI)
3190#define Uri_HAS_SCHEME_NAME (1 << Uri_PROPERTY_SCHEME_NAME)
3191#define Uri_HAS_USER_NAME (1 << Uri_PROPERTY_USER_NAME)
3192#define Uri_HAS_PATH_AND_QUERY (1 << Uri_PROPERTY_PATH_AND_QUERY)
3193#define Uri_HAS_USER_INFO (1 << Uri_PROPERTY_USER_INFO)
3194#define Uri_HAS_HOST_TYPE (1 << Uri_PROPERTY_HOST_TYPE)
3195#define Uri_HAS_PORT (1 << Uri_PROPERTY_PORT)
3196#define Uri_HAS_SCHEME (1 << Uri_PROPERTY_SCHEME)
3197#define Uri_HAS_ZONE (1 << Uri_PROPERTY_ZONE)
3198
3199#define Uri_CREATE_ALLOW_RELATIVE 0x1
3200#define Uri_CREATE_ALLOW_IMPLICIT_WILDCARD_SCHEME 0x2
3201#define Uri_CREATE_ALLOW_IMPLICIT_FILE_SCHEME 0x4
3202#define Uri_CREATE_NOFRAG 0x8
3203#define Uri_CREATE_NO_CANONICALIZE 0x10
3204#define Uri_CREATE_CANONICALIZE 0x100
3205#define Uri_CREATE_FILE_USE_DOS_PATH 0x20
3206#define Uri_CREATE_DECODE_EXTRA_INFO 0x40
3207#define Uri_CREATE_NO_DECODE_EXTRA_INFO 0x80
3208#define Uri_CREATE_CRACK_UNKNOWN_SCHEMES 0x200
3209#define Uri_CREATE_NO_CRACK_UNKNOWN_SCHEMES 0x400
3210#define Uri_CREATE_PRE_PROCESS_HTML_URI 0x800
3211#define Uri_CREATE_NO_PRE_PROCESS_HTML_URI 0x1000
3212#define Uri_CREATE_IE_SETTINGS 0x2000
3213#define Uri_CREATE_NO_IE_SETTINGS 0x4000
3214#define Uri_CREATE_NO_ENCODE_FORBIDDEN_CHARACTERS 0x8000
3215#define Uri_CREATE_NORMALIZE_INTL_CHARACTERS 0x10000
3216#define Uri_CREATE_CANONICALIZE_ABSOLUTE 0x20000
3217
3218#define Uri_DISPLAY_NO_FRAGMENT 0x1
3219#define Uri_PUNYCODE_IDN_HOST 0x2
3220#define Uri_DISPLAY_IDN_HOST 0x4
3221#define Uri_DISPLAY_NO_PUNYCODE 0x8
3222
3223#define Uri_ENCODING_USER_INFO_AND_PATH_IS_PERCENT_ENCODED_UTF8 0x1
3224#define Uri_ENCODING_USER_INFO_AND_PATH_IS_CP 0x2
3225#define Uri_ENCODING_HOST_IS_IDN 0x4
3226#define Uri_ENCODING_HOST_IS_PERCENT_ENCODED_UTF8 0x8
3227#define Uri_ENCODING_HOST_IS_PERCENT_ENCODED_CP 0x10
3228#define Uri_ENCODING_QUERY_AND_FRAGMENT_IS_PERCENT_ENCODED_UTF8 0x20
3229#define Uri_ENCODING_QUERY_AND_FRAGMENT_IS_CP 0x40
3230
3231#define Uri_ENCODING_RFC (Uri_ENCODING_USER_INFO_AND_PATH_IS_PERCENT_ENCODED_UTF8 | Uri_ENCODING_HOST_IS_PERCENT_ENCODED_UTF8 | Uri_ENCODING_QUERY_AND_FRAGMENT_IS_PERCENT_ENCODED_UTF8)
3232
3233#define UriBuilder_USE_ORIGINAL_FLAGS 0x1
3234#endif
3235#endif
3236
3237#if WINAPI_FAMILY_PARTITION(WINAPI_PARTITION_DESKTOP)
3238/*****************************************************************************
3239 * IUriContainer interface
3240 */
3241#ifndef __IUriContainer_INTERFACE_DEFINED__
3242#define __IUriContainer_INTERFACE_DEFINED__
3243
3244DEFINE_GUID(IID_IUriContainer, 0xa158a630, 0xed6f, 0x45fb, 0xb9,0x87, 0xf6,0x86,0x76,0xf5,0x77,0x52);
3245#if defined(__cplusplus) && !defined(CINTERFACE)
3246MIDL_INTERFACE("a158a630-ed6f-45fb-b987-f68676f57752")
3247IUriContainer : public IUnknown
3248{
3249 virtual HRESULT STDMETHODCALLTYPE GetIUri(
3250 IUri **ppIUri) = 0;
3251
3252};
3253#ifdef __CRT_UUID_DECL
3254__CRT_UUID_DECL(IUriContainer, 0xa158a630, 0xed6f, 0x45fb, 0xb9,0x87, 0xf6,0x86,0x76,0xf5,0x77,0x52)
3255#endif
3256#else
3257typedef struct IUriContainerVtbl {
3258 BEGIN_INTERFACE
3259
3260 /*** IUnknown methods ***/
3261 HRESULT (STDMETHODCALLTYPE *QueryInterface)(
3262 IUriContainer *This,
3263 REFIID riid,
3264 void **ppvObject);
3265
3266 ULONG (STDMETHODCALLTYPE *AddRef)(
3267 IUriContainer *This);
3268
3269 ULONG (STDMETHODCALLTYPE *Release)(
3270 IUriContainer *This);
3271
3272 /*** IUriContainer methods ***/
3273 HRESULT (STDMETHODCALLTYPE *GetIUri)(
3274 IUriContainer *This,
3275 IUri **ppIUri);
3276
3277 END_INTERFACE
3278} IUriContainerVtbl;
3279
3280interface IUriContainer {
3281 CONST_VTBL IUriContainerVtbl* lpVtbl;
3282};
3283
3284#ifdef COBJMACROS
3285#ifndef WIDL_C_INLINE_WRAPPERS
3286/*** IUnknown methods ***/
3287#define IUriContainer_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject)
3288#define IUriContainer_AddRef(This) (This)->lpVtbl->AddRef(This)
3289#define IUriContainer_Release(This) (This)->lpVtbl->Release(This)
3290/*** IUriContainer methods ***/
3291#define IUriContainer_GetIUri(This,ppIUri) (This)->lpVtbl->GetIUri(This,ppIUri)
3292#else
3293/*** IUnknown methods ***/
3294static inline HRESULT IUriContainer_QueryInterface(IUriContainer* This,REFIID riid,void **ppvObject) {
3295 return This->lpVtbl->QueryInterface(This,riid,ppvObject);
3296}
3297static inline ULONG IUriContainer_AddRef(IUriContainer* This) {
3298 return This->lpVtbl->AddRef(This);
3299}
3300static inline ULONG IUriContainer_Release(IUriContainer* This) {
3301 return This->lpVtbl->Release(This);
3302}
3303/*** IUriContainer methods ***/
3304static inline HRESULT IUriContainer_GetIUri(IUriContainer* This,IUri **ppIUri) {
3305 return This->lpVtbl->GetIUri(This,ppIUri);
3306}
3307#endif
3308#endif
3309
3310#endif
3311
3312
3313#endif /* __IUriContainer_INTERFACE_DEFINED__ */
3314
3315
3316/*****************************************************************************
3317 * IUriBuilder interface
3318 */
3319#ifndef __IUriBuilder_INTERFACE_DEFINED__
3320#define __IUriBuilder_INTERFACE_DEFINED__
3321
3322DEFINE_GUID(IID_IUriBuilder, 0x4221b2e1, 0x8955, 0x46c0, 0xbd,0x5b, 0xde,0x98,0x97,0x56,0x5d,0xe7);
3323#if defined(__cplusplus) && !defined(CINTERFACE)
3324MIDL_INTERFACE("4221b2e1-8955-46c0-bd5b-de9897565de7")
3325IUriBuilder : public IUnknown
3326{
3327 virtual HRESULT STDMETHODCALLTYPE CreateUriSimple(
3328 DWORD dwAllowEncodingPropertyMask,
3329 DWORD_PTR dwReserved,
3330 IUri **ppIUri) = 0;
3331
3332 virtual HRESULT STDMETHODCALLTYPE CreateUri(
3333 DWORD dwCreateFlags,
3334 DWORD dwAllowEncodingPropertyMask,
3335 DWORD_PTR dwReserved,
3336 IUri **ppIUri) = 0;
3337
3338 virtual HRESULT STDMETHODCALLTYPE CreateUriWithFlags(
3339 DWORD dwCreateFlags,
3340 DWORD dwUriBuilderFlags,
3341 DWORD dwAllowEncodingPropertyMask,
3342 DWORD_PTR dwReserved,
3343 IUri **ppIUri) = 0;
3344
3345 virtual HRESULT STDMETHODCALLTYPE GetIUri(
3346 IUri **ppIUri) = 0;
3347
3348 virtual HRESULT STDMETHODCALLTYPE SetIUri(
3349 IUri *pIUri) = 0;
3350
3351 virtual HRESULT STDMETHODCALLTYPE GetFragment(
3352 DWORD *pcchFragment,
3353 LPCWSTR *ppwzFragment) = 0;
3354
3355 virtual HRESULT STDMETHODCALLTYPE GetHost(
3356 DWORD *pcchHost,
3357 LPCWSTR *ppwzHost) = 0;
3358
3359 virtual HRESULT STDMETHODCALLTYPE GetPassword(
3360 DWORD *pcchPassword,
3361 LPCWSTR *ppwzPassword) = 0;
3362
3363 virtual HRESULT STDMETHODCALLTYPE GetPath(
3364 DWORD *pcchPath,
3365 LPCWSTR *ppwzPath) = 0;
3366
3367 virtual HRESULT STDMETHODCALLTYPE GetPort(
3368 WINBOOL *pfHasPort,
3369 DWORD *pdwPort) = 0;
3370
3371 virtual HRESULT STDMETHODCALLTYPE GetQuery(
3372 DWORD *pcchQuery,
3373 LPCWSTR *ppwzQuery) = 0;
3374
3375 virtual HRESULT STDMETHODCALLTYPE GetSchemeName(
3376 DWORD *pcchSchemeName,
3377 LPCWSTR *ppwzSchemeName) = 0;
3378
3379 virtual HRESULT STDMETHODCALLTYPE GetUserName(
3380 DWORD *pcchUserName,
3381 LPCWSTR *ppwzUserName) = 0;
3382
3383 virtual HRESULT STDMETHODCALLTYPE SetFragment(
3384 LPCWSTR pwzNewValue) = 0;
3385
3386 virtual HRESULT STDMETHODCALLTYPE SetHost(
3387 LPCWSTR pwzNewValue) = 0;
3388
3389 virtual HRESULT STDMETHODCALLTYPE SetPassword(
3390 LPCWSTR pwzNewValue) = 0;
3391
3392 virtual HRESULT STDMETHODCALLTYPE SetPath(
3393 LPCWSTR pwzNewValue) = 0;
3394
3395 virtual HRESULT STDMETHODCALLTYPE SetPort(
3396 WINBOOL fHasPort,
3397 DWORD dwNewValue) = 0;
3398
3399 virtual HRESULT STDMETHODCALLTYPE SetQuery(
3400 LPCWSTR pwzNewValue) = 0;
3401
3402 virtual HRESULT STDMETHODCALLTYPE SetSchemeName(
3403 LPCWSTR pwzNewValue) = 0;
3404
3405 virtual HRESULT STDMETHODCALLTYPE SetUserName(
3406 LPCWSTR pwzNewValue) = 0;
3407
3408 virtual HRESULT STDMETHODCALLTYPE RemoveProperties(
3409 DWORD dwPropertyMask) = 0;
3410
3411 virtual HRESULT STDMETHODCALLTYPE HasBeenModified(
3412 WINBOOL *pfModified) = 0;
3413
3414};
3415#ifdef __CRT_UUID_DECL
3416__CRT_UUID_DECL(IUriBuilder, 0x4221b2e1, 0x8955, 0x46c0, 0xbd,0x5b, 0xde,0x98,0x97,0x56,0x5d,0xe7)
3417#endif
3418#else
3419typedef struct IUriBuilderVtbl {
3420 BEGIN_INTERFACE
3421
3422 /*** IUnknown methods ***/
3423 HRESULT (STDMETHODCALLTYPE *QueryInterface)(
3424 IUriBuilder *This,
3425 REFIID riid,
3426 void **ppvObject);
3427
3428 ULONG (STDMETHODCALLTYPE *AddRef)(
3429 IUriBuilder *This);
3430
3431 ULONG (STDMETHODCALLTYPE *Release)(
3432 IUriBuilder *This);
3433
3434 /*** IUriBuilder methods ***/
3435 HRESULT (STDMETHODCALLTYPE *CreateUriSimple)(
3436 IUriBuilder *This,
3437 DWORD dwAllowEncodingPropertyMask,
3438 DWORD_PTR dwReserved,
3439 IUri **ppIUri);
3440
3441 HRESULT (STDMETHODCALLTYPE *CreateUri)(
3442 IUriBuilder *This,
3443 DWORD dwCreateFlags,
3444 DWORD dwAllowEncodingPropertyMask,
3445 DWORD_PTR dwReserved,
3446 IUri **ppIUri);
3447
3448 HRESULT (STDMETHODCALLTYPE *CreateUriWithFlags)(
3449 IUriBuilder *This,
3450 DWORD dwCreateFlags,
3451 DWORD dwUriBuilderFlags,
3452 DWORD dwAllowEncodingPropertyMask,
3453 DWORD_PTR dwReserved,
3454 IUri **ppIUri);
3455
3456 HRESULT (STDMETHODCALLTYPE *GetIUri)(
3457 IUriBuilder *This,
3458 IUri **ppIUri);
3459
3460 HRESULT (STDMETHODCALLTYPE *SetIUri)(
3461 IUriBuilder *This,
3462 IUri *pIUri);
3463
3464 HRESULT (STDMETHODCALLTYPE *GetFragment)(
3465 IUriBuilder *This,
3466 DWORD *pcchFragment,
3467 LPCWSTR *ppwzFragment);
3468
3469 HRESULT (STDMETHODCALLTYPE *GetHost)(
3470 IUriBuilder *This,
3471 DWORD *pcchHost,
3472 LPCWSTR *ppwzHost);
3473
3474 HRESULT (STDMETHODCALLTYPE *GetPassword)(
3475 IUriBuilder *This,
3476 DWORD *pcchPassword,
3477 LPCWSTR *ppwzPassword);
3478
3479 HRESULT (STDMETHODCALLTYPE *GetPath)(
3480 IUriBuilder *This,
3481 DWORD *pcchPath,
3482 LPCWSTR *ppwzPath);
3483
3484 HRESULT (STDMETHODCALLTYPE *GetPort)(
3485 IUriBuilder *This,
3486 WINBOOL *pfHasPort,
3487 DWORD *pdwPort);
3488
3489 HRESULT (STDMETHODCALLTYPE *GetQuery)(
3490 IUriBuilder *This,
3491 DWORD *pcchQuery,
3492 LPCWSTR *ppwzQuery);
3493
3494 HRESULT (STDMETHODCALLTYPE *GetSchemeName)(
3495 IUriBuilder *This,
3496 DWORD *pcchSchemeName,
3497 LPCWSTR *ppwzSchemeName);
3498
3499 HRESULT (STDMETHODCALLTYPE *GetUserName)(
3500 IUriBuilder *This,
3501 DWORD *pcchUserName,
3502 LPCWSTR *ppwzUserName);
3503
3504 HRESULT (STDMETHODCALLTYPE *SetFragment)(
3505 IUriBuilder *This,
3506 LPCWSTR pwzNewValue);
3507
3508 HRESULT (STDMETHODCALLTYPE *SetHost)(
3509 IUriBuilder *This,
3510 LPCWSTR pwzNewValue);
3511
3512 HRESULT (STDMETHODCALLTYPE *SetPassword)(
3513 IUriBuilder *This,
3514 LPCWSTR pwzNewValue);
3515
3516 HRESULT (STDMETHODCALLTYPE *SetPath)(
3517 IUriBuilder *This,
3518 LPCWSTR pwzNewValue);
3519
3520 HRESULT (STDMETHODCALLTYPE *SetPort)(
3521 IUriBuilder *This,
3522 WINBOOL fHasPort,
3523 DWORD dwNewValue);
3524
3525 HRESULT (STDMETHODCALLTYPE *SetQuery)(
3526 IUriBuilder *This,
3527 LPCWSTR pwzNewValue);
3528
3529 HRESULT (STDMETHODCALLTYPE *SetSchemeName)(
3530 IUriBuilder *This,
3531 LPCWSTR pwzNewValue);
3532
3533 HRESULT (STDMETHODCALLTYPE *SetUserName)(
3534 IUriBuilder *This,
3535 LPCWSTR pwzNewValue);
3536
3537 HRESULT (STDMETHODCALLTYPE *RemoveProperties)(
3538 IUriBuilder *This,
3539 DWORD dwPropertyMask);
3540
3541 HRESULT (STDMETHODCALLTYPE *HasBeenModified)(
3542 IUriBuilder *This,
3543 WINBOOL *pfModified);
3544
3545 END_INTERFACE
3546} IUriBuilderVtbl;
3547
3548interface IUriBuilder {
3549 CONST_VTBL IUriBuilderVtbl* lpVtbl;
3550};
3551
3552#ifdef COBJMACROS
3553#ifndef WIDL_C_INLINE_WRAPPERS
3554/*** IUnknown methods ***/
3555#define IUriBuilder_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject)
3556#define IUriBuilder_AddRef(This) (This)->lpVtbl->AddRef(This)
3557#define IUriBuilder_Release(This) (This)->lpVtbl->Release(This)
3558/*** IUriBuilder methods ***/
3559#define IUriBuilder_CreateUriSimple(This,dwAllowEncodingPropertyMask,dwReserved,ppIUri) (This)->lpVtbl->CreateUriSimple(This,dwAllowEncodingPropertyMask,dwReserved,ppIUri)
3560#define IUriBuilder_CreateUri(This,dwCreateFlags,dwAllowEncodingPropertyMask,dwReserved,ppIUri) (This)->lpVtbl->CreateUri(This,dwCreateFlags,dwAllowEncodingPropertyMask,dwReserved,ppIUri)
3561#define IUriBuilder_CreateUriWithFlags(This,dwCreateFlags,dwUriBuilderFlags,dwAllowEncodingPropertyMask,dwReserved,ppIUri) (This)->lpVtbl->CreateUriWithFlags(This,dwCreateFlags,dwUriBuilderFlags,dwAllowEncodingPropertyMask,dwReserved,ppIUri)
3562#define IUriBuilder_GetIUri(This,ppIUri) (This)->lpVtbl->GetIUri(This,ppIUri)
3563#define IUriBuilder_SetIUri(This,pIUri) (This)->lpVtbl->SetIUri(This,pIUri)
3564#define IUriBuilder_GetFragment(This,pcchFragment,ppwzFragment) (This)->lpVtbl->GetFragment(This,pcchFragment,ppwzFragment)
3565#define IUriBuilder_GetHost(This,pcchHost,ppwzHost) (This)->lpVtbl->GetHost(This,pcchHost,ppwzHost)
3566#define IUriBuilder_GetPassword(This,pcchPassword,ppwzPassword) (This)->lpVtbl->GetPassword(This,pcchPassword,ppwzPassword)
3567#define IUriBuilder_GetPath(This,pcchPath,ppwzPath) (This)->lpVtbl->GetPath(This,pcchPath,ppwzPath)
3568#define IUriBuilder_GetPort(This,pfHasPort,pdwPort) (This)->lpVtbl->GetPort(This,pfHasPort,pdwPort)
3569#define IUriBuilder_GetQuery(This,pcchQuery,ppwzQuery) (This)->lpVtbl->GetQuery(This,pcchQuery,ppwzQuery)
3570#define IUriBuilder_GetSchemeName(This,pcchSchemeName,ppwzSchemeName) (This)->lpVtbl->GetSchemeName(This,pcchSchemeName,ppwzSchemeName)
3571#define IUriBuilder_GetUserName(This,pcchUserName,ppwzUserName) (This)->lpVtbl->GetUserName(This,pcchUserName,ppwzUserName)
3572#define IUriBuilder_SetFragment(This,pwzNewValue) (This)->lpVtbl->SetFragment(This,pwzNewValue)
3573#define IUriBuilder_SetHost(This,pwzNewValue) (This)->lpVtbl->SetHost(This,pwzNewValue)
3574#define IUriBuilder_SetPassword(This,pwzNewValue) (This)->lpVtbl->SetPassword(This,pwzNewValue)
3575#define IUriBuilder_SetPath(This,pwzNewValue) (This)->lpVtbl->SetPath(This,pwzNewValue)
3576#define IUriBuilder_SetPort(This,fHasPort,dwNewValue) (This)->lpVtbl->SetPort(This,fHasPort,dwNewValue)
3577#define IUriBuilder_SetQuery(This,pwzNewValue) (This)->lpVtbl->SetQuery(This,pwzNewValue)
3578#define IUriBuilder_SetSchemeName(This,pwzNewValue) (This)->lpVtbl->SetSchemeName(This,pwzNewValue)
3579#define IUriBuilder_SetUserName(This,pwzNewValue) (This)->lpVtbl->SetUserName(This,pwzNewValue)
3580#define IUriBuilder_RemoveProperties(This,dwPropertyMask) (This)->lpVtbl->RemoveProperties(This,dwPropertyMask)
3581#define IUriBuilder_HasBeenModified(This,pfModified) (This)->lpVtbl->HasBeenModified(This,pfModified)
3582#else
3583/*** IUnknown methods ***/
3584static inline HRESULT IUriBuilder_QueryInterface(IUriBuilder* This,REFIID riid,void **ppvObject) {
3585 return This->lpVtbl->QueryInterface(This,riid,ppvObject);
3586}
3587static inline ULONG IUriBuilder_AddRef(IUriBuilder* This) {
3588 return This->lpVtbl->AddRef(This);
3589}
3590static inline ULONG IUriBuilder_Release(IUriBuilder* This) {
3591 return This->lpVtbl->Release(This);
3592}
3593/*** IUriBuilder methods ***/
3594static inline HRESULT IUriBuilder_CreateUriSimple(IUriBuilder* This,DWORD dwAllowEncodingPropertyMask,DWORD_PTR dwReserved,IUri **ppIUri) {
3595 return This->lpVtbl->CreateUriSimple(This,dwAllowEncodingPropertyMask,dwReserved,ppIUri);
3596}
3597static inline HRESULT IUriBuilder_CreateUri(IUriBuilder* This,DWORD dwCreateFlags,DWORD dwAllowEncodingPropertyMask,DWORD_PTR dwReserved,IUri **ppIUri) {
3598 return This->lpVtbl->CreateUri(This,dwCreateFlags,dwAllowEncodingPropertyMask,dwReserved,ppIUri);
3599}
3600static inline HRESULT IUriBuilder_CreateUriWithFlags(IUriBuilder* This,DWORD dwCreateFlags,DWORD dwUriBuilderFlags,DWORD dwAllowEncodingPropertyMask,DWORD_PTR dwReserved,IUri **ppIUri) {
3601 return This->lpVtbl->CreateUriWithFlags(This,dwCreateFlags,dwUriBuilderFlags,dwAllowEncodingPropertyMask,dwReserved,ppIUri);
3602}
3603static inline HRESULT IUriBuilder_GetIUri(IUriBuilder* This,IUri **ppIUri) {
3604 return This->lpVtbl->GetIUri(This,ppIUri);
3605}
3606static inline HRESULT IUriBuilder_SetIUri(IUriBuilder* This,IUri *pIUri) {
3607 return This->lpVtbl->SetIUri(This,pIUri);
3608}
3609static inline HRESULT IUriBuilder_GetFragment(IUriBuilder* This,DWORD *pcchFragment,LPCWSTR *ppwzFragment) {
3610 return This->lpVtbl->GetFragment(This,pcchFragment,ppwzFragment);
3611}
3612static inline HRESULT IUriBuilder_GetHost(IUriBuilder* This,DWORD *pcchHost,LPCWSTR *ppwzHost) {
3613 return This->lpVtbl->GetHost(This,pcchHost,ppwzHost);
3614}
3615static inline HRESULT IUriBuilder_GetPassword(IUriBuilder* This,DWORD *pcchPassword,LPCWSTR *ppwzPassword) {
3616 return This->lpVtbl->GetPassword(This,pcchPassword,ppwzPassword);
3617}
3618static inline HRESULT IUriBuilder_GetPath(IUriBuilder* This,DWORD *pcchPath,LPCWSTR *ppwzPath) {
3619 return This->lpVtbl->GetPath(This,pcchPath,ppwzPath);
3620}
3621static inline HRESULT IUriBuilder_GetPort(IUriBuilder* This,WINBOOL *pfHasPort,DWORD *pdwPort) {
3622 return This->lpVtbl->GetPort(This,pfHasPort,pdwPort);
3623}
3624static inline HRESULT IUriBuilder_GetQuery(IUriBuilder* This,DWORD *pcchQuery,LPCWSTR *ppwzQuery) {
3625 return This->lpVtbl->GetQuery(This,pcchQuery,ppwzQuery);
3626}
3627static inline HRESULT IUriBuilder_GetSchemeName(IUriBuilder* This,DWORD *pcchSchemeName,LPCWSTR *ppwzSchemeName) {
3628 return This->lpVtbl->GetSchemeName(This,pcchSchemeName,ppwzSchemeName);
3629}
3630static inline HRESULT IUriBuilder_GetUserName(IUriBuilder* This,DWORD *pcchUserName,LPCWSTR *ppwzUserName) {
3631 return This->lpVtbl->GetUserName(This,pcchUserName,ppwzUserName);
3632}
3633static inline HRESULT IUriBuilder_SetFragment(IUriBuilder* This,LPCWSTR pwzNewValue) {
3634 return This->lpVtbl->SetFragment(This,pwzNewValue);
3635}
3636static inline HRESULT IUriBuilder_SetHost(IUriBuilder* This,LPCWSTR pwzNewValue) {
3637 return This->lpVtbl->SetHost(This,pwzNewValue);
3638}
3639static inline HRESULT IUriBuilder_SetPassword(IUriBuilder* This,LPCWSTR pwzNewValue) {
3640 return This->lpVtbl->SetPassword(This,pwzNewValue);
3641}
3642static inline HRESULT IUriBuilder_SetPath(IUriBuilder* This,LPCWSTR pwzNewValue) {
3643 return This->lpVtbl->SetPath(This,pwzNewValue);
3644}
3645static inline HRESULT IUriBuilder_SetPort(IUriBuilder* This,WINBOOL fHasPort,DWORD dwNewValue) {
3646 return This->lpVtbl->SetPort(This,fHasPort,dwNewValue);
3647}
3648static inline HRESULT IUriBuilder_SetQuery(IUriBuilder* This,LPCWSTR pwzNewValue) {
3649 return This->lpVtbl->SetQuery(This,pwzNewValue);
3650}
3651static inline HRESULT IUriBuilder_SetSchemeName(IUriBuilder* This,LPCWSTR pwzNewValue) {
3652 return This->lpVtbl->SetSchemeName(This,pwzNewValue);
3653}
3654static inline HRESULT IUriBuilder_SetUserName(IUriBuilder* This,LPCWSTR pwzNewValue) {
3655 return This->lpVtbl->SetUserName(This,pwzNewValue);
3656}
3657static inline HRESULT IUriBuilder_RemoveProperties(IUriBuilder* This,DWORD dwPropertyMask) {
3658 return This->lpVtbl->RemoveProperties(This,dwPropertyMask);
3659}
3660static inline HRESULT IUriBuilder_HasBeenModified(IUriBuilder* This,WINBOOL *pfModified) {
3661 return This->lpVtbl->HasBeenModified(This,pfModified);
3662}
3663#endif
3664#endif
3665
3666#endif
3667
3668
3669#endif /* __IUriBuilder_INTERFACE_DEFINED__ */
3670
3671
3672/*****************************************************************************
3673 * IUriBuilderFactory interface
3674 */
3675#ifndef __IUriBuilderFactory_INTERFACE_DEFINED__
3676#define __IUriBuilderFactory_INTERFACE_DEFINED__
3677
3678DEFINE_GUID(IID_IUriBuilderFactory, 0xe982ce48, 0x0b96, 0x440c, 0xbc,0x37, 0x0c,0x86,0x9b,0x27,0xa2,0x9e);
3679#if defined(__cplusplus) && !defined(CINTERFACE)
3680MIDL_INTERFACE("e982ce48-0b96-440c-bc37-0c869b27a29e")
3681IUriBuilderFactory : public IUnknown
3682{
3683 virtual HRESULT STDMETHODCALLTYPE CreateIUriBuilder(
3684 DWORD dwFlags,
3685 DWORD_PTR dwReserved,
3686 IUriBuilder **ppIUriBuilder) = 0;
3687
3688 virtual HRESULT STDMETHODCALLTYPE CreateInitializedIUriBuilder(
3689 DWORD dwFlags,
3690 DWORD_PTR dwReserved,
3691 IUriBuilder **ppIUriBuilder) = 0;
3692
3693};
3694#ifdef __CRT_UUID_DECL
3695__CRT_UUID_DECL(IUriBuilderFactory, 0xe982ce48, 0x0b96, 0x440c, 0xbc,0x37, 0x0c,0x86,0x9b,0x27,0xa2,0x9e)
3696#endif
3697#else
3698typedef struct IUriBuilderFactoryVtbl {
3699 BEGIN_INTERFACE
3700
3701 /*** IUnknown methods ***/
3702 HRESULT (STDMETHODCALLTYPE *QueryInterface)(
3703 IUriBuilderFactory *This,
3704 REFIID riid,
3705 void **ppvObject);
3706
3707 ULONG (STDMETHODCALLTYPE *AddRef)(
3708 IUriBuilderFactory *This);
3709
3710 ULONG (STDMETHODCALLTYPE *Release)(
3711 IUriBuilderFactory *This);
3712
3713 /*** IUriBuilderFactory methods ***/
3714 HRESULT (STDMETHODCALLTYPE *CreateIUriBuilder)(
3715 IUriBuilderFactory *This,
3716 DWORD dwFlags,
3717 DWORD_PTR dwReserved,
3718 IUriBuilder **ppIUriBuilder);
3719
3720 HRESULT (STDMETHODCALLTYPE *CreateInitializedIUriBuilder)(
3721 IUriBuilderFactory *This,
3722 DWORD dwFlags,
3723 DWORD_PTR dwReserved,
3724 IUriBuilder **ppIUriBuilder);
3725
3726 END_INTERFACE
3727} IUriBuilderFactoryVtbl;
3728
3729interface IUriBuilderFactory {
3730 CONST_VTBL IUriBuilderFactoryVtbl* lpVtbl;
3731};
3732
3733#ifdef COBJMACROS
3734#ifndef WIDL_C_INLINE_WRAPPERS
3735/*** IUnknown methods ***/
3736#define IUriBuilderFactory_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject)
3737#define IUriBuilderFactory_AddRef(This) (This)->lpVtbl->AddRef(This)
3738#define IUriBuilderFactory_Release(This) (This)->lpVtbl->Release(This)
3739/*** IUriBuilderFactory methods ***/
3740#define IUriBuilderFactory_CreateIUriBuilder(This,dwFlags,dwReserved,ppIUriBuilder) (This)->lpVtbl->CreateIUriBuilder(This,dwFlags,dwReserved,ppIUriBuilder)
3741#define IUriBuilderFactory_CreateInitializedIUriBuilder(This,dwFlags,dwReserved,ppIUriBuilder) (This)->lpVtbl->CreateInitializedIUriBuilder(This,dwFlags,dwReserved,ppIUriBuilder)
3742#else
3743/*** IUnknown methods ***/
3744static inline HRESULT IUriBuilderFactory_QueryInterface(IUriBuilderFactory* This,REFIID riid,void **ppvObject) {
3745 return This->lpVtbl->QueryInterface(This,riid,ppvObject);
3746}
3747static inline ULONG IUriBuilderFactory_AddRef(IUriBuilderFactory* This) {
3748 return This->lpVtbl->AddRef(This);
3749}
3750static inline ULONG IUriBuilderFactory_Release(IUriBuilderFactory* This) {
3751 return This->lpVtbl->Release(This);
3752}
3753/*** IUriBuilderFactory methods ***/
3754static inline HRESULT IUriBuilderFactory_CreateIUriBuilder(IUriBuilderFactory* This,DWORD dwFlags,DWORD_PTR dwReserved,IUriBuilder **ppIUriBuilder) {
3755 return This->lpVtbl->CreateIUriBuilder(This,dwFlags,dwReserved,ppIUriBuilder);
3756}
3757static inline HRESULT IUriBuilderFactory_CreateInitializedIUriBuilder(IUriBuilderFactory* This,DWORD dwFlags,DWORD_PTR dwReserved,IUriBuilder **ppIUriBuilder) {
3758 return This->lpVtbl->CreateInitializedIUriBuilder(This,dwFlags,dwReserved,ppIUriBuilder);
3759}
3760#endif
3761#endif
3762
3763#endif
3764
3765
3766#endif /* __IUriBuilderFactory_INTERFACE_DEFINED__ */
3767
3768
3769STDAPI CreateIUriBuilder(IUri *pIUri, DWORD dwFlags, DWORD_PTR dwReserved, IUriBuilder **ppIUriBuilder);
3770#endif
3771#endif
3772
3773#if WINAPI_FAMILY_PARTITION(WINAPI_PARTITION_DESKTOP)
3774#ifndef _LPWININETINFO_DEFINED
3775#define _LPWININETINFO_DEFINED
3776
3777/*****************************************************************************
3778 * IWinInetInfo interface
3779 */
3780#ifndef __IWinInetInfo_INTERFACE_DEFINED__
3781#define __IWinInetInfo_INTERFACE_DEFINED__
3782
3783typedef IWinInetInfo *LPWININETINFO;
3784DEFINE_GUID(IID_IWinInetInfo, 0x79eac9d6, 0xbafa, 0x11ce, 0x8c,0x82, 0x00,0xaa,0x00,0x4b,0xa9,0x0b);
3785#if defined(__cplusplus) && !defined(CINTERFACE)
3786MIDL_INTERFACE("79eac9d6-bafa-11ce-8c82-00aa004ba90b")
3787IWinInetInfo : public IUnknown
3788{
3789 virtual HRESULT STDMETHODCALLTYPE QueryOption(
3790 DWORD dwOption,
3791 LPVOID pBuffer,
3792 DWORD *pcbBuf) = 0;
3793
3794};
3795#ifdef __CRT_UUID_DECL
3796__CRT_UUID_DECL(IWinInetInfo, 0x79eac9d6, 0xbafa, 0x11ce, 0x8c,0x82, 0x00,0xaa,0x00,0x4b,0xa9,0x0b)
3797#endif
3798#else
3799typedef struct IWinInetInfoVtbl {
3800 BEGIN_INTERFACE
3801
3802 /*** IUnknown methods ***/
3803 HRESULT (STDMETHODCALLTYPE *QueryInterface)(
3804 IWinInetInfo *This,
3805 REFIID riid,
3806 void **ppvObject);
3807
3808 ULONG (STDMETHODCALLTYPE *AddRef)(
3809 IWinInetInfo *This);
3810
3811 ULONG (STDMETHODCALLTYPE *Release)(
3812 IWinInetInfo *This);
3813
3814 /*** IWinInetInfo methods ***/
3815 HRESULT (STDMETHODCALLTYPE *QueryOption)(
3816 IWinInetInfo *This,
3817 DWORD dwOption,
3818 LPVOID pBuffer,
3819 DWORD *pcbBuf);
3820
3821 END_INTERFACE
3822} IWinInetInfoVtbl;
3823
3824interface IWinInetInfo {
3825 CONST_VTBL IWinInetInfoVtbl* lpVtbl;
3826};
3827
3828#ifdef COBJMACROS
3829#ifndef WIDL_C_INLINE_WRAPPERS
3830/*** IUnknown methods ***/
3831#define IWinInetInfo_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject)
3832#define IWinInetInfo_AddRef(This) (This)->lpVtbl->AddRef(This)
3833#define IWinInetInfo_Release(This) (This)->lpVtbl->Release(This)
3834/*** IWinInetInfo methods ***/
3835#define IWinInetInfo_QueryOption(This,dwOption,pBuffer,pcbBuf) (This)->lpVtbl->QueryOption(This,dwOption,pBuffer,pcbBuf)
3836#else
3837/*** IUnknown methods ***/
3838static inline HRESULT IWinInetInfo_QueryInterface(IWinInetInfo* This,REFIID riid,void **ppvObject) {
3839 return This->lpVtbl->QueryInterface(This,riid,ppvObject);
3840}
3841static inline ULONG IWinInetInfo_AddRef(IWinInetInfo* This) {
3842 return This->lpVtbl->AddRef(This);
3843}
3844static inline ULONG IWinInetInfo_Release(IWinInetInfo* This) {
3845 return This->lpVtbl->Release(This);
3846}
3847/*** IWinInetInfo methods ***/
3848static inline HRESULT IWinInetInfo_QueryOption(IWinInetInfo* This,DWORD dwOption,LPVOID pBuffer,DWORD *pcbBuf) {
3849 return This->lpVtbl->QueryOption(This,dwOption,pBuffer,pcbBuf);
3850}
3851#endif
3852#endif
3853
3854#endif
3855
3856HRESULT STDMETHODCALLTYPE IWinInetInfo_RemoteQueryOption_Proxy(
3857 IWinInetInfo* This,
3858 DWORD dwOption,
3859 BYTE *pBuffer,
3860 DWORD *pcbBuf);
3861void __RPC_STUB IWinInetInfo_RemoteQueryOption_Stub(
3862 IRpcStubBuffer* This,
3863 IRpcChannelBuffer* pRpcChannelBuffer,
3864 PRPC_MESSAGE pRpcMessage,
3865 DWORD* pdwStubPhase);
3866HRESULT CALLBACK IWinInetInfo_QueryOption_Proxy(
3867 IWinInetInfo* This,
3868 DWORD dwOption,
3869 LPVOID pBuffer,
3870 DWORD *pcbBuf);
3871HRESULT __RPC_STUB IWinInetInfo_QueryOption_Stub(
3872 IWinInetInfo* This,
3873 DWORD dwOption,
3874 BYTE *pBuffer,
3875 DWORD *pcbBuf);
3876
3877#endif /* __IWinInetInfo_INTERFACE_DEFINED__ */
3878
3879#endif
3880
3881#define WININETINFO_OPTION_LOCK_HANDLE 65534
3882
3883#ifndef _LPHTTPSECURITY_DEFINED
3884#define _LPHTTPSECURITY_DEFINED
3885
3886/*****************************************************************************
3887 * IHttpSecurity interface
3888 */
3889#ifndef __IHttpSecurity_INTERFACE_DEFINED__
3890#define __IHttpSecurity_INTERFACE_DEFINED__
3891
3892typedef IHttpSecurity *LPHTTPSECURITY;
3893
3894DEFINE_GUID(IID_IHttpSecurity, 0x79eac9d7, 0xbafa, 0x11ce, 0x8c,0x82, 0x00,0xaa,0x00,0x4b,0xa9,0x0b);
3895#if defined(__cplusplus) && !defined(CINTERFACE)
3896MIDL_INTERFACE("79eac9d7-bafa-11ce-8c82-00aa004ba90b")
3897IHttpSecurity : public IWindowForBindingUI
3898{
3899 virtual HRESULT STDMETHODCALLTYPE OnSecurityProblem(
3900 DWORD dwProblem) = 0;
3901
3902};
3903#ifdef __CRT_UUID_DECL
3904__CRT_UUID_DECL(IHttpSecurity, 0x79eac9d7, 0xbafa, 0x11ce, 0x8c,0x82, 0x00,0xaa,0x00,0x4b,0xa9,0x0b)
3905#endif
3906#else
3907typedef struct IHttpSecurityVtbl {
3908 BEGIN_INTERFACE
3909
3910 /*** IUnknown methods ***/
3911 HRESULT (STDMETHODCALLTYPE *QueryInterface)(
3912 IHttpSecurity *This,
3913 REFIID riid,
3914 void **ppvObject);
3915
3916 ULONG (STDMETHODCALLTYPE *AddRef)(
3917 IHttpSecurity *This);
3918
3919 ULONG (STDMETHODCALLTYPE *Release)(
3920 IHttpSecurity *This);
3921
3922 /*** IWindowForBindingUI methods ***/
3923 HRESULT (STDMETHODCALLTYPE *GetWindow)(
3924 IHttpSecurity *This,
3925 REFGUID rguidReason,
3926 HWND *phwnd);
3927
3928 /*** IHttpSecurity methods ***/
3929 HRESULT (STDMETHODCALLTYPE *OnSecurityProblem)(
3930 IHttpSecurity *This,
3931 DWORD dwProblem);
3932
3933 END_INTERFACE
3934} IHttpSecurityVtbl;
3935
3936interface IHttpSecurity {
3937 CONST_VTBL IHttpSecurityVtbl* lpVtbl;
3938};
3939
3940#ifdef COBJMACROS
3941#ifndef WIDL_C_INLINE_WRAPPERS
3942/*** IUnknown methods ***/
3943#define IHttpSecurity_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject)
3944#define IHttpSecurity_AddRef(This) (This)->lpVtbl->AddRef(This)
3945#define IHttpSecurity_Release(This) (This)->lpVtbl->Release(This)
3946/*** IWindowForBindingUI methods ***/
3947#define IHttpSecurity_GetWindow(This,rguidReason,phwnd) (This)->lpVtbl->GetWindow(This,rguidReason,phwnd)
3948/*** IHttpSecurity methods ***/
3949#define IHttpSecurity_OnSecurityProblem(This,dwProblem) (This)->lpVtbl->OnSecurityProblem(This,dwProblem)
3950#else
3951/*** IUnknown methods ***/
3952static inline HRESULT IHttpSecurity_QueryInterface(IHttpSecurity* This,REFIID riid,void **ppvObject) {
3953 return This->lpVtbl->QueryInterface(This,riid,ppvObject);
3954}
3955static inline ULONG IHttpSecurity_AddRef(IHttpSecurity* This) {
3956 return This->lpVtbl->AddRef(This);
3957}
3958static inline ULONG IHttpSecurity_Release(IHttpSecurity* This) {
3959 return This->lpVtbl->Release(This);
3960}
3961/*** IWindowForBindingUI methods ***/
3962static inline HRESULT IHttpSecurity_GetWindow(IHttpSecurity* This,REFGUID rguidReason,HWND *phwnd) {
3963 return This->lpVtbl->GetWindow(This,rguidReason,phwnd);
3964}
3965/*** IHttpSecurity methods ***/
3966static inline HRESULT IHttpSecurity_OnSecurityProblem(IHttpSecurity* This,DWORD dwProblem) {
3967 return This->lpVtbl->OnSecurityProblem(This,dwProblem);
3968}
3969#endif
3970#endif
3971
3972#endif
3973
3974
3975#endif /* __IHttpSecurity_INTERFACE_DEFINED__ */
3976
3977#endif
3978
3979#ifndef _LPWININETHTTPINFO_DEFINED
3980#define _LPWININETHTTPINFO_DEFINED
3981
3982/*****************************************************************************
3983 * IWinInetHttpInfo interface
3984 */
3985#ifndef __IWinInetHttpInfo_INTERFACE_DEFINED__
3986#define __IWinInetHttpInfo_INTERFACE_DEFINED__
3987
3988typedef IWinInetHttpInfo *LPWININETHTTPINFO;
3989
3990DEFINE_GUID(IID_IWinInetHttpInfo, 0x79eac9d8, 0xbafa, 0x11ce, 0x8c,0x82, 0x00,0xaa,0x00,0x4b,0xa9,0x0b);
3991#if defined(__cplusplus) && !defined(CINTERFACE)
3992MIDL_INTERFACE("79eac9d8-bafa-11ce-8c82-00aa004ba90b")
3993IWinInetHttpInfo : public IWinInetInfo
3994{
3995 virtual HRESULT STDMETHODCALLTYPE QueryInfo(
3996 DWORD dwOption,
3997 LPVOID pBuffer,
3998 DWORD *pcbBuf,
3999 DWORD *pdwFlags,
4000 DWORD *pdwReserved) = 0;
4001
4002};
4003#ifdef __CRT_UUID_DECL
4004__CRT_UUID_DECL(IWinInetHttpInfo, 0x79eac9d8, 0xbafa, 0x11ce, 0x8c,0x82, 0x00,0xaa,0x00,0x4b,0xa9,0x0b)
4005#endif
4006#else
4007typedef struct IWinInetHttpInfoVtbl {
4008 BEGIN_INTERFACE
4009
4010 /*** IUnknown methods ***/
4011 HRESULT (STDMETHODCALLTYPE *QueryInterface)(
4012 IWinInetHttpInfo *This,
4013 REFIID riid,
4014 void **ppvObject);
4015
4016 ULONG (STDMETHODCALLTYPE *AddRef)(
4017 IWinInetHttpInfo *This);
4018
4019 ULONG (STDMETHODCALLTYPE *Release)(
4020 IWinInetHttpInfo *This);
4021
4022 /*** IWinInetInfo methods ***/
4023 HRESULT (STDMETHODCALLTYPE *QueryOption)(
4024 IWinInetHttpInfo *This,
4025 DWORD dwOption,
4026 LPVOID pBuffer,
4027 DWORD *pcbBuf);
4028
4029 /*** IWinInetHttpInfo methods ***/
4030 HRESULT (STDMETHODCALLTYPE *QueryInfo)(
4031 IWinInetHttpInfo *This,
4032 DWORD dwOption,
4033 LPVOID pBuffer,
4034 DWORD *pcbBuf,
4035 DWORD *pdwFlags,
4036 DWORD *pdwReserved);
4037
4038 END_INTERFACE
4039} IWinInetHttpInfoVtbl;
4040
4041interface IWinInetHttpInfo {
4042 CONST_VTBL IWinInetHttpInfoVtbl* lpVtbl;
4043};
4044
4045#ifdef COBJMACROS
4046#ifndef WIDL_C_INLINE_WRAPPERS
4047/*** IUnknown methods ***/
4048#define IWinInetHttpInfo_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject)
4049#define IWinInetHttpInfo_AddRef(This) (This)->lpVtbl->AddRef(This)
4050#define IWinInetHttpInfo_Release(This) (This)->lpVtbl->Release(This)
4051/*** IWinInetInfo methods ***/
4052#define IWinInetHttpInfo_QueryOption(This,dwOption,pBuffer,pcbBuf) (This)->lpVtbl->QueryOption(This,dwOption,pBuffer,pcbBuf)
4053/*** IWinInetHttpInfo methods ***/
4054#define IWinInetHttpInfo_QueryInfo(This,dwOption,pBuffer,pcbBuf,pdwFlags,pdwReserved) (This)->lpVtbl->QueryInfo(This,dwOption,pBuffer,pcbBuf,pdwFlags,pdwReserved)
4055#else
4056/*** IUnknown methods ***/
4057static inline HRESULT IWinInetHttpInfo_QueryInterface(IWinInetHttpInfo* This,REFIID riid,void **ppvObject) {
4058 return This->lpVtbl->QueryInterface(This,riid,ppvObject);
4059}
4060static inline ULONG IWinInetHttpInfo_AddRef(IWinInetHttpInfo* This) {
4061 return This->lpVtbl->AddRef(This);
4062}
4063static inline ULONG IWinInetHttpInfo_Release(IWinInetHttpInfo* This) {
4064 return This->lpVtbl->Release(This);
4065}
4066/*** IWinInetInfo methods ***/
4067static inline HRESULT IWinInetHttpInfo_QueryOption(IWinInetHttpInfo* This,DWORD dwOption,LPVOID pBuffer,DWORD *pcbBuf) {
4068 return This->lpVtbl->QueryOption(This,dwOption,pBuffer,pcbBuf);
4069}
4070/*** IWinInetHttpInfo methods ***/
4071static inline HRESULT IWinInetHttpInfo_QueryInfo(IWinInetHttpInfo* This,DWORD dwOption,LPVOID pBuffer,DWORD *pcbBuf,DWORD *pdwFlags,DWORD *pdwReserved) {
4072 return This->lpVtbl->QueryInfo(This,dwOption,pBuffer,pcbBuf,pdwFlags,pdwReserved);
4073}
4074#endif
4075#endif
4076
4077#endif
4078
4079HRESULT STDMETHODCALLTYPE IWinInetHttpInfo_RemoteQueryInfo_Proxy(
4080 IWinInetHttpInfo* This,
4081 DWORD dwOption,
4082 BYTE *pBuffer,
4083 DWORD *pcbBuf,
4084 DWORD *pdwFlags,
4085 DWORD *pdwReserved);
4086void __RPC_STUB IWinInetHttpInfo_RemoteQueryInfo_Stub(
4087 IRpcStubBuffer* This,
4088 IRpcChannelBuffer* pRpcChannelBuffer,
4089 PRPC_MESSAGE pRpcMessage,
4090 DWORD* pdwStubPhase);
4091HRESULT CALLBACK IWinInetHttpInfo_QueryInfo_Proxy(
4092 IWinInetHttpInfo* This,
4093 DWORD dwOption,
4094 LPVOID pBuffer,
4095 DWORD *pcbBuf,
4096 DWORD *pdwFlags,
4097 DWORD *pdwReserved);
4098HRESULT __RPC_STUB IWinInetHttpInfo_QueryInfo_Stub(
4099 IWinInetHttpInfo* This,
4100 DWORD dwOption,
4101 BYTE *pBuffer,
4102 DWORD *pcbBuf,
4103 DWORD *pdwFlags,
4104 DWORD *pdwReserved);
4105
4106#endif /* __IWinInetHttpInfo_INTERFACE_DEFINED__ */
4107
4108#endif
4109
4110#ifndef _LPWININETHTTPTIMEOUTS_DEFINED
4111#define _LPWININETHTTPTIMEOUTS_DEFINED
4112/*****************************************************************************
4113 * IWinInetHttpTimeouts interface
4114 */
4115#ifndef __IWinInetHttpTimeouts_INTERFACE_DEFINED__
4116#define __IWinInetHttpTimeouts_INTERFACE_DEFINED__
4117
4118DEFINE_GUID(IID_IWinInetHttpTimeouts, 0xf286fa56, 0xc1fd, 0x4270, 0x8e,0x67, 0xb3,0xeb,0x79,0x0a,0x81,0xe8);
4119#if defined(__cplusplus) && !defined(CINTERFACE)
4120MIDL_INTERFACE("f286fa56-c1fd-4270-8e67-b3eb790a81e8")
4121IWinInetHttpTimeouts : public IUnknown
4122{
4123 virtual HRESULT STDMETHODCALLTYPE GetRequestTimeouts(
4124 DWORD *pdwConnectTimeout,
4125 DWORD *pdwSendTimeout,
4126 DWORD *pdwReceiveTimeout) = 0;
4127
4128};
4129#ifdef __CRT_UUID_DECL
4130__CRT_UUID_DECL(IWinInetHttpTimeouts, 0xf286fa56, 0xc1fd, 0x4270, 0x8e,0x67, 0xb3,0xeb,0x79,0x0a,0x81,0xe8)
4131#endif
4132#else
4133typedef struct IWinInetHttpTimeoutsVtbl {
4134 BEGIN_INTERFACE
4135
4136 /*** IUnknown methods ***/
4137 HRESULT (STDMETHODCALLTYPE *QueryInterface)(
4138 IWinInetHttpTimeouts *This,
4139 REFIID riid,
4140 void **ppvObject);
4141
4142 ULONG (STDMETHODCALLTYPE *AddRef)(
4143 IWinInetHttpTimeouts *This);
4144
4145 ULONG (STDMETHODCALLTYPE *Release)(
4146 IWinInetHttpTimeouts *This);
4147
4148 /*** IWinInetHttpTimeouts methods ***/
4149 HRESULT (STDMETHODCALLTYPE *GetRequestTimeouts)(
4150 IWinInetHttpTimeouts *This,
4151 DWORD *pdwConnectTimeout,
4152 DWORD *pdwSendTimeout,
4153 DWORD *pdwReceiveTimeout);
4154
4155 END_INTERFACE
4156} IWinInetHttpTimeoutsVtbl;
4157
4158interface IWinInetHttpTimeouts {
4159 CONST_VTBL IWinInetHttpTimeoutsVtbl* lpVtbl;
4160};
4161
4162#ifdef COBJMACROS
4163#ifndef WIDL_C_INLINE_WRAPPERS
4164/*** IUnknown methods ***/
4165#define IWinInetHttpTimeouts_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject)
4166#define IWinInetHttpTimeouts_AddRef(This) (This)->lpVtbl->AddRef(This)
4167#define IWinInetHttpTimeouts_Release(This) (This)->lpVtbl->Release(This)
4168/*** IWinInetHttpTimeouts methods ***/
4169#define IWinInetHttpTimeouts_GetRequestTimeouts(This,pdwConnectTimeout,pdwSendTimeout,pdwReceiveTimeout) (This)->lpVtbl->GetRequestTimeouts(This,pdwConnectTimeout,pdwSendTimeout,pdwReceiveTimeout)
4170#else
4171/*** IUnknown methods ***/
4172static inline HRESULT IWinInetHttpTimeouts_QueryInterface(IWinInetHttpTimeouts* This,REFIID riid,void **ppvObject) {
4173 return This->lpVtbl->QueryInterface(This,riid,ppvObject);
4174}
4175static inline ULONG IWinInetHttpTimeouts_AddRef(IWinInetHttpTimeouts* This) {
4176 return This->lpVtbl->AddRef(This);
4177}
4178static inline ULONG IWinInetHttpTimeouts_Release(IWinInetHttpTimeouts* This) {
4179 return This->lpVtbl->Release(This);
4180}
4181/*** IWinInetHttpTimeouts methods ***/
4182static inline HRESULT IWinInetHttpTimeouts_GetRequestTimeouts(IWinInetHttpTimeouts* This,DWORD *pdwConnectTimeout,DWORD *pdwSendTimeout,DWORD *pdwReceiveTimeout) {
4183 return This->lpVtbl->GetRequestTimeouts(This,pdwConnectTimeout,pdwSendTimeout,pdwReceiveTimeout);
4184}
4185#endif
4186#endif
4187
4188#endif
4189
4190
4191#endif /* __IWinInetHttpTimeouts_INTERFACE_DEFINED__ */
4192
4193#endif
4194
4195#if (_WIN32_IE >= _WIN32_IE_IE60SP2)
4196#ifndef _LPWININETCACHEHINTS_DEFINED
4197#define _LPWININETCACHEHINTS_DEFINED
4198
4199/*****************************************************************************
4200 * IWinInetCacheHints interface
4201 */
4202#ifndef __IWinInetCacheHints_INTERFACE_DEFINED__
4203#define __IWinInetCacheHints_INTERFACE_DEFINED__
4204
4205typedef IWinInetCacheHints *LPWININETCACHEHINTS;
4206
4207DEFINE_GUID(IID_IWinInetCacheHints, 0xdd1ec3b3, 0x8391, 0x4fdb, 0xa9,0xe6, 0x34,0x7c,0x3c,0xaa,0xa7,0xdd);
4208#if defined(__cplusplus) && !defined(CINTERFACE)
4209MIDL_INTERFACE("dd1ec3b3-8391-4fdb-a9e6-347c3caaa7dd")
4210IWinInetCacheHints : public IUnknown
4211{
4212 virtual HRESULT STDMETHODCALLTYPE SetCacheExtension(
4213 LPCWSTR pwzExt,
4214 LPVOID pszCacheFile,
4215 DWORD *pcbCacheFile,
4216 DWORD *pdwWinInetError,
4217 DWORD *pdwReserved) = 0;
4218
4219};
4220#ifdef __CRT_UUID_DECL
4221__CRT_UUID_DECL(IWinInetCacheHints, 0xdd1ec3b3, 0x8391, 0x4fdb, 0xa9,0xe6, 0x34,0x7c,0x3c,0xaa,0xa7,0xdd)
4222#endif
4223#else
4224typedef struct IWinInetCacheHintsVtbl {
4225 BEGIN_INTERFACE
4226
4227 /*** IUnknown methods ***/
4228 HRESULT (STDMETHODCALLTYPE *QueryInterface)(
4229 IWinInetCacheHints *This,
4230 REFIID riid,
4231 void **ppvObject);
4232
4233 ULONG (STDMETHODCALLTYPE *AddRef)(
4234 IWinInetCacheHints *This);
4235
4236 ULONG (STDMETHODCALLTYPE *Release)(
4237 IWinInetCacheHints *This);
4238
4239 /*** IWinInetCacheHints methods ***/
4240 HRESULT (STDMETHODCALLTYPE *SetCacheExtension)(
4241 IWinInetCacheHints *This,
4242 LPCWSTR pwzExt,
4243 LPVOID pszCacheFile,
4244 DWORD *pcbCacheFile,
4245 DWORD *pdwWinInetError,
4246 DWORD *pdwReserved);
4247
4248 END_INTERFACE
4249} IWinInetCacheHintsVtbl;
4250
4251interface IWinInetCacheHints {
4252 CONST_VTBL IWinInetCacheHintsVtbl* lpVtbl;
4253};
4254
4255#ifdef COBJMACROS
4256#ifndef WIDL_C_INLINE_WRAPPERS
4257/*** IUnknown methods ***/
4258#define IWinInetCacheHints_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject)
4259#define IWinInetCacheHints_AddRef(This) (This)->lpVtbl->AddRef(This)
4260#define IWinInetCacheHints_Release(This) (This)->lpVtbl->Release(This)
4261/*** IWinInetCacheHints methods ***/
4262#define IWinInetCacheHints_SetCacheExtension(This,pwzExt,pszCacheFile,pcbCacheFile,pdwWinInetError,pdwReserved) (This)->lpVtbl->SetCacheExtension(This,pwzExt,pszCacheFile,pcbCacheFile,pdwWinInetError,pdwReserved)
4263#else
4264/*** IUnknown methods ***/
4265static inline HRESULT IWinInetCacheHints_QueryInterface(IWinInetCacheHints* This,REFIID riid,void **ppvObject) {
4266 return This->lpVtbl->QueryInterface(This,riid,ppvObject);
4267}
4268static inline ULONG IWinInetCacheHints_AddRef(IWinInetCacheHints* This) {
4269 return This->lpVtbl->AddRef(This);
4270}
4271static inline ULONG IWinInetCacheHints_Release(IWinInetCacheHints* This) {
4272 return This->lpVtbl->Release(This);
4273}
4274/*** IWinInetCacheHints methods ***/
4275static inline HRESULT IWinInetCacheHints_SetCacheExtension(IWinInetCacheHints* This,LPCWSTR pwzExt,LPVOID pszCacheFile,DWORD *pcbCacheFile,DWORD *pdwWinInetError,DWORD *pdwReserved) {
4276 return This->lpVtbl->SetCacheExtension(This,pwzExt,pszCacheFile,pcbCacheFile,pdwWinInetError,pdwReserved);
4277}
4278#endif
4279#endif
4280
4281#endif
4282
4283
4284#endif /* __IWinInetCacheHints_INTERFACE_DEFINED__ */
4285
4286#endif
4287#endif
4288
4289#if (_WIN32_IE >= _WIN32_IE_IE70)
4290#ifndef _LPWININETCACHEHINTS2_DEFINED
4291#define _LPWININETCACHEHINTS2_DEFINED
4292
4293/*****************************************************************************
4294 * IWinInetCacheHints2 interface
4295 */
4296#ifndef __IWinInetCacheHints2_INTERFACE_DEFINED__
4297#define __IWinInetCacheHints2_INTERFACE_DEFINED__
4298
4299typedef IWinInetCacheHints2 *LPWININETCACHEHINTS2;
4300
4301DEFINE_GUID(IID_IWinInetCacheHints2, 0x7857aeac, 0xd31f, 0x49bf, 0x88,0x4e, 0xdd,0x46,0xdf,0x36,0x78,0x0a);
4302#if defined(__cplusplus) && !defined(CINTERFACE)
4303MIDL_INTERFACE("7857aeac-d31f-49bf-884e-dd46df36780a")
4304IWinInetCacheHints2 : public IWinInetCacheHints
4305{
4306 virtual HRESULT STDMETHODCALLTYPE SetCacheExtension2(
4307 LPCWSTR pwzExt,
4308 WCHAR *pwzCacheFile,
4309 DWORD *pcchCacheFile,
4310 DWORD *pdwWinInetError,
4311 DWORD *pdwReserved) = 0;
4312
4313};
4314#ifdef __CRT_UUID_DECL
4315__CRT_UUID_DECL(IWinInetCacheHints2, 0x7857aeac, 0xd31f, 0x49bf, 0x88,0x4e, 0xdd,0x46,0xdf,0x36,0x78,0x0a)
4316#endif
4317#else
4318typedef struct IWinInetCacheHints2Vtbl {
4319 BEGIN_INTERFACE
4320
4321 /*** IUnknown methods ***/
4322 HRESULT (STDMETHODCALLTYPE *QueryInterface)(
4323 IWinInetCacheHints2 *This,
4324 REFIID riid,
4325 void **ppvObject);
4326
4327 ULONG (STDMETHODCALLTYPE *AddRef)(
4328 IWinInetCacheHints2 *This);
4329
4330 ULONG (STDMETHODCALLTYPE *Release)(
4331 IWinInetCacheHints2 *This);
4332
4333 /*** IWinInetCacheHints methods ***/
4334 HRESULT (STDMETHODCALLTYPE *SetCacheExtension)(
4335 IWinInetCacheHints2 *This,
4336 LPCWSTR pwzExt,
4337 LPVOID pszCacheFile,
4338 DWORD *pcbCacheFile,
4339 DWORD *pdwWinInetError,
4340 DWORD *pdwReserved);
4341
4342 /*** IWinInetCacheHints2 methods ***/
4343 HRESULT (STDMETHODCALLTYPE *SetCacheExtension2)(
4344 IWinInetCacheHints2 *This,
4345 LPCWSTR pwzExt,
4346 WCHAR *pwzCacheFile,
4347 DWORD *pcchCacheFile,
4348 DWORD *pdwWinInetError,
4349 DWORD *pdwReserved);
4350
4351 END_INTERFACE
4352} IWinInetCacheHints2Vtbl;
4353
4354interface IWinInetCacheHints2 {
4355 CONST_VTBL IWinInetCacheHints2Vtbl* lpVtbl;
4356};
4357
4358#ifdef COBJMACROS
4359#ifndef WIDL_C_INLINE_WRAPPERS
4360/*** IUnknown methods ***/
4361#define IWinInetCacheHints2_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject)
4362#define IWinInetCacheHints2_AddRef(This) (This)->lpVtbl->AddRef(This)
4363#define IWinInetCacheHints2_Release(This) (This)->lpVtbl->Release(This)
4364/*** IWinInetCacheHints methods ***/
4365#define IWinInetCacheHints2_SetCacheExtension(This,pwzExt,pszCacheFile,pcbCacheFile,pdwWinInetError,pdwReserved) (This)->lpVtbl->SetCacheExtension(This,pwzExt,pszCacheFile,pcbCacheFile,pdwWinInetError,pdwReserved)
4366/*** IWinInetCacheHints2 methods ***/
4367#define IWinInetCacheHints2_SetCacheExtension2(This,pwzExt,pwzCacheFile,pcchCacheFile,pdwWinInetError,pdwReserved) (This)->lpVtbl->SetCacheExtension2(This,pwzExt,pwzCacheFile,pcchCacheFile,pdwWinInetError,pdwReserved)
4368#else
4369/*** IUnknown methods ***/
4370static inline HRESULT IWinInetCacheHints2_QueryInterface(IWinInetCacheHints2* This,REFIID riid,void **ppvObject) {
4371 return This->lpVtbl->QueryInterface(This,riid,ppvObject);
4372}
4373static inline ULONG IWinInetCacheHints2_AddRef(IWinInetCacheHints2* This) {
4374 return This->lpVtbl->AddRef(This);
4375}
4376static inline ULONG IWinInetCacheHints2_Release(IWinInetCacheHints2* This) {
4377 return This->lpVtbl->Release(This);
4378}
4379/*** IWinInetCacheHints methods ***/
4380static inline HRESULT IWinInetCacheHints2_SetCacheExtension(IWinInetCacheHints2* This,LPCWSTR pwzExt,LPVOID pszCacheFile,DWORD *pcbCacheFile,DWORD *pdwWinInetError,DWORD *pdwReserved) {
4381 return This->lpVtbl->SetCacheExtension(This,pwzExt,pszCacheFile,pcbCacheFile,pdwWinInetError,pdwReserved);
4382}
4383/*** IWinInetCacheHints2 methods ***/
4384static inline HRESULT IWinInetCacheHints2_SetCacheExtension2(IWinInetCacheHints2* This,LPCWSTR pwzExt,WCHAR *pwzCacheFile,DWORD *pcchCacheFile,DWORD *pdwWinInetError,DWORD *pdwReserved) {
4385 return This->lpVtbl->SetCacheExtension2(This,pwzExt,pwzCacheFile,pcchCacheFile,pdwWinInetError,pdwReserved);
4386}
4387#endif
4388#endif
4389
4390#endif
4391
4392
4393#endif /* __IWinInetCacheHints2_INTERFACE_DEFINED__ */
4394
4395#endif
4396#endif
4397
4398#define SID_IBindHost IID_IBindHost
4399#define SID_SBindHost IID_IBindHost
4400
4401#ifndef _LPBINDHOST_DEFINED
4402#define _LPBINDHOST_DEFINED
4403
4404EXTERN_C const GUID SID_BindHost;
4405
4406/*****************************************************************************
4407 * IBindHost interface
4408 */
4409#ifndef __IBindHost_INTERFACE_DEFINED__
4410#define __IBindHost_INTERFACE_DEFINED__
4411
4412typedef IBindHost *LPBINDHOST;
4413
4414DEFINE_GUID(IID_IBindHost, 0xfc4801a1, 0x2ba9, 0x11cf, 0xa2,0x29, 0x00,0xaa,0x00,0x3d,0x73,0x52);
4415#if defined(__cplusplus) && !defined(CINTERFACE)
4416MIDL_INTERFACE("fc4801a1-2ba9-11cf-a229-00aa003d7352")
4417IBindHost : public IUnknown
4418{
4419 virtual HRESULT STDMETHODCALLTYPE CreateMoniker(
4420 LPOLESTR szName,
4421 IBindCtx *pBC,
4422 IMoniker **ppmk,
4423 DWORD dwReserved) = 0;
4424
4425 virtual HRESULT STDMETHODCALLTYPE MonikerBindToStorage(
4426 IMoniker *pMk,
4427 IBindCtx *pBC,
4428 IBindStatusCallback *pBSC,
4429 REFIID riid,
4430 void **ppvObj) = 0;
4431
4432 virtual HRESULT STDMETHODCALLTYPE MonikerBindToObject(
4433 IMoniker *pMk,
4434 IBindCtx *pBC,
4435 IBindStatusCallback *pBSC,
4436 REFIID riid,
4437 void **ppvObj) = 0;
4438
4439};
4440#ifdef __CRT_UUID_DECL
4441__CRT_UUID_DECL(IBindHost, 0xfc4801a1, 0x2ba9, 0x11cf, 0xa2,0x29, 0x00,0xaa,0x00,0x3d,0x73,0x52)
4442#endif
4443#else
4444typedef struct IBindHostVtbl {
4445 BEGIN_INTERFACE
4446
4447 /*** IUnknown methods ***/
4448 HRESULT (STDMETHODCALLTYPE *QueryInterface)(
4449 IBindHost *This,
4450 REFIID riid,
4451 void **ppvObject);
4452
4453 ULONG (STDMETHODCALLTYPE *AddRef)(
4454 IBindHost *This);
4455
4456 ULONG (STDMETHODCALLTYPE *Release)(
4457 IBindHost *This);
4458
4459 /*** IBindHost methods ***/
4460 HRESULT (STDMETHODCALLTYPE *CreateMoniker)(
4461 IBindHost *This,
4462 LPOLESTR szName,
4463 IBindCtx *pBC,
4464 IMoniker **ppmk,
4465 DWORD dwReserved);
4466
4467 HRESULT (STDMETHODCALLTYPE *MonikerBindToStorage)(
4468 IBindHost *This,
4469 IMoniker *pMk,
4470 IBindCtx *pBC,
4471 IBindStatusCallback *pBSC,
4472 REFIID riid,
4473 void **ppvObj);
4474
4475 HRESULT (STDMETHODCALLTYPE *MonikerBindToObject)(
4476 IBindHost *This,
4477 IMoniker *pMk,
4478 IBindCtx *pBC,
4479 IBindStatusCallback *pBSC,
4480 REFIID riid,
4481 void **ppvObj);
4482
4483 END_INTERFACE
4484} IBindHostVtbl;
4485
4486interface IBindHost {
4487 CONST_VTBL IBindHostVtbl* lpVtbl;
4488};
4489
4490#ifdef COBJMACROS
4491#ifndef WIDL_C_INLINE_WRAPPERS
4492/*** IUnknown methods ***/
4493#define IBindHost_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject)
4494#define IBindHost_AddRef(This) (This)->lpVtbl->AddRef(This)
4495#define IBindHost_Release(This) (This)->lpVtbl->Release(This)
4496/*** IBindHost methods ***/
4497#define IBindHost_CreateMoniker(This,szName,pBC,ppmk,dwReserved) (This)->lpVtbl->CreateMoniker(This,szName,pBC,ppmk,dwReserved)
4498#define IBindHost_MonikerBindToStorage(This,pMk,pBC,pBSC,riid,ppvObj) (This)->lpVtbl->MonikerBindToStorage(This,pMk,pBC,pBSC,riid,ppvObj)
4499#define IBindHost_MonikerBindToObject(This,pMk,pBC,pBSC,riid,ppvObj) (This)->lpVtbl->MonikerBindToObject(This,pMk,pBC,pBSC,riid,ppvObj)
4500#else
4501/*** IUnknown methods ***/
4502static inline HRESULT IBindHost_QueryInterface(IBindHost* This,REFIID riid,void **ppvObject) {
4503 return This->lpVtbl->QueryInterface(This,riid,ppvObject);
4504}
4505static inline ULONG IBindHost_AddRef(IBindHost* This) {
4506 return This->lpVtbl->AddRef(This);
4507}
4508static inline ULONG IBindHost_Release(IBindHost* This) {
4509 return This->lpVtbl->Release(This);
4510}
4511/*** IBindHost methods ***/
4512static inline HRESULT IBindHost_CreateMoniker(IBindHost* This,LPOLESTR szName,IBindCtx *pBC,IMoniker **ppmk,DWORD dwReserved) {
4513 return This->lpVtbl->CreateMoniker(This,szName,pBC,ppmk,dwReserved);
4514}
4515static inline HRESULT IBindHost_MonikerBindToStorage(IBindHost* This,IMoniker *pMk,IBindCtx *pBC,IBindStatusCallback *pBSC,REFIID riid,void **ppvObj) {
4516 return This->lpVtbl->MonikerBindToStorage(This,pMk,pBC,pBSC,riid,ppvObj);
4517}
4518static inline HRESULT IBindHost_MonikerBindToObject(IBindHost* This,IMoniker *pMk,IBindCtx *pBC,IBindStatusCallback *pBSC,REFIID riid,void **ppvObj) {
4519 return This->lpVtbl->MonikerBindToObject(This,pMk,pBC,pBSC,riid,ppvObj);
4520}
4521#endif
4522#endif
4523
4524#endif
4525
4526HRESULT STDMETHODCALLTYPE IBindHost_RemoteMonikerBindToStorage_Proxy(
4527 IBindHost* This,
4528 IMoniker *pMk,
4529 IBindCtx *pBC,
4530 IBindStatusCallback *pBSC,
4531 REFIID riid,
4532 IUnknown **ppvObj);
4533void __RPC_STUB IBindHost_RemoteMonikerBindToStorage_Stub(
4534 IRpcStubBuffer* This,
4535 IRpcChannelBuffer* pRpcChannelBuffer,
4536 PRPC_MESSAGE pRpcMessage,
4537 DWORD* pdwStubPhase);
4538HRESULT STDMETHODCALLTYPE IBindHost_RemoteMonikerBindToObject_Proxy(
4539 IBindHost* This,
4540 IMoniker *pMk,
4541 IBindCtx *pBC,
4542 IBindStatusCallback *pBSC,
4543 REFIID riid,
4544 IUnknown **ppvObj);
4545void __RPC_STUB IBindHost_RemoteMonikerBindToObject_Stub(
4546 IRpcStubBuffer* This,
4547 IRpcChannelBuffer* pRpcChannelBuffer,
4548 PRPC_MESSAGE pRpcMessage,
4549 DWORD* pdwStubPhase);
4550HRESULT CALLBACK IBindHost_MonikerBindToStorage_Proxy(
4551 IBindHost* This,
4552 IMoniker *pMk,
4553 IBindCtx *pBC,
4554 IBindStatusCallback *pBSC,
4555 REFIID riid,
4556 void **ppvObj);
4557HRESULT __RPC_STUB IBindHost_MonikerBindToStorage_Stub(
4558 IBindHost* This,
4559 IMoniker *pMk,
4560 IBindCtx *pBC,
4561 IBindStatusCallback *pBSC,
4562 REFIID riid,
4563 IUnknown **ppvObj);
4564HRESULT CALLBACK IBindHost_MonikerBindToObject_Proxy(
4565 IBindHost* This,
4566 IMoniker *pMk,
4567 IBindCtx *pBC,
4568 IBindStatusCallback *pBSC,
4569 REFIID riid,
4570 void **ppvObj);
4571HRESULT __RPC_STUB IBindHost_MonikerBindToObject_Stub(
4572 IBindHost* This,
4573 IMoniker *pMk,
4574 IBindCtx *pBC,
4575 IBindStatusCallback *pBSC,
4576 REFIID riid,
4577 IUnknown **ppvObj);
4578
4579#endif /* __IBindHost_INTERFACE_DEFINED__ */
4580
4581#endif
4582
4583#define URLOSTRM_USECACHEDCOPY_ONLY 0x1
4584#define URLOSTRM_USECACHEDCOPY 0x2
4585#define URLOSTRM_GETNEWESTVERSION 0x3
4586
4587struct IBindStatusCallback;
4588STDAPI HlinkSimpleNavigateToString(LPCWSTR szTarget, LPCWSTR szLocation, LPCWSTR szTargetFrameName, IUnknown *pUnk, IBindCtx *pbc, IBindStatusCallback *, DWORD grfHLNF, DWORD dwReserved);
4589STDAPI HlinkSimpleNavigateToMoniker(IMoniker *pmkTarget, LPCWSTR szLocation, LPCWSTR szTargetFrameName, IUnknown *pUnk, IBindCtx *pbc, IBindStatusCallback *, DWORD grfHLNF, DWORD dwReserved);
4590STDAPI URLOpenStreamA(LPUNKNOWN,LPCSTR,DWORD,LPBINDSTATUSCALLBACK);
4591STDAPI URLOpenStreamW(LPUNKNOWN,LPCWSTR,DWORD,LPBINDSTATUSCALLBACK);
4592STDAPI URLOpenPullStreamA(LPUNKNOWN,LPCSTR,DWORD,LPBINDSTATUSCALLBACK);
4593STDAPI URLOpenPullStreamW(LPUNKNOWN,LPCWSTR,DWORD,LPBINDSTATUSCALLBACK);
4594STDAPI URLDownloadToFileA(LPUNKNOWN,LPCSTR,LPCSTR,DWORD,LPBINDSTATUSCALLBACK);
4595STDAPI URLDownloadToFileW(LPUNKNOWN,LPCWSTR,LPCWSTR,DWORD,LPBINDSTATUSCALLBACK);
4596STDAPI URLDownloadToCacheFileA(LPUNKNOWN, LPCSTR, LPSTR, DWORD, DWORD, LPBINDSTATUSCALLBACK);
4597STDAPI URLDownloadToCacheFileW(LPUNKNOWN, LPCWSTR, LPWSTR, DWORD, DWORD, LPBINDSTATUSCALLBACK);
4598STDAPI URLOpenBlockingStreamA(LPUNKNOWN,LPCSTR,LPSTREAM*,DWORD,LPBINDSTATUSCALLBACK);
4599STDAPI URLOpenBlockingStreamW(LPUNKNOWN,LPCWSTR,LPSTREAM*,DWORD,LPBINDSTATUSCALLBACK);
4600
4601#define URLOpenStream __MINGW_NAME_AW(URLOpenStream)
4602#define URLOpenPullStream __MINGW_NAME_AW(URLOpenPullStream)
4603#define URLDownloadToFile __MINGW_NAME_AW(URLDownloadToFile)
4604#define URLDownloadToCacheFile __MINGW_NAME_AW(URLDownloadToCacheFile)
4605#define URLOpenBlockingStream __MINGW_NAME_AW(URLOpenBlockingStream)
4606
4607STDAPI HlinkGoBack(IUnknown *pUnk);
4608STDAPI HlinkGoForward(IUnknown *pUnk);
4609STDAPI HlinkNavigateString(IUnknown *pUnk, LPCWSTR szTarget);
4610STDAPI HlinkNavigateMoniker(IUnknown *pUnk, IMoniker *pmkTarget);
4611
4612#ifndef _URLMON_NO_ASYNC_PLUGABLE_PROTOCOLS_
4613#ifndef __IInternet_FWD_DEFINED__
4614#define __IInternet_FWD_DEFINED__
4615typedef interface IInternet IInternet;
4616#ifdef __cplusplus
4617interface IInternet;
4618#endif /* __cplusplus */
4619#endif
4620
4621#ifndef __IInternetBindInfo_FWD_DEFINED__
4622#define __IInternetBindInfo_FWD_DEFINED__
4623typedef interface IInternetBindInfo IInternetBindInfo;
4624#ifdef __cplusplus
4625interface IInternetBindInfo;
4626#endif /* __cplusplus */
4627#endif
4628
4629#ifndef __IInternetBindInfoEx_FWD_DEFINED__
4630#define __IInternetBindInfoEx_FWD_DEFINED__
4631typedef interface IInternetBindInfoEx IInternetBindInfoEx;
4632#ifdef __cplusplus
4633interface IInternetBindInfoEx;
4634#endif /* __cplusplus */
4635#endif
4636
4637#ifndef __IInternetProtocolRoot_FWD_DEFINED__
4638#define __IInternetProtocolRoot_FWD_DEFINED__
4639typedef interface IInternetProtocolRoot IInternetProtocolRoot;
4640#ifdef __cplusplus
4641interface IInternetProtocolRoot;
4642#endif /* __cplusplus */
4643#endif
4644
4645#ifndef __IInternetProtocol_FWD_DEFINED__
4646#define __IInternetProtocol_FWD_DEFINED__
4647typedef interface IInternetProtocol IInternetProtocol;
4648#ifdef __cplusplus
4649interface IInternetProtocol;
4650#endif /* __cplusplus */
4651#endif
4652
4653#ifndef __IInternetProtocolEx_FWD_DEFINED__
4654#define __IInternetProtocolEx_FWD_DEFINED__
4655typedef interface IInternetProtocolEx IInternetProtocolEx;
4656#ifdef __cplusplus
4657interface IInternetProtocolEx;
4658#endif /* __cplusplus */
4659#endif
4660
4661#ifndef __IInternetProtocolSink_FWD_DEFINED__
4662#define __IInternetProtocolSink_FWD_DEFINED__
4663typedef interface IInternetProtocolSink IInternetProtocolSink;
4664#ifdef __cplusplus
4665interface IInternetProtocolSink;
4666#endif /* __cplusplus */
4667#endif
4668
4669#ifndef __IInternetProtocolInfo_FWD_DEFINED__
4670#define __IInternetProtocolInfo_FWD_DEFINED__
4671typedef interface IInternetProtocolInfo IInternetProtocolInfo;
4672#ifdef __cplusplus
4673interface IInternetProtocolInfo;
4674#endif /* __cplusplus */
4675#endif
4676
4677#ifndef __IInternetSession_FWD_DEFINED__
4678#define __IInternetSession_FWD_DEFINED__
4679typedef interface IInternetSession IInternetSession;
4680#ifdef __cplusplus
4681interface IInternetSession;
4682#endif /* __cplusplus */
4683#endif
4684
4685#ifndef __IInternetProtocolSinkStackable_FWD_DEFINED__
4686#define __IInternetProtocolSinkStackable_FWD_DEFINED__
4687typedef interface IInternetProtocolSinkStackable IInternetProtocolSinkStackable;
4688#ifdef __cplusplus
4689interface IInternetProtocolSinkStackable;
4690#endif /* __cplusplus */
4691#endif
4692
4693
4694#ifndef _LPIINTERNET
4695#define _LPIINTERNET
4696
4697/*****************************************************************************
4698 * IInternet interface
4699 */
4700#ifndef __IInternet_INTERFACE_DEFINED__
4701#define __IInternet_INTERFACE_DEFINED__
4702
4703typedef IInternet *LPIINTERNET;
4704DEFINE_GUID(IID_IInternet, 0x79eac9e0, 0xbaf9, 0x11ce, 0x8c,0x82, 0x00,0xaa,0x00,0x4b,0xa9,0x0b);
4705#if defined(__cplusplus) && !defined(CINTERFACE)
4706MIDL_INTERFACE("79eac9e0-baf9-11ce-8c82-00aa004ba90b")
4707IInternet : public IUnknown
4708{
4709};
4710#ifdef __CRT_UUID_DECL
4711__CRT_UUID_DECL(IInternet, 0x79eac9e0, 0xbaf9, 0x11ce, 0x8c,0x82, 0x00,0xaa,0x00,0x4b,0xa9,0x0b)
4712#endif
4713#else
4714typedef struct IInternetVtbl {
4715 BEGIN_INTERFACE
4716
4717 /*** IUnknown methods ***/
4718 HRESULT (STDMETHODCALLTYPE *QueryInterface)(
4719 IInternet *This,
4720 REFIID riid,
4721 void **ppvObject);
4722
4723 ULONG (STDMETHODCALLTYPE *AddRef)(
4724 IInternet *This);
4725
4726 ULONG (STDMETHODCALLTYPE *Release)(
4727 IInternet *This);
4728
4729 END_INTERFACE
4730} IInternetVtbl;
4731
4732interface IInternet {
4733 CONST_VTBL IInternetVtbl* lpVtbl;
4734};
4735
4736#ifdef COBJMACROS
4737#ifndef WIDL_C_INLINE_WRAPPERS
4738/*** IUnknown methods ***/
4739#define IInternet_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject)
4740#define IInternet_AddRef(This) (This)->lpVtbl->AddRef(This)
4741#define IInternet_Release(This) (This)->lpVtbl->Release(This)
4742#else
4743/*** IUnknown methods ***/
4744static inline HRESULT IInternet_QueryInterface(IInternet* This,REFIID riid,void **ppvObject) {
4745 return This->lpVtbl->QueryInterface(This,riid,ppvObject);
4746}
4747static inline ULONG IInternet_AddRef(IInternet* This) {
4748 return This->lpVtbl->AddRef(This);
4749}
4750static inline ULONG IInternet_Release(IInternet* This) {
4751 return This->lpVtbl->Release(This);
4752}
4753#endif
4754#endif
4755
4756#endif
4757
4758
4759#endif /* __IInternet_INTERFACE_DEFINED__ */
4760
4761#endif
4762
4763#ifndef _LPIINTERNETBINDINFO
4764#define _LPIINTERNETBINDINFO
4765
4766/*****************************************************************************
4767 * IInternetBindInfo interface
4768 */
4769#ifndef __IInternetBindInfo_INTERFACE_DEFINED__
4770#define __IInternetBindInfo_INTERFACE_DEFINED__
4771
4772typedef IInternetBindInfo *LPIINTERNETBINDINFO;
4773
4774typedef enum tagBINDSTRING {
4775 BINDSTRING_HEADERS = 1,
4776 BINDSTRING_ACCEPT_MIMES = 2,
4777 BINDSTRING_EXTRA_URL = 3,
4778 BINDSTRING_LANGUAGE = 4,
4779 BINDSTRING_USERNAME = 5,
4780 BINDSTRING_PASSWORD = 6,
4781 BINDSTRING_UA_PIXELS = 7,
4782 BINDSTRING_UA_COLOR = 8,
4783 BINDSTRING_OS = 9,
4784 BINDSTRING_USER_AGENT = 10,
4785 BINDSTRING_ACCEPT_ENCODINGS = 11,
4786 BINDSTRING_POST_COOKIE = 12,
4787 BINDSTRING_POST_DATA_MIME = 13,
4788 BINDSTRING_URL = 14,
4789 BINDSTRING_IID = 15,
4790 BINDSTRING_FLAG_BIND_TO_OBJECT = 16,
4791 BINDSTRING_PTR_BIND_CONTEXT = 17,
4792 BINDSTRING_XDR_ORIGIN = 18,
4793 BINDSTRING_DOWNLOADPATH = 19,
4794 BINDSTRING_ROOTDOC_URL = 20,
4795 BINDSTRING_INITIAL_FILENAME = 21,
4796 BINDSTRING_PROXY_USERNAME = 22,
4797 BINDSTRING_PROXY_PASSWORD = 23
4798} BINDSTRING;
4799
4800DEFINE_GUID(IID_IInternetBindInfo, 0x79eac9e1, 0xbaf9, 0x11ce, 0x8c,0x82, 0x00,0xaa,0x00,0x4b,0xa9,0x0b);
4801#if defined(__cplusplus) && !defined(CINTERFACE)
4802MIDL_INTERFACE("79eac9e1-baf9-11ce-8c82-00aa004ba90b")
4803IInternetBindInfo : public IUnknown
4804{
4805 virtual HRESULT STDMETHODCALLTYPE GetBindInfo(
4806 DWORD *grfBINDF,
4807 BINDINFO *pbindinfo) = 0;
4808
4809 virtual HRESULT STDMETHODCALLTYPE GetBindString(
4810 ULONG ulStringType,
4811 LPOLESTR *ppwzStr,
4812 ULONG cEl,
4813 ULONG *pcElFetched) = 0;
4814
4815};
4816#ifdef __CRT_UUID_DECL
4817__CRT_UUID_DECL(IInternetBindInfo, 0x79eac9e1, 0xbaf9, 0x11ce, 0x8c,0x82, 0x00,0xaa,0x00,0x4b,0xa9,0x0b)
4818#endif
4819#else
4820typedef struct IInternetBindInfoVtbl {
4821 BEGIN_INTERFACE
4822
4823 /*** IUnknown methods ***/
4824 HRESULT (STDMETHODCALLTYPE *QueryInterface)(
4825 IInternetBindInfo *This,
4826 REFIID riid,
4827 void **ppvObject);
4828
4829 ULONG (STDMETHODCALLTYPE *AddRef)(
4830 IInternetBindInfo *This);
4831
4832 ULONG (STDMETHODCALLTYPE *Release)(
4833 IInternetBindInfo *This);
4834
4835 /*** IInternetBindInfo methods ***/
4836 HRESULT (STDMETHODCALLTYPE *GetBindInfo)(
4837 IInternetBindInfo *This,
4838 DWORD *grfBINDF,
4839 BINDINFO *pbindinfo);
4840
4841 HRESULT (STDMETHODCALLTYPE *GetBindString)(
4842 IInternetBindInfo *This,
4843 ULONG ulStringType,
4844 LPOLESTR *ppwzStr,
4845 ULONG cEl,
4846 ULONG *pcElFetched);
4847
4848 END_INTERFACE
4849} IInternetBindInfoVtbl;
4850
4851interface IInternetBindInfo {
4852 CONST_VTBL IInternetBindInfoVtbl* lpVtbl;
4853};
4854
4855#ifdef COBJMACROS
4856#ifndef WIDL_C_INLINE_WRAPPERS
4857/*** IUnknown methods ***/
4858#define IInternetBindInfo_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject)
4859#define IInternetBindInfo_AddRef(This) (This)->lpVtbl->AddRef(This)
4860#define IInternetBindInfo_Release(This) (This)->lpVtbl->Release(This)
4861/*** IInternetBindInfo methods ***/
4862#define IInternetBindInfo_GetBindInfo(This,grfBINDF,pbindinfo) (This)->lpVtbl->GetBindInfo(This,grfBINDF,pbindinfo)
4863#define IInternetBindInfo_GetBindString(This,ulStringType,ppwzStr,cEl,pcElFetched) (This)->lpVtbl->GetBindString(This,ulStringType,ppwzStr,cEl,pcElFetched)
4864#else
4865/*** IUnknown methods ***/
4866static inline HRESULT IInternetBindInfo_QueryInterface(IInternetBindInfo* This,REFIID riid,void **ppvObject) {
4867 return This->lpVtbl->QueryInterface(This,riid,ppvObject);
4868}
4869static inline ULONG IInternetBindInfo_AddRef(IInternetBindInfo* This) {
4870 return This->lpVtbl->AddRef(This);
4871}
4872static inline ULONG IInternetBindInfo_Release(IInternetBindInfo* This) {
4873 return This->lpVtbl->Release(This);
4874}
4875/*** IInternetBindInfo methods ***/
4876static inline HRESULT IInternetBindInfo_GetBindInfo(IInternetBindInfo* This,DWORD *grfBINDF,BINDINFO *pbindinfo) {
4877 return This->lpVtbl->GetBindInfo(This,grfBINDF,pbindinfo);
4878}
4879static inline HRESULT IInternetBindInfo_GetBindString(IInternetBindInfo* This,ULONG ulStringType,LPOLESTR *ppwzStr,ULONG cEl,ULONG *pcElFetched) {
4880 return This->lpVtbl->GetBindString(This,ulStringType,ppwzStr,cEl,pcElFetched);
4881}
4882#endif
4883#endif
4884
4885#endif
4886
4887
4888#endif /* __IInternetBindInfo_INTERFACE_DEFINED__ */
4889
4890#endif
4891
4892#ifndef _LPIINTERNETBINDINFOEX
4893#define _LPIINTERNETBINDINFOEX
4894
4895/*****************************************************************************
4896 * IInternetBindInfoEx interface
4897 */
4898#ifndef __IInternetBindInfoEx_INTERFACE_DEFINED__
4899#define __IInternetBindInfoEx_INTERFACE_DEFINED__
4900
4901typedef IInternetBindInfoEx *LPIINTERNETBINDINFOEX;
4902
4903DEFINE_GUID(IID_IInternetBindInfoEx, 0xa3e015b7, 0xa82c, 0x4dcd, 0xa1,0x50, 0x56,0x9a,0xee,0xed,0x36,0xab);
4904#if defined(__cplusplus) && !defined(CINTERFACE)
4905MIDL_INTERFACE("a3e015b7-a82c-4dcd-a150-569aeeed36ab")
4906IInternetBindInfoEx : public IInternetBindInfo
4907{
4908 virtual HRESULT STDMETHODCALLTYPE GetBindInfoEx(
4909 DWORD *grfBINDF,
4910 BINDINFO *pbindinfo,
4911 DWORD *grfBINDF2,
4912 DWORD *pdwReserved) = 0;
4913
4914};
4915#ifdef __CRT_UUID_DECL
4916__CRT_UUID_DECL(IInternetBindInfoEx, 0xa3e015b7, 0xa82c, 0x4dcd, 0xa1,0x50, 0x56,0x9a,0xee,0xed,0x36,0xab)
4917#endif
4918#else
4919typedef struct IInternetBindInfoExVtbl {
4920 BEGIN_INTERFACE
4921
4922 /*** IUnknown methods ***/
4923 HRESULT (STDMETHODCALLTYPE *QueryInterface)(
4924 IInternetBindInfoEx *This,
4925 REFIID riid,
4926 void **ppvObject);
4927
4928 ULONG (STDMETHODCALLTYPE *AddRef)(
4929 IInternetBindInfoEx *This);
4930
4931 ULONG (STDMETHODCALLTYPE *Release)(
4932 IInternetBindInfoEx *This);
4933
4934 /*** IInternetBindInfo methods ***/
4935 HRESULT (STDMETHODCALLTYPE *GetBindInfo)(
4936 IInternetBindInfoEx *This,
4937 DWORD *grfBINDF,
4938 BINDINFO *pbindinfo);
4939
4940 HRESULT (STDMETHODCALLTYPE *GetBindString)(
4941 IInternetBindInfoEx *This,
4942 ULONG ulStringType,
4943 LPOLESTR *ppwzStr,
4944 ULONG cEl,
4945 ULONG *pcElFetched);
4946
4947 /*** IInternetBindInfoEx methods ***/
4948 HRESULT (STDMETHODCALLTYPE *GetBindInfoEx)(
4949 IInternetBindInfoEx *This,
4950 DWORD *grfBINDF,
4951 BINDINFO *pbindinfo,
4952 DWORD *grfBINDF2,
4953 DWORD *pdwReserved);
4954
4955 END_INTERFACE
4956} IInternetBindInfoExVtbl;
4957
4958interface IInternetBindInfoEx {
4959 CONST_VTBL IInternetBindInfoExVtbl* lpVtbl;
4960};
4961
4962#ifdef COBJMACROS
4963#ifndef WIDL_C_INLINE_WRAPPERS
4964/*** IUnknown methods ***/
4965#define IInternetBindInfoEx_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject)
4966#define IInternetBindInfoEx_AddRef(This) (This)->lpVtbl->AddRef(This)
4967#define IInternetBindInfoEx_Release(This) (This)->lpVtbl->Release(This)
4968/*** IInternetBindInfo methods ***/
4969#define IInternetBindInfoEx_GetBindInfo(This,grfBINDF,pbindinfo) (This)->lpVtbl->GetBindInfo(This,grfBINDF,pbindinfo)
4970#define IInternetBindInfoEx_GetBindString(This,ulStringType,ppwzStr,cEl,pcElFetched) (This)->lpVtbl->GetBindString(This,ulStringType,ppwzStr,cEl,pcElFetched)
4971/*** IInternetBindInfoEx methods ***/
4972#define IInternetBindInfoEx_GetBindInfoEx(This,grfBINDF,pbindinfo,grfBINDF2,pdwReserved) (This)->lpVtbl->GetBindInfoEx(This,grfBINDF,pbindinfo,grfBINDF2,pdwReserved)
4973#else
4974/*** IUnknown methods ***/
4975static inline HRESULT IInternetBindInfoEx_QueryInterface(IInternetBindInfoEx* This,REFIID riid,void **ppvObject) {
4976 return This->lpVtbl->QueryInterface(This,riid,ppvObject);
4977}
4978static inline ULONG IInternetBindInfoEx_AddRef(IInternetBindInfoEx* This) {
4979 return This->lpVtbl->AddRef(This);
4980}
4981static inline ULONG IInternetBindInfoEx_Release(IInternetBindInfoEx* This) {
4982 return This->lpVtbl->Release(This);
4983}
4984/*** IInternetBindInfo methods ***/
4985static inline HRESULT IInternetBindInfoEx_GetBindInfo(IInternetBindInfoEx* This,DWORD *grfBINDF,BINDINFO *pbindinfo) {
4986 return This->lpVtbl->GetBindInfo(This,grfBINDF,pbindinfo);
4987}
4988static inline HRESULT IInternetBindInfoEx_GetBindString(IInternetBindInfoEx* This,ULONG ulStringType,LPOLESTR *ppwzStr,ULONG cEl,ULONG *pcElFetched) {
4989 return This->lpVtbl->GetBindString(This,ulStringType,ppwzStr,cEl,pcElFetched);
4990}
4991/*** IInternetBindInfoEx methods ***/
4992static inline HRESULT IInternetBindInfoEx_GetBindInfoEx(IInternetBindInfoEx* This,DWORD *grfBINDF,BINDINFO *pbindinfo,DWORD *grfBINDF2,DWORD *pdwReserved) {
4993 return This->lpVtbl->GetBindInfoEx(This,grfBINDF,pbindinfo,grfBINDF2,pdwReserved);
4994}
4995#endif
4996#endif
4997
4998#endif
4999
5000
5001#endif /* __IInternetBindInfoEx_INTERFACE_DEFINED__ */
5002
5003#endif
5004
5005#ifndef _LPIINTERNETPROTOCOLROOT_DEFINED
5006#define _LPIINTERNETPROTOCOLROOT_DEFINED
5007
5008/*****************************************************************************
5009 * IInternetProtocolRoot interface
5010 */
5011#ifndef __IInternetProtocolRoot_INTERFACE_DEFINED__
5012#define __IInternetProtocolRoot_INTERFACE_DEFINED__
5013
5014typedef IInternetProtocolRoot *LPIINTERNETPROTOCOLROOT;
5015
5016typedef enum _tagPI_FLAGS {
5017 PI_PARSE_URL = 0x1,
5018 PI_FILTER_MODE = 0x2,
5019 PI_FORCE_ASYNC = 0x4,
5020 PI_USE_WORKERTHREAD = 0x8,
5021 PI_MIMEVERIFICATION = 0x10,
5022 PI_CLSIDLOOKUP = 0x20,
5023 PI_DATAPROGRESS = 0x40,
5024 PI_SYNCHRONOUS = 0x80,
5025 PI_APARTMENTTHREADED = 0x100,
5026 PI_CLASSINSTALL = 0x200,
5027 PI_PASSONBINDCTX = 0x2000,
5028 PI_NOMIMEHANDLER = 0x8000,
5029 PI_LOADAPPDIRECT = 0x4000,
5030 PD_FORCE_SWITCH = 0x10000,
5031 PI_PREFERDEFAULTHANDLER = 0x20000
5032} PI_FLAGS;
5033typedef struct _tagPROTOCOLDATA {
5034 DWORD grfFlags;
5035 DWORD dwState;
5036 LPVOID pData;
5037 ULONG cbData;
5038} PROTOCOLDATA;
5039
5040typedef struct _tagStartParam {
5041 IID iid;
5042 IBindCtx *pIBindCtx;
5043 IUnknown *pItf;
5044} StartParam;
5045
5046DEFINE_GUID(IID_IInternetProtocolRoot, 0x79eac9e3, 0xbaf9, 0x11ce, 0x8c,0x82, 0x00,0xaa,0x00,0x4b,0xa9,0x0b);
5047#if defined(__cplusplus) && !defined(CINTERFACE)
5048MIDL_INTERFACE("79eac9e3-baf9-11ce-8c82-00aa004ba90b")
5049IInternetProtocolRoot : public IUnknown
5050{
5051 virtual HRESULT STDMETHODCALLTYPE Start(
5052 LPCWSTR szUrl,
5053 IInternetProtocolSink *pOIProtSink,
5054 IInternetBindInfo *pOIBindInfo,
5055 DWORD grfPI,
5056 HANDLE_PTR dwReserved) = 0;
5057
5058 virtual HRESULT STDMETHODCALLTYPE Continue(
5059 PROTOCOLDATA *pProtocolData) = 0;
5060
5061 virtual HRESULT STDMETHODCALLTYPE Abort(
5062 HRESULT hrReason,
5063 DWORD dwOptions) = 0;
5064
5065 virtual HRESULT STDMETHODCALLTYPE Terminate(
5066 DWORD dwOptions) = 0;
5067
5068 virtual HRESULT STDMETHODCALLTYPE Suspend(
5069 ) = 0;
5070
5071 virtual HRESULT STDMETHODCALLTYPE Resume(
5072 ) = 0;
5073
5074};
5075#ifdef __CRT_UUID_DECL
5076__CRT_UUID_DECL(IInternetProtocolRoot, 0x79eac9e3, 0xbaf9, 0x11ce, 0x8c,0x82, 0x00,0xaa,0x00,0x4b,0xa9,0x0b)
5077#endif
5078#else
5079typedef struct IInternetProtocolRootVtbl {
5080 BEGIN_INTERFACE
5081
5082 /*** IUnknown methods ***/
5083 HRESULT (STDMETHODCALLTYPE *QueryInterface)(
5084 IInternetProtocolRoot *This,
5085 REFIID riid,
5086 void **ppvObject);
5087
5088 ULONG (STDMETHODCALLTYPE *AddRef)(
5089 IInternetProtocolRoot *This);
5090
5091 ULONG (STDMETHODCALLTYPE *Release)(
5092 IInternetProtocolRoot *This);
5093
5094 /*** IInternetProtocolRoot methods ***/
5095 HRESULT (STDMETHODCALLTYPE *Start)(
5096 IInternetProtocolRoot *This,
5097 LPCWSTR szUrl,
5098 IInternetProtocolSink *pOIProtSink,
5099 IInternetBindInfo *pOIBindInfo,
5100 DWORD grfPI,
5101 HANDLE_PTR dwReserved);
5102
5103 HRESULT (STDMETHODCALLTYPE *Continue)(
5104 IInternetProtocolRoot *This,
5105 PROTOCOLDATA *pProtocolData);
5106
5107 HRESULT (STDMETHODCALLTYPE *Abort)(
5108 IInternetProtocolRoot *This,
5109 HRESULT hrReason,
5110 DWORD dwOptions);
5111
5112 HRESULT (STDMETHODCALLTYPE *Terminate)(
5113 IInternetProtocolRoot *This,
5114 DWORD dwOptions);
5115
5116 HRESULT (STDMETHODCALLTYPE *Suspend)(
5117 IInternetProtocolRoot *This);
5118
5119 HRESULT (STDMETHODCALLTYPE *Resume)(
5120 IInternetProtocolRoot *This);
5121
5122 END_INTERFACE
5123} IInternetProtocolRootVtbl;
5124
5125interface IInternetProtocolRoot {
5126 CONST_VTBL IInternetProtocolRootVtbl* lpVtbl;
5127};
5128
5129#ifdef COBJMACROS
5130#ifndef WIDL_C_INLINE_WRAPPERS
5131/*** IUnknown methods ***/
5132#define IInternetProtocolRoot_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject)
5133#define IInternetProtocolRoot_AddRef(This) (This)->lpVtbl->AddRef(This)
5134#define IInternetProtocolRoot_Release(This) (This)->lpVtbl->Release(This)
5135/*** IInternetProtocolRoot methods ***/
5136#define IInternetProtocolRoot_Start(This,szUrl,pOIProtSink,pOIBindInfo,grfPI,dwReserved) (This)->lpVtbl->Start(This,szUrl,pOIProtSink,pOIBindInfo,grfPI,dwReserved)
5137#define IInternetProtocolRoot_Continue(This,pProtocolData) (This)->lpVtbl->Continue(This,pProtocolData)
5138#define IInternetProtocolRoot_Abort(This,hrReason,dwOptions) (This)->lpVtbl->Abort(This,hrReason,dwOptions)
5139#define IInternetProtocolRoot_Terminate(This,dwOptions) (This)->lpVtbl->Terminate(This,dwOptions)
5140#define IInternetProtocolRoot_Suspend(This) (This)->lpVtbl->Suspend(This)
5141#define IInternetProtocolRoot_Resume(This) (This)->lpVtbl->Resume(This)
5142#else
5143/*** IUnknown methods ***/
5144static inline HRESULT IInternetProtocolRoot_QueryInterface(IInternetProtocolRoot* This,REFIID riid,void **ppvObject) {
5145 return This->lpVtbl->QueryInterface(This,riid,ppvObject);
5146}
5147static inline ULONG IInternetProtocolRoot_AddRef(IInternetProtocolRoot* This) {
5148 return This->lpVtbl->AddRef(This);
5149}
5150static inline ULONG IInternetProtocolRoot_Release(IInternetProtocolRoot* This) {
5151 return This->lpVtbl->Release(This);
5152}
5153/*** IInternetProtocolRoot methods ***/
5154static inline HRESULT IInternetProtocolRoot_Start(IInternetProtocolRoot* This,LPCWSTR szUrl,IInternetProtocolSink *pOIProtSink,IInternetBindInfo *pOIBindInfo,DWORD grfPI,HANDLE_PTR dwReserved) {
5155 return This->lpVtbl->Start(This,szUrl,pOIProtSink,pOIBindInfo,grfPI,dwReserved);
5156}
5157static inline HRESULT IInternetProtocolRoot_Continue(IInternetProtocolRoot* This,PROTOCOLDATA *pProtocolData) {
5158 return This->lpVtbl->Continue(This,pProtocolData);
5159}
5160static inline HRESULT IInternetProtocolRoot_Abort(IInternetProtocolRoot* This,HRESULT hrReason,DWORD dwOptions) {
5161 return This->lpVtbl->Abort(This,hrReason,dwOptions);
5162}
5163static inline HRESULT IInternetProtocolRoot_Terminate(IInternetProtocolRoot* This,DWORD dwOptions) {
5164 return This->lpVtbl->Terminate(This,dwOptions);
5165}
5166static inline HRESULT IInternetProtocolRoot_Suspend(IInternetProtocolRoot* This) {
5167 return This->lpVtbl->Suspend(This);
5168}
5169static inline HRESULT IInternetProtocolRoot_Resume(IInternetProtocolRoot* This) {
5170 return This->lpVtbl->Resume(This);
5171}
5172#endif
5173#endif
5174
5175#endif
5176
5177
5178#endif /* __IInternetProtocolRoot_INTERFACE_DEFINED__ */
5179
5180#endif
5181
5182#ifndef _LPIINTERNETPROTOCOL_DEFINED
5183#define _LPIINTERNETPROTOCOL_DEFINED
5184
5185/*****************************************************************************
5186 * IInternetProtocol interface
5187 */
5188#ifndef __IInternetProtocol_INTERFACE_DEFINED__
5189#define __IInternetProtocol_INTERFACE_DEFINED__
5190
5191typedef IInternetProtocol *LPIINTERNETPROTOCOL;
5192
5193DEFINE_GUID(IID_IInternetProtocol, 0x79eac9e4, 0xbaf9, 0x11ce, 0x8c,0x82, 0x00,0xaa,0x00,0x4b,0xa9,0x0b);
5194#if defined(__cplusplus) && !defined(CINTERFACE)
5195MIDL_INTERFACE("79eac9e4-baf9-11ce-8c82-00aa004ba90b")
5196IInternetProtocol : public IInternetProtocolRoot
5197{
5198 virtual HRESULT STDMETHODCALLTYPE Read(
5199 void *pv,
5200 ULONG cb,
5201 ULONG *pcbRead) = 0;
5202
5203 virtual HRESULT STDMETHODCALLTYPE Seek(
5204 LARGE_INTEGER dlibMove,
5205 DWORD dwOrigin,
5206 ULARGE_INTEGER *plibNewPosition) = 0;
5207
5208 virtual HRESULT STDMETHODCALLTYPE LockRequest(
5209 DWORD dwOptions) = 0;
5210
5211 virtual HRESULT STDMETHODCALLTYPE UnlockRequest(
5212 ) = 0;
5213
5214};
5215#ifdef __CRT_UUID_DECL
5216__CRT_UUID_DECL(IInternetProtocol, 0x79eac9e4, 0xbaf9, 0x11ce, 0x8c,0x82, 0x00,0xaa,0x00,0x4b,0xa9,0x0b)
5217#endif
5218#else
5219typedef struct IInternetProtocolVtbl {
5220 BEGIN_INTERFACE
5221
5222 /*** IUnknown methods ***/
5223 HRESULT (STDMETHODCALLTYPE *QueryInterface)(
5224 IInternetProtocol *This,
5225 REFIID riid,
5226 void **ppvObject);
5227
5228 ULONG (STDMETHODCALLTYPE *AddRef)(
5229 IInternetProtocol *This);
5230
5231 ULONG (STDMETHODCALLTYPE *Release)(
5232 IInternetProtocol *This);
5233
5234 /*** IInternetProtocolRoot methods ***/
5235 HRESULT (STDMETHODCALLTYPE *Start)(
5236 IInternetProtocol *This,
5237 LPCWSTR szUrl,
5238 IInternetProtocolSink *pOIProtSink,
5239 IInternetBindInfo *pOIBindInfo,
5240 DWORD grfPI,
5241 HANDLE_PTR dwReserved);
5242
5243 HRESULT (STDMETHODCALLTYPE *Continue)(
5244 IInternetProtocol *This,
5245 PROTOCOLDATA *pProtocolData);
5246
5247 HRESULT (STDMETHODCALLTYPE *Abort)(
5248 IInternetProtocol *This,
5249 HRESULT hrReason,
5250 DWORD dwOptions);
5251
5252 HRESULT (STDMETHODCALLTYPE *Terminate)(
5253 IInternetProtocol *This,
5254 DWORD dwOptions);
5255
5256 HRESULT (STDMETHODCALLTYPE *Suspend)(
5257 IInternetProtocol *This);
5258
5259 HRESULT (STDMETHODCALLTYPE *Resume)(
5260 IInternetProtocol *This);
5261
5262 /*** IInternetProtocol methods ***/
5263 HRESULT (STDMETHODCALLTYPE *Read)(
5264 IInternetProtocol *This,
5265 void *pv,
5266 ULONG cb,
5267 ULONG *pcbRead);
5268
5269 HRESULT (STDMETHODCALLTYPE *Seek)(
5270 IInternetProtocol *This,
5271 LARGE_INTEGER dlibMove,
5272 DWORD dwOrigin,
5273 ULARGE_INTEGER *plibNewPosition);
5274
5275 HRESULT (STDMETHODCALLTYPE *LockRequest)(
5276 IInternetProtocol *This,
5277 DWORD dwOptions);
5278
5279 HRESULT (STDMETHODCALLTYPE *UnlockRequest)(
5280 IInternetProtocol *This);
5281
5282 END_INTERFACE
5283} IInternetProtocolVtbl;
5284
5285interface IInternetProtocol {
5286 CONST_VTBL IInternetProtocolVtbl* lpVtbl;
5287};
5288
5289#ifdef COBJMACROS
5290#ifndef WIDL_C_INLINE_WRAPPERS
5291/*** IUnknown methods ***/
5292#define IInternetProtocol_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject)
5293#define IInternetProtocol_AddRef(This) (This)->lpVtbl->AddRef(This)
5294#define IInternetProtocol_Release(This) (This)->lpVtbl->Release(This)
5295/*** IInternetProtocolRoot methods ***/
5296#define IInternetProtocol_Start(This,szUrl,pOIProtSink,pOIBindInfo,grfPI,dwReserved) (This)->lpVtbl->Start(This,szUrl,pOIProtSink,pOIBindInfo,grfPI,dwReserved)
5297#define IInternetProtocol_Continue(This,pProtocolData) (This)->lpVtbl->Continue(This,pProtocolData)
5298#define IInternetProtocol_Abort(This,hrReason,dwOptions) (This)->lpVtbl->Abort(This,hrReason,dwOptions)
5299#define IInternetProtocol_Terminate(This,dwOptions) (This)->lpVtbl->Terminate(This,dwOptions)
5300#define IInternetProtocol_Suspend(This) (This)->lpVtbl->Suspend(This)
5301#define IInternetProtocol_Resume(This) (This)->lpVtbl->Resume(This)
5302/*** IInternetProtocol methods ***/
5303#define IInternetProtocol_Read(This,pv,cb,pcbRead) (This)->lpVtbl->Read(This,pv,cb,pcbRead)
5304#define IInternetProtocol_Seek(This,dlibMove,dwOrigin,plibNewPosition) (This)->lpVtbl->Seek(This,dlibMove,dwOrigin,plibNewPosition)
5305#define IInternetProtocol_LockRequest(This,dwOptions) (This)->lpVtbl->LockRequest(This,dwOptions)
5306#define IInternetProtocol_UnlockRequest(This) (This)->lpVtbl->UnlockRequest(This)
5307#else
5308/*** IUnknown methods ***/
5309static inline HRESULT IInternetProtocol_QueryInterface(IInternetProtocol* This,REFIID riid,void **ppvObject) {
5310 return This->lpVtbl->QueryInterface(This,riid,ppvObject);
5311}
5312static inline ULONG IInternetProtocol_AddRef(IInternetProtocol* This) {
5313 return This->lpVtbl->AddRef(This);
5314}
5315static inline ULONG IInternetProtocol_Release(IInternetProtocol* This) {
5316 return This->lpVtbl->Release(This);
5317}
5318/*** IInternetProtocolRoot methods ***/
5319static inline HRESULT IInternetProtocol_Start(IInternetProtocol* This,LPCWSTR szUrl,IInternetProtocolSink *pOIProtSink,IInternetBindInfo *pOIBindInfo,DWORD grfPI,HANDLE_PTR dwReserved) {
5320 return This->lpVtbl->Start(This,szUrl,pOIProtSink,pOIBindInfo,grfPI,dwReserved);
5321}
5322static inline HRESULT IInternetProtocol_Continue(IInternetProtocol* This,PROTOCOLDATA *pProtocolData) {
5323 return This->lpVtbl->Continue(This,pProtocolData);
5324}
5325static inline HRESULT IInternetProtocol_Abort(IInternetProtocol* This,HRESULT hrReason,DWORD dwOptions) {
5326 return This->lpVtbl->Abort(This,hrReason,dwOptions);
5327}
5328static inline HRESULT IInternetProtocol_Terminate(IInternetProtocol* This,DWORD dwOptions) {
5329 return This->lpVtbl->Terminate(This,dwOptions);
5330}
5331static inline HRESULT IInternetProtocol_Suspend(IInternetProtocol* This) {
5332 return This->lpVtbl->Suspend(This);
5333}
5334static inline HRESULT IInternetProtocol_Resume(IInternetProtocol* This) {
5335 return This->lpVtbl->Resume(This);
5336}
5337/*** IInternetProtocol methods ***/
5338static inline HRESULT IInternetProtocol_Read(IInternetProtocol* This,void *pv,ULONG cb,ULONG *pcbRead) {
5339 return This->lpVtbl->Read(This,pv,cb,pcbRead);
5340}
5341static inline HRESULT IInternetProtocol_Seek(IInternetProtocol* This,LARGE_INTEGER dlibMove,DWORD dwOrigin,ULARGE_INTEGER *plibNewPosition) {
5342 return This->lpVtbl->Seek(This,dlibMove,dwOrigin,plibNewPosition);
5343}
5344static inline HRESULT IInternetProtocol_LockRequest(IInternetProtocol* This,DWORD dwOptions) {
5345 return This->lpVtbl->LockRequest(This,dwOptions);
5346}
5347static inline HRESULT IInternetProtocol_UnlockRequest(IInternetProtocol* This) {
5348 return This->lpVtbl->UnlockRequest(This);
5349}
5350#endif
5351#endif
5352
5353#endif
5354
5355
5356#endif /* __IInternetProtocol_INTERFACE_DEFINED__ */
5357
5358#endif
5359
5360#if (_WIN32_IE >= _WIN32_IE_IE70)
5361#ifndef _LPIINTERNETPROTOCOLEX_DEFINED
5362#define _LPIINTERNETPROTOCOLEX_DEFINED
5363
5364/*****************************************************************************
5365 * IInternetProtocolEx interface
5366 */
5367#ifndef __IInternetProtocolEx_INTERFACE_DEFINED__
5368#define __IInternetProtocolEx_INTERFACE_DEFINED__
5369
5370DEFINE_GUID(IID_IInternetProtocolEx, 0xc7a98e66, 0x1010, 0x492c, 0xa1,0xc8, 0xc8,0x09,0xe1,0xf7,0x59,0x05);
5371#if defined(__cplusplus) && !defined(CINTERFACE)
5372MIDL_INTERFACE("c7a98e66-1010-492c-a1c8-c809e1f75905")
5373IInternetProtocolEx : public IInternetProtocol
5374{
5375 virtual HRESULT STDMETHODCALLTYPE StartEx(
5376 IUri *pUri,
5377 IInternetProtocolSink *pOIProtSink,
5378 IInternetBindInfo *pOIBindInfo,
5379 DWORD grfPI,
5380 HANDLE_PTR dwReserved) = 0;
5381
5382};
5383#ifdef __CRT_UUID_DECL
5384__CRT_UUID_DECL(IInternetProtocolEx, 0xc7a98e66, 0x1010, 0x492c, 0xa1,0xc8, 0xc8,0x09,0xe1,0xf7,0x59,0x05)
5385#endif
5386#else
5387typedef struct IInternetProtocolExVtbl {
5388 BEGIN_INTERFACE
5389
5390 /*** IUnknown methods ***/
5391 HRESULT (STDMETHODCALLTYPE *QueryInterface)(
5392 IInternetProtocolEx *This,
5393 REFIID riid,
5394 void **ppvObject);
5395
5396 ULONG (STDMETHODCALLTYPE *AddRef)(
5397 IInternetProtocolEx *This);
5398
5399 ULONG (STDMETHODCALLTYPE *Release)(
5400 IInternetProtocolEx *This);
5401
5402 /*** IInternetProtocolRoot methods ***/
5403 HRESULT (STDMETHODCALLTYPE *Start)(
5404 IInternetProtocolEx *This,
5405 LPCWSTR szUrl,
5406 IInternetProtocolSink *pOIProtSink,
5407 IInternetBindInfo *pOIBindInfo,
5408 DWORD grfPI,
5409 HANDLE_PTR dwReserved);
5410
5411 HRESULT (STDMETHODCALLTYPE *Continue)(
5412 IInternetProtocolEx *This,
5413 PROTOCOLDATA *pProtocolData);
5414
5415 HRESULT (STDMETHODCALLTYPE *Abort)(
5416 IInternetProtocolEx *This,
5417 HRESULT hrReason,
5418 DWORD dwOptions);
5419
5420 HRESULT (STDMETHODCALLTYPE *Terminate)(
5421 IInternetProtocolEx *This,
5422 DWORD dwOptions);
5423
5424 HRESULT (STDMETHODCALLTYPE *Suspend)(
5425 IInternetProtocolEx *This);
5426
5427 HRESULT (STDMETHODCALLTYPE *Resume)(
5428 IInternetProtocolEx *This);
5429
5430 /*** IInternetProtocol methods ***/
5431 HRESULT (STDMETHODCALLTYPE *Read)(
5432 IInternetProtocolEx *This,
5433 void *pv,
5434 ULONG cb,
5435 ULONG *pcbRead);
5436
5437 HRESULT (STDMETHODCALLTYPE *Seek)(
5438 IInternetProtocolEx *This,
5439 LARGE_INTEGER dlibMove,
5440 DWORD dwOrigin,
5441 ULARGE_INTEGER *plibNewPosition);
5442
5443 HRESULT (STDMETHODCALLTYPE *LockRequest)(
5444 IInternetProtocolEx *This,
5445 DWORD dwOptions);
5446
5447 HRESULT (STDMETHODCALLTYPE *UnlockRequest)(
5448 IInternetProtocolEx *This);
5449
5450 /*** IInternetProtocolEx methods ***/
5451 HRESULT (STDMETHODCALLTYPE *StartEx)(
5452 IInternetProtocolEx *This,
5453 IUri *pUri,
5454 IInternetProtocolSink *pOIProtSink,
5455 IInternetBindInfo *pOIBindInfo,
5456 DWORD grfPI,
5457 HANDLE_PTR dwReserved);
5458
5459 END_INTERFACE
5460} IInternetProtocolExVtbl;
5461
5462interface IInternetProtocolEx {
5463 CONST_VTBL IInternetProtocolExVtbl* lpVtbl;
5464};
5465
5466#ifdef COBJMACROS
5467#ifndef WIDL_C_INLINE_WRAPPERS
5468/*** IUnknown methods ***/
5469#define IInternetProtocolEx_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject)
5470#define IInternetProtocolEx_AddRef(This) (This)->lpVtbl->AddRef(This)
5471#define IInternetProtocolEx_Release(This) (This)->lpVtbl->Release(This)
5472/*** IInternetProtocolRoot methods ***/
5473#define IInternetProtocolEx_Start(This,szUrl,pOIProtSink,pOIBindInfo,grfPI,dwReserved) (This)->lpVtbl->Start(This,szUrl,pOIProtSink,pOIBindInfo,grfPI,dwReserved)
5474#define IInternetProtocolEx_Continue(This,pProtocolData) (This)->lpVtbl->Continue(This,pProtocolData)
5475#define IInternetProtocolEx_Abort(This,hrReason,dwOptions) (This)->lpVtbl->Abort(This,hrReason,dwOptions)
5476#define IInternetProtocolEx_Terminate(This,dwOptions) (This)->lpVtbl->Terminate(This,dwOptions)
5477#define IInternetProtocolEx_Suspend(This) (This)->lpVtbl->Suspend(This)
5478#define IInternetProtocolEx_Resume(This) (This)->lpVtbl->Resume(This)
5479/*** IInternetProtocol methods ***/
5480#define IInternetProtocolEx_Read(This,pv,cb,pcbRead) (This)->lpVtbl->Read(This,pv,cb,pcbRead)
5481#define IInternetProtocolEx_Seek(This,dlibMove,dwOrigin,plibNewPosition) (This)->lpVtbl->Seek(This,dlibMove,dwOrigin,plibNewPosition)
5482#define IInternetProtocolEx_LockRequest(This,dwOptions) (This)->lpVtbl->LockRequest(This,dwOptions)
5483#define IInternetProtocolEx_UnlockRequest(This) (This)->lpVtbl->UnlockRequest(This)
5484/*** IInternetProtocolEx methods ***/
5485#define IInternetProtocolEx_StartEx(This,pUri,pOIProtSink,pOIBindInfo,grfPI,dwReserved) (This)->lpVtbl->StartEx(This,pUri,pOIProtSink,pOIBindInfo,grfPI,dwReserved)
5486#else
5487/*** IUnknown methods ***/
5488static inline HRESULT IInternetProtocolEx_QueryInterface(IInternetProtocolEx* This,REFIID riid,void **ppvObject) {
5489 return This->lpVtbl->QueryInterface(This,riid,ppvObject);
5490}
5491static inline ULONG IInternetProtocolEx_AddRef(IInternetProtocolEx* This) {
5492 return This->lpVtbl->AddRef(This);
5493}
5494static inline ULONG IInternetProtocolEx_Release(IInternetProtocolEx* This) {
5495 return This->lpVtbl->Release(This);
5496}
5497/*** IInternetProtocolRoot methods ***/
5498static inline HRESULT IInternetProtocolEx_Start(IInternetProtocolEx* This,LPCWSTR szUrl,IInternetProtocolSink *pOIProtSink,IInternetBindInfo *pOIBindInfo,DWORD grfPI,HANDLE_PTR dwReserved) {
5499 return This->lpVtbl->Start(This,szUrl,pOIProtSink,pOIBindInfo,grfPI,dwReserved);
5500}
5501static inline HRESULT IInternetProtocolEx_Continue(IInternetProtocolEx* This,PROTOCOLDATA *pProtocolData) {
5502 return This->lpVtbl->Continue(This,pProtocolData);
5503}
5504static inline HRESULT IInternetProtocolEx_Abort(IInternetProtocolEx* This,HRESULT hrReason,DWORD dwOptions) {
5505 return This->lpVtbl->Abort(This,hrReason,dwOptions);
5506}
5507static inline HRESULT IInternetProtocolEx_Terminate(IInternetProtocolEx* This,DWORD dwOptions) {
5508 return This->lpVtbl->Terminate(This,dwOptions);
5509}
5510static inline HRESULT IInternetProtocolEx_Suspend(IInternetProtocolEx* This) {
5511 return This->lpVtbl->Suspend(This);
5512}
5513static inline HRESULT IInternetProtocolEx_Resume(IInternetProtocolEx* This) {
5514 return This->lpVtbl->Resume(This);
5515}
5516/*** IInternetProtocol methods ***/
5517static inline HRESULT IInternetProtocolEx_Read(IInternetProtocolEx* This,void *pv,ULONG cb,ULONG *pcbRead) {
5518 return This->lpVtbl->Read(This,pv,cb,pcbRead);
5519}
5520static inline HRESULT IInternetProtocolEx_Seek(IInternetProtocolEx* This,LARGE_INTEGER dlibMove,DWORD dwOrigin,ULARGE_INTEGER *plibNewPosition) {
5521 return This->lpVtbl->Seek(This,dlibMove,dwOrigin,plibNewPosition);
5522}
5523static inline HRESULT IInternetProtocolEx_LockRequest(IInternetProtocolEx* This,DWORD dwOptions) {
5524 return This->lpVtbl->LockRequest(This,dwOptions);
5525}
5526static inline HRESULT IInternetProtocolEx_UnlockRequest(IInternetProtocolEx* This) {
5527 return This->lpVtbl->UnlockRequest(This);
5528}
5529/*** IInternetProtocolEx methods ***/
5530static inline HRESULT IInternetProtocolEx_StartEx(IInternetProtocolEx* This,IUri *pUri,IInternetProtocolSink *pOIProtSink,IInternetBindInfo *pOIBindInfo,DWORD grfPI,HANDLE_PTR dwReserved) {
5531 return This->lpVtbl->StartEx(This,pUri,pOIProtSink,pOIBindInfo,grfPI,dwReserved);
5532}
5533#endif
5534#endif
5535
5536#endif
5537
5538
5539#endif /* __IInternetProtocolEx_INTERFACE_DEFINED__ */
5540
5541#endif
5542#endif
5543
5544#ifndef _LPIINTERNETPROTOCOLSINK_DEFINED
5545#define _LPIINTERNETPROTOCOLSINK_DEFINED
5546/*****************************************************************************
5547 * IInternetProtocolSink interface
5548 */
5549#ifndef __IInternetProtocolSink_INTERFACE_DEFINED__
5550#define __IInternetProtocolSink_INTERFACE_DEFINED__
5551
5552typedef IInternetProtocolSink *LPIINTERNETPROTOCOLSINK;
5553
5554DEFINE_GUID(IID_IInternetProtocolSink, 0x79eac9e5, 0xbaf9, 0x11ce, 0x8c,0x82, 0x00,0xaa,0x00,0x4b,0xa9,0x0b);
5555#if defined(__cplusplus) && !defined(CINTERFACE)
5556MIDL_INTERFACE("79eac9e5-baf9-11ce-8c82-00aa004ba90b")
5557IInternetProtocolSink : public IUnknown
5558{
5559 virtual HRESULT STDMETHODCALLTYPE Switch(
5560 PROTOCOLDATA *pProtocolData) = 0;
5561
5562 virtual HRESULT STDMETHODCALLTYPE ReportProgress(
5563 ULONG ulStatusCode,
5564 LPCWSTR szStatusText) = 0;
5565
5566 virtual HRESULT STDMETHODCALLTYPE ReportData(
5567 DWORD grfBSCF,
5568 ULONG ulProgress,
5569 ULONG ulProgressMax) = 0;
5570
5571 virtual HRESULT STDMETHODCALLTYPE ReportResult(
5572 HRESULT hrResult,
5573 DWORD dwError,
5574 LPCWSTR szResult) = 0;
5575
5576};
5577#ifdef __CRT_UUID_DECL
5578__CRT_UUID_DECL(IInternetProtocolSink, 0x79eac9e5, 0xbaf9, 0x11ce, 0x8c,0x82, 0x00,0xaa,0x00,0x4b,0xa9,0x0b)
5579#endif
5580#else
5581typedef struct IInternetProtocolSinkVtbl {
5582 BEGIN_INTERFACE
5583
5584 /*** IUnknown methods ***/
5585 HRESULT (STDMETHODCALLTYPE *QueryInterface)(
5586 IInternetProtocolSink *This,
5587 REFIID riid,
5588 void **ppvObject);
5589
5590 ULONG (STDMETHODCALLTYPE *AddRef)(
5591 IInternetProtocolSink *This);
5592
5593 ULONG (STDMETHODCALLTYPE *Release)(
5594 IInternetProtocolSink *This);
5595
5596 /*** IInternetProtocolSink methods ***/
5597 HRESULT (STDMETHODCALLTYPE *Switch)(
5598 IInternetProtocolSink *This,
5599 PROTOCOLDATA *pProtocolData);
5600
5601 HRESULT (STDMETHODCALLTYPE *ReportProgress)(
5602 IInternetProtocolSink *This,
5603 ULONG ulStatusCode,
5604 LPCWSTR szStatusText);
5605
5606 HRESULT (STDMETHODCALLTYPE *ReportData)(
5607 IInternetProtocolSink *This,
5608 DWORD grfBSCF,
5609 ULONG ulProgress,
5610 ULONG ulProgressMax);
5611
5612 HRESULT (STDMETHODCALLTYPE *ReportResult)(
5613 IInternetProtocolSink *This,
5614 HRESULT hrResult,
5615 DWORD dwError,
5616 LPCWSTR szResult);
5617
5618 END_INTERFACE
5619} IInternetProtocolSinkVtbl;
5620
5621interface IInternetProtocolSink {
5622 CONST_VTBL IInternetProtocolSinkVtbl* lpVtbl;
5623};
5624
5625#ifdef COBJMACROS
5626#ifndef WIDL_C_INLINE_WRAPPERS
5627/*** IUnknown methods ***/
5628#define IInternetProtocolSink_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject)
5629#define IInternetProtocolSink_AddRef(This) (This)->lpVtbl->AddRef(This)
5630#define IInternetProtocolSink_Release(This) (This)->lpVtbl->Release(This)
5631/*** IInternetProtocolSink methods ***/
5632#define IInternetProtocolSink_Switch(This,pProtocolData) (This)->lpVtbl->Switch(This,pProtocolData)
5633#define IInternetProtocolSink_ReportProgress(This,ulStatusCode,szStatusText) (This)->lpVtbl->ReportProgress(This,ulStatusCode,szStatusText)
5634#define IInternetProtocolSink_ReportData(This,grfBSCF,ulProgress,ulProgressMax) (This)->lpVtbl->ReportData(This,grfBSCF,ulProgress,ulProgressMax)
5635#define IInternetProtocolSink_ReportResult(This,hrResult,dwError,szResult) (This)->lpVtbl->ReportResult(This,hrResult,dwError,szResult)
5636#else
5637/*** IUnknown methods ***/
5638static inline HRESULT IInternetProtocolSink_QueryInterface(IInternetProtocolSink* This,REFIID riid,void **ppvObject) {
5639 return This->lpVtbl->QueryInterface(This,riid,ppvObject);
5640}
5641static inline ULONG IInternetProtocolSink_AddRef(IInternetProtocolSink* This) {
5642 return This->lpVtbl->AddRef(This);
5643}
5644static inline ULONG IInternetProtocolSink_Release(IInternetProtocolSink* This) {
5645 return This->lpVtbl->Release(This);
5646}
5647/*** IInternetProtocolSink methods ***/
5648static inline HRESULT IInternetProtocolSink_Switch(IInternetProtocolSink* This,PROTOCOLDATA *pProtocolData) {
5649 return This->lpVtbl->Switch(This,pProtocolData);
5650}
5651static inline HRESULT IInternetProtocolSink_ReportProgress(IInternetProtocolSink* This,ULONG ulStatusCode,LPCWSTR szStatusText) {
5652 return This->lpVtbl->ReportProgress(This,ulStatusCode,szStatusText);
5653}
5654static inline HRESULT IInternetProtocolSink_ReportData(IInternetProtocolSink* This,DWORD grfBSCF,ULONG ulProgress,ULONG ulProgressMax) {
5655 return This->lpVtbl->ReportData(This,grfBSCF,ulProgress,ulProgressMax);
5656}
5657static inline HRESULT IInternetProtocolSink_ReportResult(IInternetProtocolSink* This,HRESULT hrResult,DWORD dwError,LPCWSTR szResult) {
5658 return This->lpVtbl->ReportResult(This,hrResult,dwError,szResult);
5659}
5660#endif
5661#endif
5662
5663#endif
5664
5665
5666#endif /* __IInternetProtocolSink_INTERFACE_DEFINED__ */
5667
5668#endif
5669
5670#ifndef _LPIINTERNETPROTOCOLSINKSTACKABLE_DEFINED
5671#define _LPIINTERNETPROTOCOLSINKSTACKABLE_DEFINED
5672
5673/*****************************************************************************
5674 * IInternetProtocolSinkStackable interface
5675 */
5676#ifndef __IInternetProtocolSinkStackable_INTERFACE_DEFINED__
5677#define __IInternetProtocolSinkStackable_INTERFACE_DEFINED__
5678
5679typedef IInternetProtocolSinkStackable *LPIINTERNETPROTOCOLSINKStackable;
5680
5681DEFINE_GUID(IID_IInternetProtocolSinkStackable, 0x79eac9f0, 0xbaf9, 0x11ce, 0x8c,0x82, 0x00,0xaa,0x00,0x4b,0xa9,0x0b);
5682#if defined(__cplusplus) && !defined(CINTERFACE)
5683MIDL_INTERFACE("79eac9f0-baf9-11ce-8c82-00aa004ba90b")
5684IInternetProtocolSinkStackable : public IUnknown
5685{
5686 virtual HRESULT STDMETHODCALLTYPE SwitchSink(
5687 IInternetProtocolSink *pOIProtSink) = 0;
5688
5689 virtual HRESULT STDMETHODCALLTYPE CommitSwitch(
5690 ) = 0;
5691
5692 virtual HRESULT STDMETHODCALLTYPE RollbackSwitch(
5693 ) = 0;
5694
5695};
5696#ifdef __CRT_UUID_DECL
5697__CRT_UUID_DECL(IInternetProtocolSinkStackable, 0x79eac9f0, 0xbaf9, 0x11ce, 0x8c,0x82, 0x00,0xaa,0x00,0x4b,0xa9,0x0b)
5698#endif
5699#else
5700typedef struct IInternetProtocolSinkStackableVtbl {
5701 BEGIN_INTERFACE
5702
5703 /*** IUnknown methods ***/
5704 HRESULT (STDMETHODCALLTYPE *QueryInterface)(
5705 IInternetProtocolSinkStackable *This,
5706 REFIID riid,
5707 void **ppvObject);
5708
5709 ULONG (STDMETHODCALLTYPE *AddRef)(
5710 IInternetProtocolSinkStackable *This);
5711
5712 ULONG (STDMETHODCALLTYPE *Release)(
5713 IInternetProtocolSinkStackable *This);
5714
5715 /*** IInternetProtocolSinkStackable methods ***/
5716 HRESULT (STDMETHODCALLTYPE *SwitchSink)(
5717 IInternetProtocolSinkStackable *This,
5718 IInternetProtocolSink *pOIProtSink);
5719
5720 HRESULT (STDMETHODCALLTYPE *CommitSwitch)(
5721 IInternetProtocolSinkStackable *This);
5722
5723 HRESULT (STDMETHODCALLTYPE *RollbackSwitch)(
5724 IInternetProtocolSinkStackable *This);
5725
5726 END_INTERFACE
5727} IInternetProtocolSinkStackableVtbl;
5728
5729interface IInternetProtocolSinkStackable {
5730 CONST_VTBL IInternetProtocolSinkStackableVtbl* lpVtbl;
5731};
5732
5733#ifdef COBJMACROS
5734#ifndef WIDL_C_INLINE_WRAPPERS
5735/*** IUnknown methods ***/
5736#define IInternetProtocolSinkStackable_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject)
5737#define IInternetProtocolSinkStackable_AddRef(This) (This)->lpVtbl->AddRef(This)
5738#define IInternetProtocolSinkStackable_Release(This) (This)->lpVtbl->Release(This)
5739/*** IInternetProtocolSinkStackable methods ***/
5740#define IInternetProtocolSinkStackable_SwitchSink(This,pOIProtSink) (This)->lpVtbl->SwitchSink(This,pOIProtSink)
5741#define IInternetProtocolSinkStackable_CommitSwitch(This) (This)->lpVtbl->CommitSwitch(This)
5742#define IInternetProtocolSinkStackable_RollbackSwitch(This) (This)->lpVtbl->RollbackSwitch(This)
5743#else
5744/*** IUnknown methods ***/
5745static inline HRESULT IInternetProtocolSinkStackable_QueryInterface(IInternetProtocolSinkStackable* This,REFIID riid,void **ppvObject) {
5746 return This->lpVtbl->QueryInterface(This,riid,ppvObject);
5747}
5748static inline ULONG IInternetProtocolSinkStackable_AddRef(IInternetProtocolSinkStackable* This) {
5749 return This->lpVtbl->AddRef(This);
5750}
5751static inline ULONG IInternetProtocolSinkStackable_Release(IInternetProtocolSinkStackable* This) {
5752 return This->lpVtbl->Release(This);
5753}
5754/*** IInternetProtocolSinkStackable methods ***/
5755static inline HRESULT IInternetProtocolSinkStackable_SwitchSink(IInternetProtocolSinkStackable* This,IInternetProtocolSink *pOIProtSink) {
5756 return This->lpVtbl->SwitchSink(This,pOIProtSink);
5757}
5758static inline HRESULT IInternetProtocolSinkStackable_CommitSwitch(IInternetProtocolSinkStackable* This) {
5759 return This->lpVtbl->CommitSwitch(This);
5760}
5761static inline HRESULT IInternetProtocolSinkStackable_RollbackSwitch(IInternetProtocolSinkStackable* This) {
5762 return This->lpVtbl->RollbackSwitch(This);
5763}
5764#endif
5765#endif
5766
5767#endif
5768
5769
5770#endif /* __IInternetProtocolSinkStackable_INTERFACE_DEFINED__ */
5771
5772#endif
5773
5774#ifndef _LPIINTERNETSESSION_DEFINED
5775#define _LPIINTERNETSESSION_DEFINED
5776
5777/*****************************************************************************
5778 * IInternetSession interface
5779 */
5780#ifndef __IInternetSession_INTERFACE_DEFINED__
5781#define __IInternetSession_INTERFACE_DEFINED__
5782
5783typedef IInternetSession *LPIINTERNETSESSION;
5784
5785typedef enum _tagOIBDG_FLAGS {
5786 OIBDG_APARTMENTTHREADED = 0x100,
5787 OIBDG_DATAONLY = 0x1000
5788} OIBDG_FLAGS;
5789
5790DEFINE_GUID(IID_IInternetSession, 0x79eac9e7, 0xbaf9, 0x11ce, 0x8c,0x82, 0x00,0xaa,0x00,0x4b,0xa9,0x0b);
5791#if defined(__cplusplus) && !defined(CINTERFACE)
5792MIDL_INTERFACE("79eac9e7-baf9-11ce-8c82-00aa004ba90b")
5793IInternetSession : public IUnknown
5794{
5795 virtual HRESULT STDMETHODCALLTYPE RegisterNameSpace(
5796 IClassFactory *pCF,
5797 REFCLSID rclsid,
5798 LPCWSTR pwzProtocol,
5799 ULONG cPatterns,
5800 const LPCWSTR *ppwzPatterns,
5801 DWORD dwReserved) = 0;
5802
5803 virtual HRESULT STDMETHODCALLTYPE UnregisterNameSpace(
5804 IClassFactory *pCF,
5805 LPCWSTR pszProtocol) = 0;
5806
5807 virtual HRESULT STDMETHODCALLTYPE RegisterMimeFilter(
5808 IClassFactory *pCF,
5809 REFCLSID rclsid,
5810 LPCWSTR pwzType) = 0;
5811
5812 virtual HRESULT STDMETHODCALLTYPE UnregisterMimeFilter(
5813 IClassFactory *pCF,
5814 LPCWSTR pwzType) = 0;
5815
5816 virtual HRESULT STDMETHODCALLTYPE CreateBinding(
5817 LPBC pBC,
5818 LPCWSTR szUrl,
5819 IUnknown *pUnkOuter,
5820 IUnknown **ppUnk,
5821 IInternetProtocol **ppOInetProt,
5822 DWORD dwOption) = 0;
5823
5824 virtual HRESULT STDMETHODCALLTYPE SetSessionOption(
5825 DWORD dwOption,
5826 LPVOID pBuffer,
5827 DWORD dwBufferLength,
5828 DWORD dwReserved) = 0;
5829
5830 virtual HRESULT STDMETHODCALLTYPE GetSessionOption(
5831 DWORD dwOption,
5832 LPVOID pBuffer,
5833 DWORD *pdwBufferLength,
5834 DWORD dwReserved) = 0;
5835
5836};
5837#ifdef __CRT_UUID_DECL
5838__CRT_UUID_DECL(IInternetSession, 0x79eac9e7, 0xbaf9, 0x11ce, 0x8c,0x82, 0x00,0xaa,0x00,0x4b,0xa9,0x0b)
5839#endif
5840#else
5841typedef struct IInternetSessionVtbl {
5842 BEGIN_INTERFACE
5843
5844 /*** IUnknown methods ***/
5845 HRESULT (STDMETHODCALLTYPE *QueryInterface)(
5846 IInternetSession *This,
5847 REFIID riid,
5848 void **ppvObject);
5849
5850 ULONG (STDMETHODCALLTYPE *AddRef)(
5851 IInternetSession *This);
5852
5853 ULONG (STDMETHODCALLTYPE *Release)(
5854 IInternetSession *This);
5855
5856 /*** IInternetSession methods ***/
5857 HRESULT (STDMETHODCALLTYPE *RegisterNameSpace)(
5858 IInternetSession *This,
5859 IClassFactory *pCF,
5860 REFCLSID rclsid,
5861 LPCWSTR pwzProtocol,
5862 ULONG cPatterns,
5863 const LPCWSTR *ppwzPatterns,
5864 DWORD dwReserved);
5865
5866 HRESULT (STDMETHODCALLTYPE *UnregisterNameSpace)(
5867 IInternetSession *This,
5868 IClassFactory *pCF,
5869 LPCWSTR pszProtocol);
5870
5871 HRESULT (STDMETHODCALLTYPE *RegisterMimeFilter)(
5872 IInternetSession *This,
5873 IClassFactory *pCF,
5874 REFCLSID rclsid,
5875 LPCWSTR pwzType);
5876
5877 HRESULT (STDMETHODCALLTYPE *UnregisterMimeFilter)(
5878 IInternetSession *This,
5879 IClassFactory *pCF,
5880 LPCWSTR pwzType);
5881
5882 HRESULT (STDMETHODCALLTYPE *CreateBinding)(
5883 IInternetSession *This,
5884 LPBC pBC,
5885 LPCWSTR szUrl,
5886 IUnknown *pUnkOuter,
5887 IUnknown **ppUnk,
5888 IInternetProtocol **ppOInetProt,
5889 DWORD dwOption);
5890
5891 HRESULT (STDMETHODCALLTYPE *SetSessionOption)(
5892 IInternetSession *This,
5893 DWORD dwOption,
5894 LPVOID pBuffer,
5895 DWORD dwBufferLength,
5896 DWORD dwReserved);
5897
5898 HRESULT (STDMETHODCALLTYPE *GetSessionOption)(
5899 IInternetSession *This,
5900 DWORD dwOption,
5901 LPVOID pBuffer,
5902 DWORD *pdwBufferLength,
5903 DWORD dwReserved);
5904
5905 END_INTERFACE
5906} IInternetSessionVtbl;
5907
5908interface IInternetSession {
5909 CONST_VTBL IInternetSessionVtbl* lpVtbl;
5910};
5911
5912#ifdef COBJMACROS
5913#ifndef WIDL_C_INLINE_WRAPPERS
5914/*** IUnknown methods ***/
5915#define IInternetSession_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject)
5916#define IInternetSession_AddRef(This) (This)->lpVtbl->AddRef(This)
5917#define IInternetSession_Release(This) (This)->lpVtbl->Release(This)
5918/*** IInternetSession methods ***/
5919#define IInternetSession_RegisterNameSpace(This,pCF,rclsid,pwzProtocol,cPatterns,ppwzPatterns,dwReserved) (This)->lpVtbl->RegisterNameSpace(This,pCF,rclsid,pwzProtocol,cPatterns,ppwzPatterns,dwReserved)
5920#define IInternetSession_UnregisterNameSpace(This,pCF,pszProtocol) (This)->lpVtbl->UnregisterNameSpace(This,pCF,pszProtocol)
5921#define IInternetSession_RegisterMimeFilter(This,pCF,rclsid,pwzType) (This)->lpVtbl->RegisterMimeFilter(This,pCF,rclsid,pwzType)
5922#define IInternetSession_UnregisterMimeFilter(This,pCF,pwzType) (This)->lpVtbl->UnregisterMimeFilter(This,pCF,pwzType)
5923#define IInternetSession_CreateBinding(This,pBC,szUrl,pUnkOuter,ppUnk,ppOInetProt,dwOption) (This)->lpVtbl->CreateBinding(This,pBC,szUrl,pUnkOuter,ppUnk,ppOInetProt,dwOption)
5924#define IInternetSession_SetSessionOption(This,dwOption,pBuffer,dwBufferLength,dwReserved) (This)->lpVtbl->SetSessionOption(This,dwOption,pBuffer,dwBufferLength,dwReserved)
5925#define IInternetSession_GetSessionOption(This,dwOption,pBuffer,pdwBufferLength,dwReserved) (This)->lpVtbl->GetSessionOption(This,dwOption,pBuffer,pdwBufferLength,dwReserved)
5926#else
5927/*** IUnknown methods ***/
5928static inline HRESULT IInternetSession_QueryInterface(IInternetSession* This,REFIID riid,void **ppvObject) {
5929 return This->lpVtbl->QueryInterface(This,riid,ppvObject);
5930}
5931static inline ULONG IInternetSession_AddRef(IInternetSession* This) {
5932 return This->lpVtbl->AddRef(This);
5933}
5934static inline ULONG IInternetSession_Release(IInternetSession* This) {
5935 return This->lpVtbl->Release(This);
5936}
5937/*** IInternetSession methods ***/
5938static inline HRESULT IInternetSession_RegisterNameSpace(IInternetSession* This,IClassFactory *pCF,REFCLSID rclsid,LPCWSTR pwzProtocol,ULONG cPatterns,const LPCWSTR *ppwzPatterns,DWORD dwReserved) {
5939 return This->lpVtbl->RegisterNameSpace(This,pCF,rclsid,pwzProtocol,cPatterns,ppwzPatterns,dwReserved);
5940}
5941static inline HRESULT IInternetSession_UnregisterNameSpace(IInternetSession* This,IClassFactory *pCF,LPCWSTR pszProtocol) {
5942 return This->lpVtbl->UnregisterNameSpace(This,pCF,pszProtocol);
5943}
5944static inline HRESULT IInternetSession_RegisterMimeFilter(IInternetSession* This,IClassFactory *pCF,REFCLSID rclsid,LPCWSTR pwzType) {
5945 return This->lpVtbl->RegisterMimeFilter(This,pCF,rclsid,pwzType);
5946}
5947static inline HRESULT IInternetSession_UnregisterMimeFilter(IInternetSession* This,IClassFactory *pCF,LPCWSTR pwzType) {
5948 return This->lpVtbl->UnregisterMimeFilter(This,pCF,pwzType);
5949}
5950static inline HRESULT IInternetSession_CreateBinding(IInternetSession* This,LPBC pBC,LPCWSTR szUrl,IUnknown *pUnkOuter,IUnknown **ppUnk,IInternetProtocol **ppOInetProt,DWORD dwOption) {
5951 return This->lpVtbl->CreateBinding(This,pBC,szUrl,pUnkOuter,ppUnk,ppOInetProt,dwOption);
5952}
5953static inline HRESULT IInternetSession_SetSessionOption(IInternetSession* This,DWORD dwOption,LPVOID pBuffer,DWORD dwBufferLength,DWORD dwReserved) {
5954 return This->lpVtbl->SetSessionOption(This,dwOption,pBuffer,dwBufferLength,dwReserved);
5955}
5956static inline HRESULT IInternetSession_GetSessionOption(IInternetSession* This,DWORD dwOption,LPVOID pBuffer,DWORD *pdwBufferLength,DWORD dwReserved) {
5957 return This->lpVtbl->GetSessionOption(This,dwOption,pBuffer,pdwBufferLength,dwReserved);
5958}
5959#endif
5960#endif
5961
5962#endif
5963
5964
5965#endif /* __IInternetSession_INTERFACE_DEFINED__ */
5966
5967#endif
5968
5969#ifndef _LPIINTERNETTHREADSWITCH_DEFINED
5970#define _LPIINTERNETTHREADSWITCH_DEFINED
5971
5972/*****************************************************************************
5973 * IInternetThreadSwitch interface
5974 */
5975#ifndef __IInternetThreadSwitch_INTERFACE_DEFINED__
5976#define __IInternetThreadSwitch_INTERFACE_DEFINED__
5977
5978typedef IInternetThreadSwitch *LPIINTERNETTHREADSWITCH;
5979
5980DEFINE_GUID(IID_IInternetThreadSwitch, 0x79eac9e8, 0xbaf9, 0x11ce, 0x8c,0x82, 0x00,0xaa,0x00,0x4b,0xa9,0x0b);
5981#if defined(__cplusplus) && !defined(CINTERFACE)
5982MIDL_INTERFACE("79eac9e8-baf9-11ce-8c82-00aa004ba90b")
5983IInternetThreadSwitch : public IUnknown
5984{
5985 virtual HRESULT STDMETHODCALLTYPE Prepare(
5986 ) = 0;
5987
5988 virtual HRESULT STDMETHODCALLTYPE Continue(
5989 ) = 0;
5990
5991};
5992#ifdef __CRT_UUID_DECL
5993__CRT_UUID_DECL(IInternetThreadSwitch, 0x79eac9e8, 0xbaf9, 0x11ce, 0x8c,0x82, 0x00,0xaa,0x00,0x4b,0xa9,0x0b)
5994#endif
5995#else
5996typedef struct IInternetThreadSwitchVtbl {
5997 BEGIN_INTERFACE
5998
5999 /*** IUnknown methods ***/
6000 HRESULT (STDMETHODCALLTYPE *QueryInterface)(
6001 IInternetThreadSwitch *This,
6002 REFIID riid,
6003 void **ppvObject);
6004
6005 ULONG (STDMETHODCALLTYPE *AddRef)(
6006 IInternetThreadSwitch *This);
6007
6008 ULONG (STDMETHODCALLTYPE *Release)(
6009 IInternetThreadSwitch *This);
6010
6011 /*** IInternetThreadSwitch methods ***/
6012 HRESULT (STDMETHODCALLTYPE *Prepare)(
6013 IInternetThreadSwitch *This);
6014
6015 HRESULT (STDMETHODCALLTYPE *Continue)(
6016 IInternetThreadSwitch *This);
6017
6018 END_INTERFACE
6019} IInternetThreadSwitchVtbl;
6020
6021interface IInternetThreadSwitch {
6022 CONST_VTBL IInternetThreadSwitchVtbl* lpVtbl;
6023};
6024
6025#ifdef COBJMACROS
6026#ifndef WIDL_C_INLINE_WRAPPERS
6027/*** IUnknown methods ***/
6028#define IInternetThreadSwitch_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject)
6029#define IInternetThreadSwitch_AddRef(This) (This)->lpVtbl->AddRef(This)
6030#define IInternetThreadSwitch_Release(This) (This)->lpVtbl->Release(This)
6031/*** IInternetThreadSwitch methods ***/
6032#define IInternetThreadSwitch_Prepare(This) (This)->lpVtbl->Prepare(This)
6033#define IInternetThreadSwitch_Continue(This) (This)->lpVtbl->Continue(This)
6034#else
6035/*** IUnknown methods ***/
6036static inline HRESULT IInternetThreadSwitch_QueryInterface(IInternetThreadSwitch* This,REFIID riid,void **ppvObject) {
6037 return This->lpVtbl->QueryInterface(This,riid,ppvObject);
6038}
6039static inline ULONG IInternetThreadSwitch_AddRef(IInternetThreadSwitch* This) {
6040 return This->lpVtbl->AddRef(This);
6041}
6042static inline ULONG IInternetThreadSwitch_Release(IInternetThreadSwitch* This) {
6043 return This->lpVtbl->Release(This);
6044}
6045/*** IInternetThreadSwitch methods ***/
6046static inline HRESULT IInternetThreadSwitch_Prepare(IInternetThreadSwitch* This) {
6047 return This->lpVtbl->Prepare(This);
6048}
6049static inline HRESULT IInternetThreadSwitch_Continue(IInternetThreadSwitch* This) {
6050 return This->lpVtbl->Continue(This);
6051}
6052#endif
6053#endif
6054
6055#endif
6056
6057
6058#endif /* __IInternetThreadSwitch_INTERFACE_DEFINED__ */
6059
6060#endif
6061
6062#ifndef _LPIINTERNETPRIORITY_DEFINED
6063#define _LPIINTERNETPRIORITY_DEFINED
6064
6065/*****************************************************************************
6066 * IInternetPriority interface
6067 */
6068#ifndef __IInternetPriority_INTERFACE_DEFINED__
6069#define __IInternetPriority_INTERFACE_DEFINED__
6070
6071typedef IInternetPriority *LPIINTERNETPRIORITY;
6072
6073DEFINE_GUID(IID_IInternetPriority, 0x79eac9eb, 0xbaf9, 0x11ce, 0x8c,0x82, 0x00,0xaa,0x00,0x4b,0xa9,0x0b);
6074#if defined(__cplusplus) && !defined(CINTERFACE)
6075MIDL_INTERFACE("79eac9eb-baf9-11ce-8c82-00aa004ba90b")
6076IInternetPriority : public IUnknown
6077{
6078 virtual HRESULT STDMETHODCALLTYPE SetPriority(
6079 LONG nPriority) = 0;
6080
6081 virtual HRESULT STDMETHODCALLTYPE GetPriority(
6082 LONG *pnPriority) = 0;
6083
6084};
6085#ifdef __CRT_UUID_DECL
6086__CRT_UUID_DECL(IInternetPriority, 0x79eac9eb, 0xbaf9, 0x11ce, 0x8c,0x82, 0x00,0xaa,0x00,0x4b,0xa9,0x0b)
6087#endif
6088#else
6089typedef struct IInternetPriorityVtbl {
6090 BEGIN_INTERFACE
6091
6092 /*** IUnknown methods ***/
6093 HRESULT (STDMETHODCALLTYPE *QueryInterface)(
6094 IInternetPriority *This,
6095 REFIID riid,
6096 void **ppvObject);
6097
6098 ULONG (STDMETHODCALLTYPE *AddRef)(
6099 IInternetPriority *This);
6100
6101 ULONG (STDMETHODCALLTYPE *Release)(
6102 IInternetPriority *This);
6103
6104 /*** IInternetPriority methods ***/
6105 HRESULT (STDMETHODCALLTYPE *SetPriority)(
6106 IInternetPriority *This,
6107 LONG nPriority);
6108
6109 HRESULT (STDMETHODCALLTYPE *GetPriority)(
6110 IInternetPriority *This,
6111 LONG *pnPriority);
6112
6113 END_INTERFACE
6114} IInternetPriorityVtbl;
6115
6116interface IInternetPriority {
6117 CONST_VTBL IInternetPriorityVtbl* lpVtbl;
6118};
6119
6120#ifdef COBJMACROS
6121#ifndef WIDL_C_INLINE_WRAPPERS
6122/*** IUnknown methods ***/
6123#define IInternetPriority_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject)
6124#define IInternetPriority_AddRef(This) (This)->lpVtbl->AddRef(This)
6125#define IInternetPriority_Release(This) (This)->lpVtbl->Release(This)
6126/*** IInternetPriority methods ***/
6127#define IInternetPriority_SetPriority(This,nPriority) (This)->lpVtbl->SetPriority(This,nPriority)
6128#define IInternetPriority_GetPriority(This,pnPriority) (This)->lpVtbl->GetPriority(This,pnPriority)
6129#else
6130/*** IUnknown methods ***/
6131static inline HRESULT IInternetPriority_QueryInterface(IInternetPriority* This,REFIID riid,void **ppvObject) {
6132 return This->lpVtbl->QueryInterface(This,riid,ppvObject);
6133}
6134static inline ULONG IInternetPriority_AddRef(IInternetPriority* This) {
6135 return This->lpVtbl->AddRef(This);
6136}
6137static inline ULONG IInternetPriority_Release(IInternetPriority* This) {
6138 return This->lpVtbl->Release(This);
6139}
6140/*** IInternetPriority methods ***/
6141static inline HRESULT IInternetPriority_SetPriority(IInternetPriority* This,LONG nPriority) {
6142 return This->lpVtbl->SetPriority(This,nPriority);
6143}
6144static inline HRESULT IInternetPriority_GetPriority(IInternetPriority* This,LONG *pnPriority) {
6145 return This->lpVtbl->GetPriority(This,pnPriority);
6146}
6147#endif
6148#endif
6149
6150#endif
6151
6152
6153#endif /* __IInternetPriority_INTERFACE_DEFINED__ */
6154
6155#endif
6156
6157#ifndef _LPIINTERNETPROTOCOLINFO_DEFINED
6158#define _LPIINTERNETPROTOCOLINFO_DEFINED
6159
6160/*****************************************************************************
6161 * IInternetProtocolInfo interface
6162 */
6163#ifndef __IInternetProtocolInfo_INTERFACE_DEFINED__
6164#define __IInternetProtocolInfo_INTERFACE_DEFINED__
6165
6166typedef IInternetProtocolInfo *LPIINTERNETPROTOCOLINFO;
6167
6168typedef enum _tagPARSEACTION {
6169 PARSE_CANONICALIZE = 1,
6170 PARSE_FRIENDLY = 2,
6171 PARSE_SECURITY_URL = 3,
6172 PARSE_ROOTDOCUMENT = 4,
6173 PARSE_DOCUMENT = 5,
6174 PARSE_ANCHOR = 6,
6175 PARSE_ENCODE_IS_UNESCAPE = 7,
6176 PARSE_DECODE_IS_ESCAPE = 8,
6177 PARSE_PATH_FROM_URL = 9,
6178 PARSE_URL_FROM_PATH = 10,
6179 PARSE_MIME = 11,
6180 PARSE_SERVER = 12,
6181 PARSE_SCHEMA = 13,
6182 PARSE_SITE = 14,
6183 PARSE_DOMAIN = 15,
6184 PARSE_LOCATION = 16,
6185 PARSE_SECURITY_DOMAIN = 17,
6186 PARSE_ESCAPE = 18,
6187 PARSE_UNESCAPE = 19
6188} PARSEACTION;
6189
6190typedef enum _tagPSUACTION {
6191 PSU_DEFAULT = 1,
6192 PSU_SECURITY_URL_ONLY = 2
6193} PSUACTION;
6194
6195typedef enum _tagQUERYOPTION {
6196 QUERY_EXPIRATION_DATE = 1,
6197 QUERY_TIME_OF_LAST_CHANGE = 2,
6198 QUERY_CONTENT_ENCODING = 3,
6199 QUERY_CONTENT_TYPE = 4,
6200 QUERY_REFRESH = 5,
6201 QUERY_RECOMBINE = 6,
6202 QUERY_CAN_NAVIGATE = 7,
6203 QUERY_USES_NETWORK = 8,
6204 QUERY_IS_CACHED = 9,
6205 QUERY_IS_INSTALLEDENTRY = 10,
6206 QUERY_IS_CACHED_OR_MAPPED = 11,
6207 QUERY_USES_CACHE = 12,
6208 QUERY_IS_SECURE = 13,
6209 QUERY_IS_SAFE = 14,
6210 QUERY_USES_HISTORYFOLDER = 15,
6211 QUERY_IS_CACHED_AND_USABLE_OFFLINE = 16
6212} QUERYOPTION;
6213
6214DEFINE_GUID(IID_IInternetProtocolInfo, 0x79eac9ec, 0xbaf9, 0x11ce, 0x8c,0x82, 0x00,0xaa,0x00,0x4b,0xa9,0x0b);
6215#if defined(__cplusplus) && !defined(CINTERFACE)
6216MIDL_INTERFACE("79eac9ec-baf9-11ce-8c82-00aa004ba90b")
6217IInternetProtocolInfo : public IUnknown
6218{
6219 virtual HRESULT STDMETHODCALLTYPE ParseUrl(
6220 LPCWSTR pwzUrl,
6221 PARSEACTION ParseAction,
6222 DWORD dwParseFlags,
6223 LPWSTR pwzResult,
6224 DWORD cchResult,
6225 DWORD *pcchResult,
6226 DWORD dwReserved) = 0;
6227
6228 virtual HRESULT STDMETHODCALLTYPE CombineUrl(
6229 LPCWSTR pwzBaseUrl,
6230 LPCWSTR pwzRelativeUrl,
6231 DWORD dwCombineFlags,
6232 LPWSTR pwzResult,
6233 DWORD cchResult,
6234 DWORD *pcchResult,
6235 DWORD dwReserved) = 0;
6236
6237 virtual HRESULT STDMETHODCALLTYPE CompareUrl(
6238 LPCWSTR pwzUrl1,
6239 LPCWSTR pwzUrl2,
6240 DWORD dwCompareFlags) = 0;
6241
6242 virtual HRESULT STDMETHODCALLTYPE QueryInfo(
6243 LPCWSTR pwzUrl,
6244 QUERYOPTION OueryOption,
6245 DWORD dwQueryFlags,
6246 LPVOID pBuffer,
6247 DWORD cbBuffer,
6248 DWORD *pcbBuf,
6249 DWORD dwReserved) = 0;
6250
6251};
6252#ifdef __CRT_UUID_DECL
6253__CRT_UUID_DECL(IInternetProtocolInfo, 0x79eac9ec, 0xbaf9, 0x11ce, 0x8c,0x82, 0x00,0xaa,0x00,0x4b,0xa9,0x0b)
6254#endif
6255#else
6256typedef struct IInternetProtocolInfoVtbl {
6257 BEGIN_INTERFACE
6258
6259 /*** IUnknown methods ***/
6260 HRESULT (STDMETHODCALLTYPE *QueryInterface)(
6261 IInternetProtocolInfo *This,
6262 REFIID riid,
6263 void **ppvObject);
6264
6265 ULONG (STDMETHODCALLTYPE *AddRef)(
6266 IInternetProtocolInfo *This);
6267
6268 ULONG (STDMETHODCALLTYPE *Release)(
6269 IInternetProtocolInfo *This);
6270
6271 /*** IInternetProtocolInfo methods ***/
6272 HRESULT (STDMETHODCALLTYPE *ParseUrl)(
6273 IInternetProtocolInfo *This,
6274 LPCWSTR pwzUrl,
6275 PARSEACTION ParseAction,
6276 DWORD dwParseFlags,
6277 LPWSTR pwzResult,
6278 DWORD cchResult,
6279 DWORD *pcchResult,
6280 DWORD dwReserved);
6281
6282 HRESULT (STDMETHODCALLTYPE *CombineUrl)(
6283 IInternetProtocolInfo *This,
6284 LPCWSTR pwzBaseUrl,
6285 LPCWSTR pwzRelativeUrl,
6286 DWORD dwCombineFlags,
6287 LPWSTR pwzResult,
6288 DWORD cchResult,
6289 DWORD *pcchResult,
6290 DWORD dwReserved);
6291
6292 HRESULT (STDMETHODCALLTYPE *CompareUrl)(
6293 IInternetProtocolInfo *This,
6294 LPCWSTR pwzUrl1,
6295 LPCWSTR pwzUrl2,
6296 DWORD dwCompareFlags);
6297
6298 HRESULT (STDMETHODCALLTYPE *QueryInfo)(
6299 IInternetProtocolInfo *This,
6300 LPCWSTR pwzUrl,
6301 QUERYOPTION OueryOption,
6302 DWORD dwQueryFlags,
6303 LPVOID pBuffer,
6304 DWORD cbBuffer,
6305 DWORD *pcbBuf,
6306 DWORD dwReserved);
6307
6308 END_INTERFACE
6309} IInternetProtocolInfoVtbl;
6310
6311interface IInternetProtocolInfo {
6312 CONST_VTBL IInternetProtocolInfoVtbl* lpVtbl;
6313};
6314
6315#ifdef COBJMACROS
6316#ifndef WIDL_C_INLINE_WRAPPERS
6317/*** IUnknown methods ***/
6318#define IInternetProtocolInfo_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject)
6319#define IInternetProtocolInfo_AddRef(This) (This)->lpVtbl->AddRef(This)
6320#define IInternetProtocolInfo_Release(This) (This)->lpVtbl->Release(This)
6321/*** IInternetProtocolInfo methods ***/
6322#define IInternetProtocolInfo_ParseUrl(This,pwzUrl,ParseAction,dwParseFlags,pwzResult,cchResult,pcchResult,dwReserved) (This)->lpVtbl->ParseUrl(This,pwzUrl,ParseAction,dwParseFlags,pwzResult,cchResult,pcchResult,dwReserved)
6323#define IInternetProtocolInfo_CombineUrl(This,pwzBaseUrl,pwzRelativeUrl,dwCombineFlags,pwzResult,cchResult,pcchResult,dwReserved) (This)->lpVtbl->CombineUrl(This,pwzBaseUrl,pwzRelativeUrl,dwCombineFlags,pwzResult,cchResult,pcchResult,dwReserved)
6324#define IInternetProtocolInfo_CompareUrl(This,pwzUrl1,pwzUrl2,dwCompareFlags) (This)->lpVtbl->CompareUrl(This,pwzUrl1,pwzUrl2,dwCompareFlags)
6325#define IInternetProtocolInfo_QueryInfo(This,pwzUrl,OueryOption,dwQueryFlags,pBuffer,cbBuffer,pcbBuf,dwReserved) (This)->lpVtbl->QueryInfo(This,pwzUrl,OueryOption,dwQueryFlags,pBuffer,cbBuffer,pcbBuf,dwReserved)
6326#else
6327/*** IUnknown methods ***/
6328static inline HRESULT IInternetProtocolInfo_QueryInterface(IInternetProtocolInfo* This,REFIID riid,void **ppvObject) {
6329 return This->lpVtbl->QueryInterface(This,riid,ppvObject);
6330}
6331static inline ULONG IInternetProtocolInfo_AddRef(IInternetProtocolInfo* This) {
6332 return This->lpVtbl->AddRef(This);
6333}
6334static inline ULONG IInternetProtocolInfo_Release(IInternetProtocolInfo* This) {
6335 return This->lpVtbl->Release(This);
6336}
6337/*** IInternetProtocolInfo methods ***/
6338static inline HRESULT IInternetProtocolInfo_ParseUrl(IInternetProtocolInfo* This,LPCWSTR pwzUrl,PARSEACTION ParseAction,DWORD dwParseFlags,LPWSTR pwzResult,DWORD cchResult,DWORD *pcchResult,DWORD dwReserved) {
6339 return This->lpVtbl->ParseUrl(This,pwzUrl,ParseAction,dwParseFlags,pwzResult,cchResult,pcchResult,dwReserved);
6340}
6341static inline HRESULT IInternetProtocolInfo_CombineUrl(IInternetProtocolInfo* This,LPCWSTR pwzBaseUrl,LPCWSTR pwzRelativeUrl,DWORD dwCombineFlags,LPWSTR pwzResult,DWORD cchResult,DWORD *pcchResult,DWORD dwReserved) {
6342 return This->lpVtbl->CombineUrl(This,pwzBaseUrl,pwzRelativeUrl,dwCombineFlags,pwzResult,cchResult,pcchResult,dwReserved);
6343}
6344static inline HRESULT IInternetProtocolInfo_CompareUrl(IInternetProtocolInfo* This,LPCWSTR pwzUrl1,LPCWSTR pwzUrl2,DWORD dwCompareFlags) {
6345 return This->lpVtbl->CompareUrl(This,pwzUrl1,pwzUrl2,dwCompareFlags);
6346}
6347static inline HRESULT IInternetProtocolInfo_QueryInfo(IInternetProtocolInfo* This,LPCWSTR pwzUrl,QUERYOPTION OueryOption,DWORD dwQueryFlags,LPVOID pBuffer,DWORD cbBuffer,DWORD *pcbBuf,DWORD dwReserved) {
6348 return This->lpVtbl->QueryInfo(This,pwzUrl,OueryOption,dwQueryFlags,pBuffer,cbBuffer,pcbBuf,dwReserved);
6349}
6350#endif
6351#endif
6352
6353#endif
6354
6355
6356#endif /* __IInternetProtocolInfo_INTERFACE_DEFINED__ */
6357
6358
6359#ifndef URLMON_STRICT
6360#define PARSE_ENCODE PARSE_ENCODE_IS_UNESCAPE
6361#define PARSE_DECODE PARSE_DECODE_IS_ESCAPE
6362#endif
6363#endif
6364
6365#define IOInet IInternet
6366#define IOInetBindInfo IInternetBindInfo
6367#define IOInetBindInfoEx IInternetBindInfoEx
6368#define IOInetProtocolRoot IInternetProtocolRoot
6369#define IOInetProtocol IInternetProtocol
6370
6371#if (_WIN32_IE >= _WIN32_IE_IE70)
6372#define IOInetProtocolEx IInternetProtocolEx
6373#endif
6374#define IOInetProtocolSink IInternetProtocolSink
6375#define IOInetProtocolInfo IInternetProtocolInfo
6376#define IOInetSession IInternetSession
6377#define IOInetPriority IInternetPriority
6378#define IOInetThreadSwitch IInternetThreadSwitch
6379#define IOInetProtocolSinkStackable IInternetProtocolSinkStackable
6380
6381#define LPOINET LPIINTERNET
6382#define LPOINETPROTOCOLINFO LPIINTERNETPROTOCOLINFO
6383#define LPOINETBINDINFO LPIINTERNETBINDINFO
6384#define LPOINETPROTOCOLROOT LPIINTERNETPROTOCOLROOT
6385#define LPOINETPROTOCOL LPIINTERNETPROTOCOL
6386
6387#if (_WIN32_IE >= _WIN32_IE_IE70)
6388#define LPOINETPROTOCOLEX LPIINTERNETPROTOCOLEX
6389#endif
6390#define LPOINETPROTOCOLSINK LPIINTERNETPROTOCOLSINK
6391#define LPOINETSESSION LPIINTERNETSESSION
6392#define LPOINETTHREADSWITCH LPIINTERNETTHREADSWITCH
6393#define LPOINETPRIORITY LPIINTERNETPRIORITY
6394#define LPOINETPROTOCOLINFO LPIINTERNETPROTOCOLINFO
6395#define LPOINETPROTOCOLSINKSTACKABLE LPIINTERNETPROTOCOLSINKSTACKABLE
6396
6397#define IID_IOInet IID_IInternet
6398#define IID_IOInetBindInfo IID_IInternetBindInfo
6399#define IID_IOInetBindInfoEx IID_IInternetBindInfoEx
6400#define IID_IOInetProtocolRoot IID_IInternetProtocolRoot
6401#define IID_IOInetProtocol IID_IInternetProtocol
6402
6403#if (_WIN32_IE >= _WIN32_IE_IE70)
6404#define IID_IOInetProtocolEx IID_IInternetProtocolEx
6405#endif
6406#define IID_IOInetProtocolSink IID_IInternetProtocolSink
6407#define IID_IOInetProtocolInfo IID_IInternetProtocolInfo
6408#define IID_IOInetSession IID_IInternetSession
6409#define IID_IOInetPriority IID_IInternetPriority
6410#define IID_IOInetThreadSwitch IID_IInternetThreadSwitch
6411#define IID_IOInetProtocolSinkStackable IID_IInternetProtocolSinkStackable
6412
6413STDAPI CoInternetParseUrl(LPCWSTR pwzUrl, PARSEACTION ParseAction, DWORD dwFlags, LPWSTR pszResult, DWORD cchResult, DWORD *pcchResult, DWORD dwReserved);
6414#if (_WIN32_IE >= _WIN32_IE_IE70)
6415STDAPI CoInternetParseIUri(IUri *pIUri, PARSEACTION ParseAction, DWORD dwFlags, LPWSTR pwzResult, DWORD cchResult, DWORD *pcchResult, DWORD_PTR dwReserved);
6416#endif
6417STDAPI CoInternetCombineUrl(LPCWSTR pwzBaseUrl, LPCWSTR pwzRelativeUrl, DWORD dwCombineFlags, LPWSTR pszResult, DWORD cchResult, DWORD *pcchResult, DWORD dwReserved);
6418#if (_WIN32_IE >= _WIN32_IE_IE70)
6419STDAPI CoInternetCombineUrlEx(IUri *pBaseUri, LPCWSTR pwzRelativeUrl, DWORD dwCombineFlags, IUri **ppCombinedUri, DWORD_PTR dwReserved);
6420STDAPI CoInternetCombineIUri (IUri *pBaseUri, IUri *pRelativeUri, DWORD dwCombineFlags, IUri **ppCombinedUri, DWORD_PTR dwReserved);
6421#endif
6422STDAPI CoInternetCompareUrl(LPCWSTR pwzUrl1, LPCWSTR pwzUrl2, DWORD dwFlags);
6423STDAPI CoInternetGetProtocolFlags(LPCWSTR pwzUrl, DWORD *pdwFlags, DWORD dwReserved);
6424STDAPI CoInternetQueryInfo(LPCWSTR pwzUrl, QUERYOPTION QueryOptions, DWORD dwQueryFlags, LPVOID pvBuffer, DWORD cbBuffer, DWORD *pcbBuffer, DWORD dwReserved);
6425STDAPI CoInternetGetSession(DWORD dwSessionMode, IInternetSession **ppIInternetSession, DWORD dwReserved);
6426STDAPI CoInternetGetSecurityUrl(LPCWSTR pwszUrl, LPWSTR *ppwszSecUrl, PSUACTION psuAction, DWORD dwReserved);
6427STDAPI AsyncInstallDistributionUnit(LPCWSTR szDistUnit, LPCWSTR szTYPE, LPCWSTR szExt, DWORD dwFileVersionMS, DWORD dwFileVersionLS, LPCWSTR szURL,IBindCtx *pbc, LPVOID pvReserved,DWORD flags);
6428#if (_WIN32_IE >= _WIN32_IE_IE70)
6429STDAPI CoInternetGetSecurityUrlEx(IUri *pUri, IUri **ppSecUri, PSUACTION psuAction, DWORD_PTR dwReserved);
6430#endif
6431
6432#if (_WIN32_IE >= _WIN32_IE_IE60SP2)
6433#ifndef _INTERNETFEATURELIST_DEFINED
6434#define _INTERNETFEATURELIST_DEFINED
6435
6436typedef enum _tagINTERNETFEATURELIST {
6437 FEATURE_OBJECT_CACHING = 0,
6438 FEATURE_ZONE_ELEVATION = 1,
6439 FEATURE_MIME_HANDLING = 2,
6440 FEATURE_MIME_SNIFFING = 3,
6441 FEATURE_WINDOW_RESTRICTIONS = 4,
6442 FEATURE_WEBOC_POPUPMANAGEMENT = 5,
6443 FEATURE_BEHAVIORS = 6,
6444 FEATURE_DISABLE_MK_PROTOCOL = 7,
6445 FEATURE_LOCALMACHINE_LOCKDOWN = 8,
6446 FEATURE_SECURITYBAND = 9,
6447 FEATURE_RESTRICT_ACTIVEXINSTALL = 10,
6448 FEATURE_VALIDATE_NAVIGATE_URL = 11,
6449 FEATURE_RESTRICT_FILEDOWNLOAD = 12,
6450 FEATURE_ADDON_MANAGEMENT = 13,
6451 FEATURE_PROTOCOL_LOCKDOWN = 14,
6452 FEATURE_HTTP_USERNAME_PASSWORD_DISABLE = 15,
6453 FEATURE_SAFE_BINDTOOBJECT = 16,
6454 FEATURE_UNC_SAVEDFILECHECK = 17,
6455 FEATURE_GET_URL_DOM_FILEPATH_UNENCODED = 18,
6456 FEATURE_TABBED_BROWSING = 19,
6457 FEATURE_SSLUX = 20,
6458 FEATURE_DISABLE_NAVIGATION_SOUNDS = 21,
6459 FEATURE_DISABLE_LEGACY_COMPRESSION = 22,
6460 FEATURE_FORCE_ADDR_AND_STATUS = 23,
6461 FEATURE_XMLHTTP = 24,
6462 FEATURE_DISABLE_TELNET_PROTOCOL = 25,
6463 FEATURE_FEEDS = 26,
6464 FEATURE_BLOCK_INPUT_PROMPTS = 27,
6465 FEATURE_ENTRY_COUNT = 28
6466} INTERNETFEATURELIST;
6467
6468#define SET_FEATURE_ON_THREAD 0x1
6469#define SET_FEATURE_ON_PROCESS 0x2
6470#define SET_FEATURE_IN_REGISTRY 0x4
6471#define SET_FEATURE_ON_THREAD_LOCALMACHINE 0x8
6472#define SET_FEATURE_ON_THREAD_INTRANET 0x10
6473#define SET_FEATURE_ON_THREAD_TRUSTED 0x20
6474#define SET_FEATURE_ON_THREAD_INTERNET 0x40
6475#define SET_FEATURE_ON_THREAD_RESTRICTED 0x80
6476
6477#define GET_FEATURE_FROM_THREAD 0x1
6478#define GET_FEATURE_FROM_PROCESS 0x2
6479#define GET_FEATURE_FROM_REGISTRY 0x4
6480#define GET_FEATURE_FROM_THREAD_LOCALMACHINE 0x8
6481#define GET_FEATURE_FROM_THREAD_INTRANET 0x10
6482#define GET_FEATURE_FROM_THREAD_TRUSTED 0x20
6483#define GET_FEATURE_FROM_THREAD_INTERNET 0x40
6484#define GET_FEATURE_FROM_THREAD_RESTRICTED 0x80
6485#endif
6486
6487STDAPI CoInternetSetFeatureEnabled(INTERNETFEATURELIST FeatureEntry, DWORD dwFlags, WINBOOL fEnable);
6488STDAPI CoInternetIsFeatureEnabled(INTERNETFEATURELIST FeatureEntry, DWORD dwFlags);
6489STDAPI CoInternetIsFeatureEnabledForUrl(INTERNETFEATURELIST FeatureEntry, DWORD dwFlags, LPCWSTR szURL, IInternetSecurityManager *pSecMgr);
6490STDAPI CoInternetIsFeatureEnabledForIUri(INTERNETFEATURELIST FeatureEntry, DWORD dwFlags, IUri *pIUri, IInternetSecurityManagerEx2 *pSecMgr);
6491STDAPI CoInternetIsFeatureZoneElevationEnabled(LPCWSTR szFromURL, LPCWSTR szToURL, IInternetSecurityManager *pSecMgr, DWORD dwFlags);
6492#endif
6493STDAPI CopyStgMedium(const STGMEDIUM *pcstgmedSrc, STGMEDIUM *pstgmedDest);
6494STDAPI CopyBindInfo(const BINDINFO *pcbiSrc, BINDINFO *pbiDest);
6495STDAPI_(void) ReleaseBindInfo(BINDINFO *pbindinfo);
6496
6497#define INET_E_USE_DEFAULT_PROTOCOLHANDLER _HRESULT_TYPEDEF_(__MSABI_LONG(0x800C0011))
6498#define INET_E_USE_DEFAULT_SETTING _HRESULT_TYPEDEF_(__MSABI_LONG(0x800C0012))
6499#define INET_E_DEFAULT_ACTION INET_E_USE_DEFAULT_PROTOCOLHANDLER
6500#define INET_E_QUERYOPTION_UNKNOWN _HRESULT_TYPEDEF_(__MSABI_LONG(0x800C0013))
6501#define INET_E_REDIRECTING _HRESULT_TYPEDEF_(__MSABI_LONG(0x800C0014))
6502
6503#define OInetParseUrl CoInternetParseUrl
6504#define OInetCombineUrl CoInternetCombineUrl
6505#if (_WIN32_IE >= _WIN32_IE_IE70)
6506#define OInetCombineUrlEx CoInternetCombineUrlEx
6507#define OInetCombineIUri CoInternetCombineIUri
6508#endif
6509#define OInetCompareUrl CoInternetCompareUrl
6510#define OInetQueryInfo CoInternetQueryInfo
6511#define OInetGetSession CoInternetGetSession
6512#endif
6513
6514#define PROTOCOLFLAG_NO_PICS_CHECK 0x1
6515
6516STDAPI CoInternetCreateSecurityManager(IServiceProvider *pSP, IInternetSecurityManager **ppSM, DWORD dwReserved);
6517STDAPI CoInternetCreateZoneManager(IServiceProvider *pSP, IInternetZoneManager **ppZM, DWORD dwReserved);
6518
6519EXTERN_C const IID CLSID_InternetSecurityManager;
6520EXTERN_C const IID CLSID_InternetZoneManager;
6521
6522#if (_WIN32_IE >= _WIN32_IE_IE60SP2)
6523EXTERN_C const IID CLSID_PersistentZoneIdentifier;
6524#endif
6525
6526#define SID_SInternetSecurityManager IID_IInternetSecurityManager
6527#if (_WIN32_IE >= _WIN32_IE_IE60SP2)
6528#define SID_SInternetSecurityManagerEx IID_IInternetSecurityManagerEx
6529#endif
6530#if (_WIN32_IE >= _WIN32_IE_IE70)
6531#define SID_SInternetSecurityManagerEx2 IID_IInternetSecurityManagerEx2
6532#endif
6533#define SID_SInternetHostSecurityManager IID_IInternetHostSecurityManager
6534
6535#ifndef _LPINTERNETSECURITYMGRSITE_DEFINED
6536#define _LPINTERNETSECURITYMGRSITE_DEFINED
6537
6538/*****************************************************************************
6539 * IInternetSecurityMgrSite interface
6540 */
6541#ifndef __IInternetSecurityMgrSite_INTERFACE_DEFINED__
6542#define __IInternetSecurityMgrSite_INTERFACE_DEFINED__
6543
6544DEFINE_GUID(IID_IInternetSecurityMgrSite, 0x79eac9ed, 0xbaf9, 0x11ce, 0x8c,0x82, 0x00,0xaa,0x00,0x4b,0xa9,0x0b);
6545#if defined(__cplusplus) && !defined(CINTERFACE)
6546MIDL_INTERFACE("79eac9ed-baf9-11ce-8c82-00aa004ba90b")
6547IInternetSecurityMgrSite : public IUnknown
6548{
6549 virtual HRESULT STDMETHODCALLTYPE GetWindow(
6550 HWND *phwnd) = 0;
6551
6552 virtual HRESULT STDMETHODCALLTYPE EnableModeless(
6553 WINBOOL fEnable) = 0;
6554
6555};
6556#ifdef __CRT_UUID_DECL
6557__CRT_UUID_DECL(IInternetSecurityMgrSite, 0x79eac9ed, 0xbaf9, 0x11ce, 0x8c,0x82, 0x00,0xaa,0x00,0x4b,0xa9,0x0b)
6558#endif
6559#else
6560typedef struct IInternetSecurityMgrSiteVtbl {
6561 BEGIN_INTERFACE
6562
6563 /*** IUnknown methods ***/
6564 HRESULT (STDMETHODCALLTYPE *QueryInterface)(
6565 IInternetSecurityMgrSite *This,
6566 REFIID riid,
6567 void **ppvObject);
6568
6569 ULONG (STDMETHODCALLTYPE *AddRef)(
6570 IInternetSecurityMgrSite *This);
6571
6572 ULONG (STDMETHODCALLTYPE *Release)(
6573 IInternetSecurityMgrSite *This);
6574
6575 /*** IInternetSecurityMgrSite methods ***/
6576 HRESULT (STDMETHODCALLTYPE *GetWindow)(
6577 IInternetSecurityMgrSite *This,
6578 HWND *phwnd);
6579
6580 HRESULT (STDMETHODCALLTYPE *EnableModeless)(
6581 IInternetSecurityMgrSite *This,
6582 WINBOOL fEnable);
6583
6584 END_INTERFACE
6585} IInternetSecurityMgrSiteVtbl;
6586
6587interface IInternetSecurityMgrSite {
6588 CONST_VTBL IInternetSecurityMgrSiteVtbl* lpVtbl;
6589};
6590
6591#ifdef COBJMACROS
6592#ifndef WIDL_C_INLINE_WRAPPERS
6593/*** IUnknown methods ***/
6594#define IInternetSecurityMgrSite_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject)
6595#define IInternetSecurityMgrSite_AddRef(This) (This)->lpVtbl->AddRef(This)
6596#define IInternetSecurityMgrSite_Release(This) (This)->lpVtbl->Release(This)
6597/*** IInternetSecurityMgrSite methods ***/
6598#define IInternetSecurityMgrSite_GetWindow(This,phwnd) (This)->lpVtbl->GetWindow(This,phwnd)
6599#define IInternetSecurityMgrSite_EnableModeless(This,fEnable) (This)->lpVtbl->EnableModeless(This,fEnable)
6600#else
6601/*** IUnknown methods ***/
6602static inline HRESULT IInternetSecurityMgrSite_QueryInterface(IInternetSecurityMgrSite* This,REFIID riid,void **ppvObject) {
6603 return This->lpVtbl->QueryInterface(This,riid,ppvObject);
6604}
6605static inline ULONG IInternetSecurityMgrSite_AddRef(IInternetSecurityMgrSite* This) {
6606 return This->lpVtbl->AddRef(This);
6607}
6608static inline ULONG IInternetSecurityMgrSite_Release(IInternetSecurityMgrSite* This) {
6609 return This->lpVtbl->Release(This);
6610}
6611/*** IInternetSecurityMgrSite methods ***/
6612static inline HRESULT IInternetSecurityMgrSite_GetWindow(IInternetSecurityMgrSite* This,HWND *phwnd) {
6613 return This->lpVtbl->GetWindow(This,phwnd);
6614}
6615static inline HRESULT IInternetSecurityMgrSite_EnableModeless(IInternetSecurityMgrSite* This,WINBOOL fEnable) {
6616 return This->lpVtbl->EnableModeless(This,fEnable);
6617}
6618#endif
6619#endif
6620
6621#endif
6622
6623
6624#endif /* __IInternetSecurityMgrSite_INTERFACE_DEFINED__ */
6625
6626#endif
6627
6628#ifndef _LPINTERNETSECURITYMANANGER_DEFINED
6629#define _LPINTERNETSECURITYMANANGER_DEFINED
6630
6631/*****************************************************************************
6632 * IInternetSecurityManager interface
6633 */
6634#ifndef __IInternetSecurityManager_INTERFACE_DEFINED__
6635#define __IInternetSecurityManager_INTERFACE_DEFINED__
6636
6637
6638#define MUTZ_NOSAVEDFILECHECK 0x1
6639#define MUTZ_ISFILE 0x2
6640#define MUTZ_ACCEPT_WILDCARD_SCHEME 0x80
6641#define MUTZ_ENFORCERESTRICTED 0x100
6642#define MUTZ_RESERVED 0x200
6643#define MUTZ_REQUIRESAVEDFILECHECK 0x400
6644#define MUTZ_DONT_UNESCAPE 0x800
6645#define MUTZ_DONT_USE_CACHE 0x1000
6646#define MUTZ_FORCE_INTRANET_FLAGS 0x2000
6647#define MUTZ_IGNORE_ZONE_MAPPINGS 0x4000
6648
6649
6650#define MAX_SIZE_SECURITY_ID 512
6651
6652
6653typedef enum __WIDL_urlmon_generated_name_0000001B {
6654 PUAF_DEFAULT = 0x0,
6655 PUAF_NOUI = 0x1,
6656 PUAF_ISFILE = 0x2,
6657 PUAF_WARN_IF_DENIED = 0x4,
6658 PUAF_FORCEUI_FOREGROUND = 0x8,
6659 PUAF_CHECK_TIFS = 0x10,
6660 PUAF_DONTCHECKBOXINDIALOG = 0x20,
6661 PUAF_TRUSTED = 0x40,
6662 PUAF_ACCEPT_WILDCARD_SCHEME = 0x80,
6663 PUAF_ENFORCERESTRICTED = 0x100,
6664 PUAF_NOSAVEDFILECHECK = 0x200,
6665 PUAF_REQUIRESAVEDFILECHECK = 0x400,
6666 PUAF_DONT_USE_CACHE = 0x1000,
6667 PUAF_RESERVED1 = 0x2000,
6668 PUAF_RESERVED2 = 0x4000,
6669 PUAF_LMZ_UNLOCKED = 0x10000,
6670 PUAF_LMZ_LOCKED = 0x20000,
6671 PUAF_DEFAULTZONEPOL = 0x40000,
6672 PUAF_NPL_USE_LOCKED_IF_RESTRICTED = 0x80000,
6673 PUAF_NOUIIFLOCKED = 0x100000,
6674 PUAF_DRAGPROTOCOLCHECK = 0x200000
6675} PUAF;
6676typedef enum __WIDL_urlmon_generated_name_0000001C {
6677 PUAFOUT_DEFAULT = 0x0,
6678 PUAFOUT_ISLOCKZONEPOLICY = 0x1
6679} PUAFOUT;
6680
6681
6682typedef enum __WIDL_urlmon_generated_name_0000001D {
6683 SZM_CREATE = 0x0,
6684 SZM_DELETE = 0x1
6685} SZM_FLAGS;
6686
6687DEFINE_GUID(IID_IInternetSecurityManager, 0x79eac9ee, 0xbaf9, 0x11ce, 0x8c,0x82, 0x00,0xaa,0x00,0x4b,0xa9,0x0b);
6688#if defined(__cplusplus) && !defined(CINTERFACE)
6689MIDL_INTERFACE("79eac9ee-baf9-11ce-8c82-00aa004ba90b")
6690IInternetSecurityManager : public IUnknown
6691{
6692 virtual HRESULT STDMETHODCALLTYPE SetSecuritySite(
6693 IInternetSecurityMgrSite *pSite) = 0;
6694
6695 virtual HRESULT STDMETHODCALLTYPE GetSecuritySite(
6696 IInternetSecurityMgrSite **ppSite) = 0;
6697
6698 virtual HRESULT STDMETHODCALLTYPE MapUrlToZone(
6699 LPCWSTR pwszUrl,
6700 DWORD *pdwZone,
6701 DWORD dwFlags) = 0;
6702
6703 virtual HRESULT STDMETHODCALLTYPE GetSecurityId(
6704 LPCWSTR pwszUrl,
6705 BYTE *pbSecurityId,
6706 DWORD *pcbSecurityId,
6707 DWORD_PTR dwReserved) = 0;
6708
6709 virtual HRESULT STDMETHODCALLTYPE ProcessUrlAction(
6710 LPCWSTR pwszUrl,
6711 DWORD dwAction,
6712 BYTE *pPolicy,
6713 DWORD cbPolicy,
6714 BYTE *pContext,
6715 DWORD cbContext,
6716 DWORD dwFlags,
6717 DWORD dwReserved) = 0;
6718
6719 virtual HRESULT STDMETHODCALLTYPE QueryCustomPolicy(
6720 LPCWSTR pwszUrl,
6721 REFGUID guidKey,
6722 BYTE **ppPolicy,
6723 DWORD *pcbPolicy,
6724 BYTE *pContext,
6725 DWORD cbContext,
6726 DWORD dwReserved) = 0;
6727
6728 virtual HRESULT STDMETHODCALLTYPE SetZoneMapping(
6729 DWORD dwZone,
6730 LPCWSTR lpszPattern,
6731 DWORD dwFlags) = 0;
6732
6733 virtual HRESULT STDMETHODCALLTYPE GetZoneMappings(
6734 DWORD dwZone,
6735 IEnumString **ppenumString,
6736 DWORD dwFlags) = 0;
6737
6738};
6739#ifdef __CRT_UUID_DECL
6740__CRT_UUID_DECL(IInternetSecurityManager, 0x79eac9ee, 0xbaf9, 0x11ce, 0x8c,0x82, 0x00,0xaa,0x00,0x4b,0xa9,0x0b)
6741#endif
6742#else
6743typedef struct IInternetSecurityManagerVtbl {
6744 BEGIN_INTERFACE
6745
6746 /*** IUnknown methods ***/
6747 HRESULT (STDMETHODCALLTYPE *QueryInterface)(
6748 IInternetSecurityManager *This,
6749 REFIID riid,
6750 void **ppvObject);
6751
6752 ULONG (STDMETHODCALLTYPE *AddRef)(
6753 IInternetSecurityManager *This);
6754
6755 ULONG (STDMETHODCALLTYPE *Release)(
6756 IInternetSecurityManager *This);
6757
6758 /*** IInternetSecurityManager methods ***/
6759 HRESULT (STDMETHODCALLTYPE *SetSecuritySite)(
6760 IInternetSecurityManager *This,
6761 IInternetSecurityMgrSite *pSite);
6762
6763 HRESULT (STDMETHODCALLTYPE *GetSecuritySite)(
6764 IInternetSecurityManager *This,
6765 IInternetSecurityMgrSite **ppSite);
6766
6767 HRESULT (STDMETHODCALLTYPE *MapUrlToZone)(
6768 IInternetSecurityManager *This,
6769 LPCWSTR pwszUrl,
6770 DWORD *pdwZone,
6771 DWORD dwFlags);
6772
6773 HRESULT (STDMETHODCALLTYPE *GetSecurityId)(
6774 IInternetSecurityManager *This,
6775 LPCWSTR pwszUrl,
6776 BYTE *pbSecurityId,
6777 DWORD *pcbSecurityId,
6778 DWORD_PTR dwReserved);
6779
6780 HRESULT (STDMETHODCALLTYPE *ProcessUrlAction)(
6781 IInternetSecurityManager *This,
6782 LPCWSTR pwszUrl,
6783 DWORD dwAction,
6784 BYTE *pPolicy,
6785 DWORD cbPolicy,
6786 BYTE *pContext,
6787 DWORD cbContext,
6788 DWORD dwFlags,
6789 DWORD dwReserved);
6790
6791 HRESULT (STDMETHODCALLTYPE *QueryCustomPolicy)(
6792 IInternetSecurityManager *This,
6793 LPCWSTR pwszUrl,
6794 REFGUID guidKey,
6795 BYTE **ppPolicy,
6796 DWORD *pcbPolicy,
6797 BYTE *pContext,
6798 DWORD cbContext,
6799 DWORD dwReserved);
6800
6801 HRESULT (STDMETHODCALLTYPE *SetZoneMapping)(
6802 IInternetSecurityManager *This,
6803 DWORD dwZone,
6804 LPCWSTR lpszPattern,
6805 DWORD dwFlags);
6806
6807 HRESULT (STDMETHODCALLTYPE *GetZoneMappings)(
6808 IInternetSecurityManager *This,
6809 DWORD dwZone,
6810 IEnumString **ppenumString,
6811 DWORD dwFlags);
6812
6813 END_INTERFACE
6814} IInternetSecurityManagerVtbl;
6815
6816interface IInternetSecurityManager {
6817 CONST_VTBL IInternetSecurityManagerVtbl* lpVtbl;
6818};
6819
6820#ifdef COBJMACROS
6821#ifndef WIDL_C_INLINE_WRAPPERS
6822/*** IUnknown methods ***/
6823#define IInternetSecurityManager_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject)
6824#define IInternetSecurityManager_AddRef(This) (This)->lpVtbl->AddRef(This)
6825#define IInternetSecurityManager_Release(This) (This)->lpVtbl->Release(This)
6826/*** IInternetSecurityManager methods ***/
6827#define IInternetSecurityManager_SetSecuritySite(This,pSite) (This)->lpVtbl->SetSecuritySite(This,pSite)
6828#define IInternetSecurityManager_GetSecuritySite(This,ppSite) (This)->lpVtbl->GetSecuritySite(This,ppSite)
6829#define IInternetSecurityManager_MapUrlToZone(This,pwszUrl,pdwZone,dwFlags) (This)->lpVtbl->MapUrlToZone(This,pwszUrl,pdwZone,dwFlags)
6830#define IInternetSecurityManager_GetSecurityId(This,pwszUrl,pbSecurityId,pcbSecurityId,dwReserved) (This)->lpVtbl->GetSecurityId(This,pwszUrl,pbSecurityId,pcbSecurityId,dwReserved)
6831#define IInternetSecurityManager_ProcessUrlAction(This,pwszUrl,dwAction,pPolicy,cbPolicy,pContext,cbContext,dwFlags,dwReserved) (This)->lpVtbl->ProcessUrlAction(This,pwszUrl,dwAction,pPolicy,cbPolicy,pContext,cbContext,dwFlags,dwReserved)
6832#define IInternetSecurityManager_QueryCustomPolicy(This,pwszUrl,guidKey,ppPolicy,pcbPolicy,pContext,cbContext,dwReserved) (This)->lpVtbl->QueryCustomPolicy(This,pwszUrl,guidKey,ppPolicy,pcbPolicy,pContext,cbContext,dwReserved)
6833#define IInternetSecurityManager_SetZoneMapping(This,dwZone,lpszPattern,dwFlags) (This)->lpVtbl->SetZoneMapping(This,dwZone,lpszPattern,dwFlags)
6834#define IInternetSecurityManager_GetZoneMappings(This,dwZone,ppenumString,dwFlags) (This)->lpVtbl->GetZoneMappings(This,dwZone,ppenumString,dwFlags)
6835#else
6836/*** IUnknown methods ***/
6837static inline HRESULT IInternetSecurityManager_QueryInterface(IInternetSecurityManager* This,REFIID riid,void **ppvObject) {
6838 return This->lpVtbl->QueryInterface(This,riid,ppvObject);
6839}
6840static inline ULONG IInternetSecurityManager_AddRef(IInternetSecurityManager* This) {
6841 return This->lpVtbl->AddRef(This);
6842}
6843static inline ULONG IInternetSecurityManager_Release(IInternetSecurityManager* This) {
6844 return This->lpVtbl->Release(This);
6845}
6846/*** IInternetSecurityManager methods ***/
6847static inline HRESULT IInternetSecurityManager_SetSecuritySite(IInternetSecurityManager* This,IInternetSecurityMgrSite *pSite) {
6848 return This->lpVtbl->SetSecuritySite(This,pSite);
6849}
6850static inline HRESULT IInternetSecurityManager_GetSecuritySite(IInternetSecurityManager* This,IInternetSecurityMgrSite **ppSite) {
6851 return This->lpVtbl->GetSecuritySite(This,ppSite);
6852}
6853static inline HRESULT IInternetSecurityManager_MapUrlToZone(IInternetSecurityManager* This,LPCWSTR pwszUrl,DWORD *pdwZone,DWORD dwFlags) {
6854 return This->lpVtbl->MapUrlToZone(This,pwszUrl,pdwZone,dwFlags);
6855}
6856static inline HRESULT IInternetSecurityManager_GetSecurityId(IInternetSecurityManager* This,LPCWSTR pwszUrl,BYTE *pbSecurityId,DWORD *pcbSecurityId,DWORD_PTR dwReserved) {
6857 return This->lpVtbl->GetSecurityId(This,pwszUrl,pbSecurityId,pcbSecurityId,dwReserved);
6858}
6859static inline HRESULT IInternetSecurityManager_ProcessUrlAction(IInternetSecurityManager* This,LPCWSTR pwszUrl,DWORD dwAction,BYTE *pPolicy,DWORD cbPolicy,BYTE *pContext,DWORD cbContext,DWORD dwFlags,DWORD dwReserved) {
6860 return This->lpVtbl->ProcessUrlAction(This,pwszUrl,dwAction,pPolicy,cbPolicy,pContext,cbContext,dwFlags,dwReserved);
6861}
6862static inline HRESULT IInternetSecurityManager_QueryCustomPolicy(IInternetSecurityManager* This,LPCWSTR pwszUrl,REFGUID guidKey,BYTE **ppPolicy,DWORD *pcbPolicy,BYTE *pContext,DWORD cbContext,DWORD dwReserved) {
6863 return This->lpVtbl->QueryCustomPolicy(This,pwszUrl,guidKey,ppPolicy,pcbPolicy,pContext,cbContext,dwReserved);
6864}
6865static inline HRESULT IInternetSecurityManager_SetZoneMapping(IInternetSecurityManager* This,DWORD dwZone,LPCWSTR lpszPattern,DWORD dwFlags) {
6866 return This->lpVtbl->SetZoneMapping(This,dwZone,lpszPattern,dwFlags);
6867}
6868static inline HRESULT IInternetSecurityManager_GetZoneMappings(IInternetSecurityManager* This,DWORD dwZone,IEnumString **ppenumString,DWORD dwFlags) {
6869 return This->lpVtbl->GetZoneMappings(This,dwZone,ppenumString,dwFlags);
6870}
6871#endif
6872#endif
6873
6874#endif
6875
6876
6877#endif /* __IInternetSecurityManager_INTERFACE_DEFINED__ */
6878
6879#endif
6880
6881#if (_WIN32_IE >= _WIN32_IE_IE60SP2)
6882#ifndef _LPINTERNETSECURITYMANANGEREX_DEFINED
6883#define _LPINTERNETSECURITYMANANGEREX_DEFINED
6884
6885/*****************************************************************************
6886 * IInternetSecurityManagerEx interface
6887 */
6888#ifndef __IInternetSecurityManagerEx_INTERFACE_DEFINED__
6889#define __IInternetSecurityManagerEx_INTERFACE_DEFINED__
6890
6891DEFINE_GUID(IID_IInternetSecurityManagerEx, 0xf164edf1, 0xcc7c, 0x4f0d, 0x9a,0x94, 0x34,0x22,0x26,0x25,0xc3,0x93);
6892#if defined(__cplusplus) && !defined(CINTERFACE)
6893MIDL_INTERFACE("f164edf1-cc7c-4f0d-9a94-34222625c393")
6894IInternetSecurityManagerEx : public IInternetSecurityManager
6895{
6896 virtual HRESULT STDMETHODCALLTYPE ProcessUrlActionEx(
6897 LPCWSTR pwszUrl,
6898 DWORD dwAction,
6899 BYTE *pPolicy,
6900 DWORD cbPolicy,
6901 BYTE *pContext,
6902 DWORD cbContext,
6903 DWORD dwFlags,
6904 DWORD dwReserved,
6905 DWORD *pdwOutFlags) = 0;
6906
6907};
6908#ifdef __CRT_UUID_DECL
6909__CRT_UUID_DECL(IInternetSecurityManagerEx, 0xf164edf1, 0xcc7c, 0x4f0d, 0x9a,0x94, 0x34,0x22,0x26,0x25,0xc3,0x93)
6910#endif
6911#else
6912typedef struct IInternetSecurityManagerExVtbl {
6913 BEGIN_INTERFACE
6914
6915 /*** IUnknown methods ***/
6916 HRESULT (STDMETHODCALLTYPE *QueryInterface)(
6917 IInternetSecurityManagerEx *This,
6918 REFIID riid,
6919 void **ppvObject);
6920
6921 ULONG (STDMETHODCALLTYPE *AddRef)(
6922 IInternetSecurityManagerEx *This);
6923
6924 ULONG (STDMETHODCALLTYPE *Release)(
6925 IInternetSecurityManagerEx *This);
6926
6927 /*** IInternetSecurityManager methods ***/
6928 HRESULT (STDMETHODCALLTYPE *SetSecuritySite)(
6929 IInternetSecurityManagerEx *This,
6930 IInternetSecurityMgrSite *pSite);
6931
6932 HRESULT (STDMETHODCALLTYPE *GetSecuritySite)(
6933 IInternetSecurityManagerEx *This,
6934 IInternetSecurityMgrSite **ppSite);
6935
6936 HRESULT (STDMETHODCALLTYPE *MapUrlToZone)(
6937 IInternetSecurityManagerEx *This,
6938 LPCWSTR pwszUrl,
6939 DWORD *pdwZone,
6940 DWORD dwFlags);
6941
6942 HRESULT (STDMETHODCALLTYPE *GetSecurityId)(
6943 IInternetSecurityManagerEx *This,
6944 LPCWSTR pwszUrl,
6945 BYTE *pbSecurityId,
6946 DWORD *pcbSecurityId,
6947 DWORD_PTR dwReserved);
6948
6949 HRESULT (STDMETHODCALLTYPE *ProcessUrlAction)(
6950 IInternetSecurityManagerEx *This,
6951 LPCWSTR pwszUrl,
6952 DWORD dwAction,
6953 BYTE *pPolicy,
6954 DWORD cbPolicy,
6955 BYTE *pContext,
6956 DWORD cbContext,
6957 DWORD dwFlags,
6958 DWORD dwReserved);
6959
6960 HRESULT (STDMETHODCALLTYPE *QueryCustomPolicy)(
6961 IInternetSecurityManagerEx *This,
6962 LPCWSTR pwszUrl,
6963 REFGUID guidKey,
6964 BYTE **ppPolicy,
6965 DWORD *pcbPolicy,
6966 BYTE *pContext,
6967 DWORD cbContext,
6968 DWORD dwReserved);
6969
6970 HRESULT (STDMETHODCALLTYPE *SetZoneMapping)(
6971 IInternetSecurityManagerEx *This,
6972 DWORD dwZone,
6973 LPCWSTR lpszPattern,
6974 DWORD dwFlags);
6975
6976 HRESULT (STDMETHODCALLTYPE *GetZoneMappings)(
6977 IInternetSecurityManagerEx *This,
6978 DWORD dwZone,
6979 IEnumString **ppenumString,
6980 DWORD dwFlags);
6981
6982 /*** IInternetSecurityManagerEx methods ***/
6983 HRESULT (STDMETHODCALLTYPE *ProcessUrlActionEx)(
6984 IInternetSecurityManagerEx *This,
6985 LPCWSTR pwszUrl,
6986 DWORD dwAction,
6987 BYTE *pPolicy,
6988 DWORD cbPolicy,
6989 BYTE *pContext,
6990 DWORD cbContext,
6991 DWORD dwFlags,
6992 DWORD dwReserved,
6993 DWORD *pdwOutFlags);
6994
6995 END_INTERFACE
6996} IInternetSecurityManagerExVtbl;
6997
6998interface IInternetSecurityManagerEx {
6999 CONST_VTBL IInternetSecurityManagerExVtbl* lpVtbl;
7000};
7001
7002#ifdef COBJMACROS
7003#ifndef WIDL_C_INLINE_WRAPPERS
7004/*** IUnknown methods ***/
7005#define IInternetSecurityManagerEx_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject)
7006#define IInternetSecurityManagerEx_AddRef(This) (This)->lpVtbl->AddRef(This)
7007#define IInternetSecurityManagerEx_Release(This) (This)->lpVtbl->Release(This)
7008/*** IInternetSecurityManager methods ***/
7009#define IInternetSecurityManagerEx_SetSecuritySite(This,pSite) (This)->lpVtbl->SetSecuritySite(This,pSite)
7010#define IInternetSecurityManagerEx_GetSecuritySite(This,ppSite) (This)->lpVtbl->GetSecuritySite(This,ppSite)
7011#define IInternetSecurityManagerEx_MapUrlToZone(This,pwszUrl,pdwZone,dwFlags) (This)->lpVtbl->MapUrlToZone(This,pwszUrl,pdwZone,dwFlags)
7012#define IInternetSecurityManagerEx_GetSecurityId(This,pwszUrl,pbSecurityId,pcbSecurityId,dwReserved) (This)->lpVtbl->GetSecurityId(This,pwszUrl,pbSecurityId,pcbSecurityId,dwReserved)
7013#define IInternetSecurityManagerEx_ProcessUrlAction(This,pwszUrl,dwAction,pPolicy,cbPolicy,pContext,cbContext,dwFlags,dwReserved) (This)->lpVtbl->ProcessUrlAction(This,pwszUrl,dwAction,pPolicy,cbPolicy,pContext,cbContext,dwFlags,dwReserved)
7014#define IInternetSecurityManagerEx_QueryCustomPolicy(This,pwszUrl,guidKey,ppPolicy,pcbPolicy,pContext,cbContext,dwReserved) (This)->lpVtbl->QueryCustomPolicy(This,pwszUrl,guidKey,ppPolicy,pcbPolicy,pContext,cbContext,dwReserved)
7015#define IInternetSecurityManagerEx_SetZoneMapping(This,dwZone,lpszPattern,dwFlags) (This)->lpVtbl->SetZoneMapping(This,dwZone,lpszPattern,dwFlags)
7016#define IInternetSecurityManagerEx_GetZoneMappings(This,dwZone,ppenumString,dwFlags) (This)->lpVtbl->GetZoneMappings(This,dwZone,ppenumString,dwFlags)
7017/*** IInternetSecurityManagerEx methods ***/
7018#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)
7019#else
7020/*** IUnknown methods ***/
7021static inline HRESULT IInternetSecurityManagerEx_QueryInterface(IInternetSecurityManagerEx* This,REFIID riid,void **ppvObject) {
7022 return This->lpVtbl->QueryInterface(This,riid,ppvObject);
7023}
7024static inline ULONG IInternetSecurityManagerEx_AddRef(IInternetSecurityManagerEx* This) {
7025 return This->lpVtbl->AddRef(This);
7026}
7027static inline ULONG IInternetSecurityManagerEx_Release(IInternetSecurityManagerEx* This) {
7028 return This->lpVtbl->Release(This);
7029}
7030/*** IInternetSecurityManager methods ***/
7031static inline HRESULT IInternetSecurityManagerEx_SetSecuritySite(IInternetSecurityManagerEx* This,IInternetSecurityMgrSite *pSite) {
7032 return This->lpVtbl->SetSecuritySite(This,pSite);
7033}
7034static inline HRESULT IInternetSecurityManagerEx_GetSecuritySite(IInternetSecurityManagerEx* This,IInternetSecurityMgrSite **ppSite) {
7035 return This->lpVtbl->GetSecuritySite(This,ppSite);
7036}
7037static inline HRESULT IInternetSecurityManagerEx_MapUrlToZone(IInternetSecurityManagerEx* This,LPCWSTR pwszUrl,DWORD *pdwZone,DWORD dwFlags) {
7038 return This->lpVtbl->MapUrlToZone(This,pwszUrl,pdwZone,dwFlags);
7039}
7040static inline HRESULT IInternetSecurityManagerEx_GetSecurityId(IInternetSecurityManagerEx* This,LPCWSTR pwszUrl,BYTE *pbSecurityId,DWORD *pcbSecurityId,DWORD_PTR dwReserved) {
7041 return This->lpVtbl->GetSecurityId(This,pwszUrl,pbSecurityId,pcbSecurityId,dwReserved);
7042}
7043static inline HRESULT IInternetSecurityManagerEx_ProcessUrlAction(IInternetSecurityManagerEx* This,LPCWSTR pwszUrl,DWORD dwAction,BYTE *pPolicy,DWORD cbPolicy,BYTE *pContext,DWORD cbContext,DWORD dwFlags,DWORD dwReserved) {
7044 return This->lpVtbl->ProcessUrlAction(This,pwszUrl,dwAction,pPolicy,cbPolicy,pContext,cbContext,dwFlags,dwReserved);
7045}
7046static inline HRESULT IInternetSecurityManagerEx_QueryCustomPolicy(IInternetSecurityManagerEx* This,LPCWSTR pwszUrl,REFGUID guidKey,BYTE **ppPolicy,DWORD *pcbPolicy,BYTE *pContext,DWORD cbContext,DWORD dwReserved) {
7047 return This->lpVtbl->QueryCustomPolicy(This,pwszUrl,guidKey,ppPolicy,pcbPolicy,pContext,cbContext,dwReserved);
7048}
7049static inline HRESULT IInternetSecurityManagerEx_SetZoneMapping(IInternetSecurityManagerEx* This,DWORD dwZone,LPCWSTR lpszPattern,DWORD dwFlags) {
7050 return This->lpVtbl->SetZoneMapping(This,dwZone,lpszPattern,dwFlags);
7051}
7052static inline HRESULT IInternetSecurityManagerEx_GetZoneMappings(IInternetSecurityManagerEx* This,DWORD dwZone,IEnumString **ppenumString,DWORD dwFlags) {
7053 return This->lpVtbl->GetZoneMappings(This,dwZone,ppenumString,dwFlags);
7054}
7055/*** IInternetSecurityManagerEx methods ***/
7056static inline HRESULT IInternetSecurityManagerEx_ProcessUrlActionEx(IInternetSecurityManagerEx* This,LPCWSTR pwszUrl,DWORD dwAction,BYTE *pPolicy,DWORD cbPolicy,BYTE *pContext,DWORD cbContext,DWORD dwFlags,DWORD dwReserved,DWORD *pdwOutFlags) {
7057 return This->lpVtbl->ProcessUrlActionEx(This,pwszUrl,dwAction,pPolicy,cbPolicy,pContext,cbContext,dwFlags,dwReserved,pdwOutFlags);
7058}
7059#endif
7060#endif
7061
7062#endif
7063
7064
7065#endif /* __IInternetSecurityManagerEx_INTERFACE_DEFINED__ */
7066
7067#endif
7068#endif
7069
7070#if (_WIN32_IE >= _WIN32_IE_IE70)
7071#ifndef _LPINTERNETSECURITYMANANGEREx2_DEFINED
7072#define _LPINTERNETSECURITYMANANGEREx2_DEFINED
7073
7074/*****************************************************************************
7075 * IInternetSecurityManagerEx2 interface
7076 */
7077#ifndef __IInternetSecurityManagerEx2_INTERFACE_DEFINED__
7078#define __IInternetSecurityManagerEx2_INTERFACE_DEFINED__
7079
7080DEFINE_GUID(IID_IInternetSecurityManagerEx2, 0xf1e50292, 0xa795, 0x4117, 0x8e,0x09, 0x2b,0x56,0x0a,0x72,0xac,0x60);
7081#if defined(__cplusplus) && !defined(CINTERFACE)
7082MIDL_INTERFACE("f1e50292-a795-4117-8e09-2b560a72ac60")
7083IInternetSecurityManagerEx2 : public IInternetSecurityManagerEx
7084{
7085 virtual HRESULT STDMETHODCALLTYPE MapUrlToZoneEx2(
7086 IUri *pUri,
7087 DWORD *pdwZone,
7088 DWORD dwFlags,
7089 LPWSTR *ppwszMappedUrl,
7090 DWORD *pdwOutFlags) = 0;
7091
7092 virtual HRESULT STDMETHODCALLTYPE ProcessUrlActionEx2(
7093 IUri *pUri,
7094 DWORD dwAction,
7095 BYTE *pPolicy,
7096 DWORD cbPolicy,
7097 BYTE *pContext,
7098 DWORD cbContext,
7099 DWORD dwFlags,
7100 DWORD_PTR dwReserved,
7101 DWORD *pdwOutFlags) = 0;
7102
7103 virtual HRESULT STDMETHODCALLTYPE GetSecurityIdEx2(
7104 IUri *pUri,
7105 BYTE *pbSecurityId,
7106 DWORD *pcbSecurityId,
7107 DWORD_PTR dwReserved) = 0;
7108
7109 virtual HRESULT STDMETHODCALLTYPE QueryCustomPolicyEx2(
7110 IUri *pUri,
7111 REFGUID guidKey,
7112 BYTE **ppPolicy,
7113 DWORD *pcbPolicy,
7114 BYTE *pContext,
7115 DWORD cbContext,
7116 DWORD_PTR dwReserved) = 0;
7117
7118};
7119#ifdef __CRT_UUID_DECL
7120__CRT_UUID_DECL(IInternetSecurityManagerEx2, 0xf1e50292, 0xa795, 0x4117, 0x8e,0x09, 0x2b,0x56,0x0a,0x72,0xac,0x60)
7121#endif
7122#else
7123typedef struct IInternetSecurityManagerEx2Vtbl {
7124 BEGIN_INTERFACE
7125
7126 /*** IUnknown methods ***/
7127 HRESULT (STDMETHODCALLTYPE *QueryInterface)(
7128 IInternetSecurityManagerEx2 *This,
7129 REFIID riid,
7130 void **ppvObject);
7131
7132 ULONG (STDMETHODCALLTYPE *AddRef)(
7133 IInternetSecurityManagerEx2 *This);
7134
7135 ULONG (STDMETHODCALLTYPE *Release)(
7136 IInternetSecurityManagerEx2 *This);
7137
7138 /*** IInternetSecurityManager methods ***/
7139 HRESULT (STDMETHODCALLTYPE *SetSecuritySite)(
7140 IInternetSecurityManagerEx2 *This,
7141 IInternetSecurityMgrSite *pSite);
7142
7143 HRESULT (STDMETHODCALLTYPE *GetSecuritySite)(
7144 IInternetSecurityManagerEx2 *This,
7145 IInternetSecurityMgrSite **ppSite);
7146
7147 HRESULT (STDMETHODCALLTYPE *MapUrlToZone)(
7148 IInternetSecurityManagerEx2 *This,
7149 LPCWSTR pwszUrl,
7150 DWORD *pdwZone,
7151 DWORD dwFlags);
7152
7153 HRESULT (STDMETHODCALLTYPE *GetSecurityId)(
7154 IInternetSecurityManagerEx2 *This,
7155 LPCWSTR pwszUrl,
7156 BYTE *pbSecurityId,
7157 DWORD *pcbSecurityId,
7158 DWORD_PTR dwReserved);
7159
7160 HRESULT (STDMETHODCALLTYPE *ProcessUrlAction)(
7161 IInternetSecurityManagerEx2 *This,
7162 LPCWSTR pwszUrl,
7163 DWORD dwAction,
7164 BYTE *pPolicy,
7165 DWORD cbPolicy,
7166 BYTE *pContext,
7167 DWORD cbContext,
7168 DWORD dwFlags,
7169 DWORD dwReserved);
7170
7171 HRESULT (STDMETHODCALLTYPE *QueryCustomPolicy)(
7172 IInternetSecurityManagerEx2 *This,
7173 LPCWSTR pwszUrl,
7174 REFGUID guidKey,
7175 BYTE **ppPolicy,
7176 DWORD *pcbPolicy,
7177 BYTE *pContext,
7178 DWORD cbContext,
7179 DWORD dwReserved);
7180
7181 HRESULT (STDMETHODCALLTYPE *SetZoneMapping)(
7182 IInternetSecurityManagerEx2 *This,
7183 DWORD dwZone,
7184 LPCWSTR lpszPattern,
7185 DWORD dwFlags);
7186
7187 HRESULT (STDMETHODCALLTYPE *GetZoneMappings)(
7188 IInternetSecurityManagerEx2 *This,
7189 DWORD dwZone,
7190 IEnumString **ppenumString,
7191 DWORD dwFlags);
7192
7193 /*** IInternetSecurityManagerEx methods ***/
7194 HRESULT (STDMETHODCALLTYPE *ProcessUrlActionEx)(
7195 IInternetSecurityManagerEx2 *This,
7196 LPCWSTR pwszUrl,
7197 DWORD dwAction,
7198 BYTE *pPolicy,
7199 DWORD cbPolicy,
7200 BYTE *pContext,
7201 DWORD cbContext,
7202 DWORD dwFlags,
7203 DWORD dwReserved,
7204 DWORD *pdwOutFlags);
7205
7206 /*** IInternetSecurityManagerEx2 methods ***/
7207 HRESULT (STDMETHODCALLTYPE *MapUrlToZoneEx2)(
7208 IInternetSecurityManagerEx2 *This,
7209 IUri *pUri,
7210 DWORD *pdwZone,
7211 DWORD dwFlags,
7212 LPWSTR *ppwszMappedUrl,
7213 DWORD *pdwOutFlags);
7214
7215 HRESULT (STDMETHODCALLTYPE *ProcessUrlActionEx2)(
7216 IInternetSecurityManagerEx2 *This,
7217 IUri *pUri,
7218 DWORD dwAction,
7219 BYTE *pPolicy,
7220 DWORD cbPolicy,
7221 BYTE *pContext,
7222 DWORD cbContext,
7223 DWORD dwFlags,
7224 DWORD_PTR dwReserved,
7225 DWORD *pdwOutFlags);
7226
7227 HRESULT (STDMETHODCALLTYPE *GetSecurityIdEx2)(
7228 IInternetSecurityManagerEx2 *This,
7229 IUri *pUri,
7230 BYTE *pbSecurityId,
7231 DWORD *pcbSecurityId,
7232 DWORD_PTR dwReserved);
7233
7234 HRESULT (STDMETHODCALLTYPE *QueryCustomPolicyEx2)(
7235 IInternetSecurityManagerEx2 *This,
7236 IUri *pUri,
7237 REFGUID guidKey,
7238 BYTE **ppPolicy,
7239 DWORD *pcbPolicy,
7240 BYTE *pContext,
7241 DWORD cbContext,
7242 DWORD_PTR dwReserved);
7243
7244 END_INTERFACE
7245} IInternetSecurityManagerEx2Vtbl;
7246
7247interface IInternetSecurityManagerEx2 {
7248 CONST_VTBL IInternetSecurityManagerEx2Vtbl* lpVtbl;
7249};
7250
7251#ifdef COBJMACROS
7252#ifndef WIDL_C_INLINE_WRAPPERS
7253/*** IUnknown methods ***/
7254#define IInternetSecurityManagerEx2_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject)
7255#define IInternetSecurityManagerEx2_AddRef(This) (This)->lpVtbl->AddRef(This)
7256#define IInternetSecurityManagerEx2_Release(This) (This)->lpVtbl->Release(This)
7257/*** IInternetSecurityManager methods ***/
7258#define IInternetSecurityManagerEx2_SetSecuritySite(This,pSite) (This)->lpVtbl->SetSecuritySite(This,pSite)
7259#define IInternetSecurityManagerEx2_GetSecuritySite(This,ppSite) (This)->lpVtbl->GetSecuritySite(This,ppSite)
7260#define IInternetSecurityManagerEx2_MapUrlToZone(This,pwszUrl,pdwZone,dwFlags) (This)->lpVtbl->MapUrlToZone(This,pwszUrl,pdwZone,dwFlags)
7261#define IInternetSecurityManagerEx2_GetSecurityId(This,pwszUrl,pbSecurityId,pcbSecurityId,dwReserved) (This)->lpVtbl->GetSecurityId(This,pwszUrl,pbSecurityId,pcbSecurityId,dwReserved)
7262#define IInternetSecurityManagerEx2_ProcessUrlAction(This,pwszUrl,dwAction,pPolicy,cbPolicy,pContext,cbContext,dwFlags,dwReserved) (This)->lpVtbl->ProcessUrlAction(This,pwszUrl,dwAction,pPolicy,cbPolicy,pContext,cbContext,dwFlags,dwReserved)
7263#define IInternetSecurityManagerEx2_QueryCustomPolicy(This,pwszUrl,guidKey,ppPolicy,pcbPolicy,pContext,cbContext,dwReserved) (This)->lpVtbl->QueryCustomPolicy(This,pwszUrl,guidKey,ppPolicy,pcbPolicy,pContext,cbContext,dwReserved)
7264#define IInternetSecurityManagerEx2_SetZoneMapping(This,dwZone,lpszPattern,dwFlags) (This)->lpVtbl->SetZoneMapping(This,dwZone,lpszPattern,dwFlags)
7265#define IInternetSecurityManagerEx2_GetZoneMappings(This,dwZone,ppenumString,dwFlags) (This)->lpVtbl->GetZoneMappings(This,dwZone,ppenumString,dwFlags)
7266/*** IInternetSecurityManagerEx methods ***/
7267#define IInternetSecurityManagerEx2_ProcessUrlActionEx(This,pwszUrl,dwAction,pPolicy,cbPolicy,pContext,cbContext,dwFlags,dwReserved,pdwOutFlags) (This)->lpVtbl->ProcessUrlActionEx(This,pwszUrl,dwAction,pPolicy,cbPolicy,pContext,cbContext,dwFlags,dwReserved,pdwOutFlags)
7268/*** IInternetSecurityManagerEx2 methods ***/
7269#define IInternetSecurityManagerEx2_MapUrlToZoneEx2(This,pUri,pdwZone,dwFlags,ppwszMappedUrl,pdwOutFlags) (This)->lpVtbl->MapUrlToZoneEx2(This,pUri,pdwZone,dwFlags,ppwszMappedUrl,pdwOutFlags)
7270#define IInternetSecurityManagerEx2_ProcessUrlActionEx2(This,pUri,dwAction,pPolicy,cbPolicy,pContext,cbContext,dwFlags,dwReserved,pdwOutFlags) (This)->lpVtbl->ProcessUrlActionEx2(This,pUri,dwAction,pPolicy,cbPolicy,pContext,cbContext,dwFlags,dwReserved,pdwOutFlags)
7271#define IInternetSecurityManagerEx2_GetSecurityIdEx2(This,pUri,pbSecurityId,pcbSecurityId,dwReserved) (This)->lpVtbl->GetSecurityIdEx2(This,pUri,pbSecurityId,pcbSecurityId,dwReserved)
7272#define IInternetSecurityManagerEx2_QueryCustomPolicyEx2(This,pUri,guidKey,ppPolicy,pcbPolicy,pContext,cbContext,dwReserved) (This)->lpVtbl->QueryCustomPolicyEx2(This,pUri,guidKey,ppPolicy,pcbPolicy,pContext,cbContext,dwReserved)
7273#else
7274/*** IUnknown methods ***/
7275static inline HRESULT IInternetSecurityManagerEx2_QueryInterface(IInternetSecurityManagerEx2* This,REFIID riid,void **ppvObject) {
7276 return This->lpVtbl->QueryInterface(This,riid,ppvObject);
7277}
7278static inline ULONG IInternetSecurityManagerEx2_AddRef(IInternetSecurityManagerEx2* This) {
7279 return This->lpVtbl->AddRef(This);
7280}
7281static inline ULONG IInternetSecurityManagerEx2_Release(IInternetSecurityManagerEx2* This) {
7282 return This->lpVtbl->Release(This);
7283}
7284/*** IInternetSecurityManager methods ***/
7285static inline HRESULT IInternetSecurityManagerEx2_SetSecuritySite(IInternetSecurityManagerEx2* This,IInternetSecurityMgrSite *pSite) {
7286 return This->lpVtbl->SetSecuritySite(This,pSite);
7287}
7288static inline HRESULT IInternetSecurityManagerEx2_GetSecuritySite(IInternetSecurityManagerEx2* This,IInternetSecurityMgrSite **ppSite) {
7289 return This->lpVtbl->GetSecuritySite(This,ppSite);
7290}
7291static inline HRESULT IInternetSecurityManagerEx2_MapUrlToZone(IInternetSecurityManagerEx2* This,LPCWSTR pwszUrl,DWORD *pdwZone,DWORD dwFlags) {
7292 return This->lpVtbl->MapUrlToZone(This,pwszUrl,pdwZone,dwFlags);
7293}
7294static inline HRESULT IInternetSecurityManagerEx2_GetSecurityId(IInternetSecurityManagerEx2* This,LPCWSTR pwszUrl,BYTE *pbSecurityId,DWORD *pcbSecurityId,DWORD_PTR dwReserved) {
7295 return This->lpVtbl->GetSecurityId(This,pwszUrl,pbSecurityId,pcbSecurityId,dwReserved);
7296}
7297static inline HRESULT IInternetSecurityManagerEx2_ProcessUrlAction(IInternetSecurityManagerEx2* This,LPCWSTR pwszUrl,DWORD dwAction,BYTE *pPolicy,DWORD cbPolicy,BYTE *pContext,DWORD cbContext,DWORD dwFlags,DWORD dwReserved) {
7298 return This->lpVtbl->ProcessUrlAction(This,pwszUrl,dwAction,pPolicy,cbPolicy,pContext,cbContext,dwFlags,dwReserved);
7299}
7300static inline HRESULT IInternetSecurityManagerEx2_QueryCustomPolicy(IInternetSecurityManagerEx2* This,LPCWSTR pwszUrl,REFGUID guidKey,BYTE **ppPolicy,DWORD *pcbPolicy,BYTE *pContext,DWORD cbContext,DWORD dwReserved) {
7301 return This->lpVtbl->QueryCustomPolicy(This,pwszUrl,guidKey,ppPolicy,pcbPolicy,pContext,cbContext,dwReserved);
7302}
7303static inline HRESULT IInternetSecurityManagerEx2_SetZoneMapping(IInternetSecurityManagerEx2* This,DWORD dwZone,LPCWSTR lpszPattern,DWORD dwFlags) {
7304 return This->lpVtbl->SetZoneMapping(This,dwZone,lpszPattern,dwFlags);
7305}
7306static inline HRESULT IInternetSecurityManagerEx2_GetZoneMappings(IInternetSecurityManagerEx2* This,DWORD dwZone,IEnumString **ppenumString,DWORD dwFlags) {
7307 return This->lpVtbl->GetZoneMappings(This,dwZone,ppenumString,dwFlags);
7308}
7309/*** IInternetSecurityManagerEx methods ***/
7310static inline HRESULT IInternetSecurityManagerEx2_ProcessUrlActionEx(IInternetSecurityManagerEx2* This,LPCWSTR pwszUrl,DWORD dwAction,BYTE *pPolicy,DWORD cbPolicy,BYTE *pContext,DWORD cbContext,DWORD dwFlags,DWORD dwReserved,DWORD *pdwOutFlags) {
7311 return This->lpVtbl->ProcessUrlActionEx(This,pwszUrl,dwAction,pPolicy,cbPolicy,pContext,cbContext,dwFlags,dwReserved,pdwOutFlags);
7312}
7313/*** IInternetSecurityManagerEx2 methods ***/
7314static inline HRESULT IInternetSecurityManagerEx2_MapUrlToZoneEx2(IInternetSecurityManagerEx2* This,IUri *pUri,DWORD *pdwZone,DWORD dwFlags,LPWSTR *ppwszMappedUrl,DWORD *pdwOutFlags) {
7315 return This->lpVtbl->MapUrlToZoneEx2(This,pUri,pdwZone,dwFlags,ppwszMappedUrl,pdwOutFlags);
7316}
7317static inline HRESULT IInternetSecurityManagerEx2_ProcessUrlActionEx2(IInternetSecurityManagerEx2* This,IUri *pUri,DWORD dwAction,BYTE *pPolicy,DWORD cbPolicy,BYTE *pContext,DWORD cbContext,DWORD dwFlags,DWORD_PTR dwReserved,DWORD *pdwOutFlags) {
7318 return This->lpVtbl->ProcessUrlActionEx2(This,pUri,dwAction,pPolicy,cbPolicy,pContext,cbContext,dwFlags,dwReserved,pdwOutFlags);
7319}
7320static inline HRESULT IInternetSecurityManagerEx2_GetSecurityIdEx2(IInternetSecurityManagerEx2* This,IUri *pUri,BYTE *pbSecurityId,DWORD *pcbSecurityId,DWORD_PTR dwReserved) {
7321 return This->lpVtbl->GetSecurityIdEx2(This,pUri,pbSecurityId,pcbSecurityId,dwReserved);
7322}
7323static inline HRESULT IInternetSecurityManagerEx2_QueryCustomPolicyEx2(IInternetSecurityManagerEx2* This,IUri *pUri,REFGUID guidKey,BYTE **ppPolicy,DWORD *pcbPolicy,BYTE *pContext,DWORD cbContext,DWORD_PTR dwReserved) {
7324 return This->lpVtbl->QueryCustomPolicyEx2(This,pUri,guidKey,ppPolicy,pcbPolicy,pContext,cbContext,dwReserved);
7325}
7326#endif
7327#endif
7328
7329#endif
7330
7331
7332#endif /* __IInternetSecurityManagerEx2_INTERFACE_DEFINED__ */
7333
7334#endif
7335#endif
7336
7337#if (_WIN32_IE >= _WIN32_IE_IE60SP2)
7338/*****************************************************************************
7339 * IZoneIdentifier interface
7340 */
7341#ifndef __IZoneIdentifier_INTERFACE_DEFINED__
7342#define __IZoneIdentifier_INTERFACE_DEFINED__
7343
7344DEFINE_GUID(IID_IZoneIdentifier, 0xcd45f185, 0x1b21, 0x48e2, 0x96,0x7b, 0xea,0xd7,0x43,0xa8,0x91,0x4e);
7345#if defined(__cplusplus) && !defined(CINTERFACE)
7346MIDL_INTERFACE("cd45f185-1b21-48e2-967b-ead743a8914e")
7347IZoneIdentifier : public IUnknown
7348{
7349 virtual HRESULT STDMETHODCALLTYPE GetId(
7350 DWORD *pdwZone) = 0;
7351
7352 virtual HRESULT STDMETHODCALLTYPE SetId(
7353 DWORD dwZone) = 0;
7354
7355 virtual HRESULT STDMETHODCALLTYPE Remove(
7356 ) = 0;
7357
7358};
7359#ifdef __CRT_UUID_DECL
7360__CRT_UUID_DECL(IZoneIdentifier, 0xcd45f185, 0x1b21, 0x48e2, 0x96,0x7b, 0xea,0xd7,0x43,0xa8,0x91,0x4e)
7361#endif
7362#else
7363typedef struct IZoneIdentifierVtbl {
7364 BEGIN_INTERFACE
7365
7366 /*** IUnknown methods ***/
7367 HRESULT (STDMETHODCALLTYPE *QueryInterface)(
7368 IZoneIdentifier *This,
7369 REFIID riid,
7370 void **ppvObject);
7371
7372 ULONG (STDMETHODCALLTYPE *AddRef)(
7373 IZoneIdentifier *This);
7374
7375 ULONG (STDMETHODCALLTYPE *Release)(
7376 IZoneIdentifier *This);
7377
7378 /*** IZoneIdentifier methods ***/
7379 HRESULT (STDMETHODCALLTYPE *GetId)(
7380 IZoneIdentifier *This,
7381 DWORD *pdwZone);
7382
7383 HRESULT (STDMETHODCALLTYPE *SetId)(
7384 IZoneIdentifier *This,
7385 DWORD dwZone);
7386
7387 HRESULT (STDMETHODCALLTYPE *Remove)(
7388 IZoneIdentifier *This);
7389
7390 END_INTERFACE
7391} IZoneIdentifierVtbl;
7392
7393interface IZoneIdentifier {
7394 CONST_VTBL IZoneIdentifierVtbl* lpVtbl;
7395};
7396
7397#ifdef COBJMACROS
7398#ifndef WIDL_C_INLINE_WRAPPERS
7399/*** IUnknown methods ***/
7400#define IZoneIdentifier_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject)
7401#define IZoneIdentifier_AddRef(This) (This)->lpVtbl->AddRef(This)
7402#define IZoneIdentifier_Release(This) (This)->lpVtbl->Release(This)
7403/*** IZoneIdentifier methods ***/
7404#define IZoneIdentifier_GetId(This,pdwZone) (This)->lpVtbl->GetId(This,pdwZone)
7405#define IZoneIdentifier_SetId(This,dwZone) (This)->lpVtbl->SetId(This,dwZone)
7406#define IZoneIdentifier_Remove(This) (This)->lpVtbl->Remove(This)
7407#else
7408/*** IUnknown methods ***/
7409static inline HRESULT IZoneIdentifier_QueryInterface(IZoneIdentifier* This,REFIID riid,void **ppvObject) {
7410 return This->lpVtbl->QueryInterface(This,riid,ppvObject);
7411}
7412static inline ULONG IZoneIdentifier_AddRef(IZoneIdentifier* This) {
7413 return This->lpVtbl->AddRef(This);
7414}
7415static inline ULONG IZoneIdentifier_Release(IZoneIdentifier* This) {
7416 return This->lpVtbl->Release(This);
7417}
7418/*** IZoneIdentifier methods ***/
7419static inline HRESULT IZoneIdentifier_GetId(IZoneIdentifier* This,DWORD *pdwZone) {
7420 return This->lpVtbl->GetId(This,pdwZone);
7421}
7422static inline HRESULT IZoneIdentifier_SetId(IZoneIdentifier* This,DWORD dwZone) {
7423 return This->lpVtbl->SetId(This,dwZone);
7424}
7425static inline HRESULT IZoneIdentifier_Remove(IZoneIdentifier* This) {
7426 return This->lpVtbl->Remove(This);
7427}
7428#endif
7429#endif
7430
7431#endif
7432
7433
7434#endif /* __IZoneIdentifier_INTERFACE_DEFINED__ */
7435
7436#endif
7437
7438#ifndef _LPINTERNETHOSTSECURITYMANANGER_DEFINED
7439#define _LPINTERNETHOSTSECURITYMANANGER_DEFINED
7440
7441/*****************************************************************************
7442 * IInternetHostSecurityManager interface
7443 */
7444#ifndef __IInternetHostSecurityManager_INTERFACE_DEFINED__
7445#define __IInternetHostSecurityManager_INTERFACE_DEFINED__
7446
7447DEFINE_GUID(IID_IInternetHostSecurityManager, 0x3af280b6, 0xcb3f, 0x11d0, 0x89,0x1e, 0x00,0xc0,0x4f,0xb6,0xbf,0xc4);
7448#if defined(__cplusplus) && !defined(CINTERFACE)
7449MIDL_INTERFACE("3af280b6-cb3f-11d0-891e-00c04fb6bfc4")
7450IInternetHostSecurityManager : public IUnknown
7451{
7452 virtual HRESULT STDMETHODCALLTYPE GetSecurityId(
7453 BYTE *pbSecurityId,
7454 DWORD *pcbSecurityId,
7455 DWORD_PTR dwReserved) = 0;
7456
7457 virtual HRESULT STDMETHODCALLTYPE ProcessUrlAction(
7458 DWORD dwAction,
7459 BYTE *pPolicy,
7460 DWORD cbPolicy,
7461 BYTE *pContext,
7462 DWORD cbContext,
7463 DWORD dwFlags,
7464 DWORD dwReserved) = 0;
7465
7466 virtual HRESULT STDMETHODCALLTYPE QueryCustomPolicy(
7467 REFGUID guidKey,
7468 BYTE **ppPolicy,
7469 DWORD *pcbPolicy,
7470 BYTE *pContext,
7471 DWORD cbContext,
7472 DWORD dwReserved) = 0;
7473
7474};
7475#ifdef __CRT_UUID_DECL
7476__CRT_UUID_DECL(IInternetHostSecurityManager, 0x3af280b6, 0xcb3f, 0x11d0, 0x89,0x1e, 0x00,0xc0,0x4f,0xb6,0xbf,0xc4)
7477#endif
7478#else
7479typedef struct IInternetHostSecurityManagerVtbl {
7480 BEGIN_INTERFACE
7481
7482 /*** IUnknown methods ***/
7483 HRESULT (STDMETHODCALLTYPE *QueryInterface)(
7484 IInternetHostSecurityManager *This,
7485 REFIID riid,
7486 void **ppvObject);
7487
7488 ULONG (STDMETHODCALLTYPE *AddRef)(
7489 IInternetHostSecurityManager *This);
7490
7491 ULONG (STDMETHODCALLTYPE *Release)(
7492 IInternetHostSecurityManager *This);
7493
7494 /*** IInternetHostSecurityManager methods ***/
7495 HRESULT (STDMETHODCALLTYPE *GetSecurityId)(
7496 IInternetHostSecurityManager *This,
7497 BYTE *pbSecurityId,
7498 DWORD *pcbSecurityId,
7499 DWORD_PTR dwReserved);
7500
7501 HRESULT (STDMETHODCALLTYPE *ProcessUrlAction)(
7502 IInternetHostSecurityManager *This,
7503 DWORD dwAction,
7504 BYTE *pPolicy,
7505 DWORD cbPolicy,
7506 BYTE *pContext,
7507 DWORD cbContext,
7508 DWORD dwFlags,
7509 DWORD dwReserved);
7510
7511 HRESULT (STDMETHODCALLTYPE *QueryCustomPolicy)(
7512 IInternetHostSecurityManager *This,
7513 REFGUID guidKey,
7514 BYTE **ppPolicy,
7515 DWORD *pcbPolicy,
7516 BYTE *pContext,
7517 DWORD cbContext,
7518 DWORD dwReserved);
7519
7520 END_INTERFACE
7521} IInternetHostSecurityManagerVtbl;
7522
7523interface IInternetHostSecurityManager {
7524 CONST_VTBL IInternetHostSecurityManagerVtbl* lpVtbl;
7525};
7526
7527#ifdef COBJMACROS
7528#ifndef WIDL_C_INLINE_WRAPPERS
7529/*** IUnknown methods ***/
7530#define IInternetHostSecurityManager_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject)
7531#define IInternetHostSecurityManager_AddRef(This) (This)->lpVtbl->AddRef(This)
7532#define IInternetHostSecurityManager_Release(This) (This)->lpVtbl->Release(This)
7533/*** IInternetHostSecurityManager methods ***/
7534#define IInternetHostSecurityManager_GetSecurityId(This,pbSecurityId,pcbSecurityId,dwReserved) (This)->lpVtbl->GetSecurityId(This,pbSecurityId,pcbSecurityId,dwReserved)
7535#define IInternetHostSecurityManager_ProcessUrlAction(This,dwAction,pPolicy,cbPolicy,pContext,cbContext,dwFlags,dwReserved) (This)->lpVtbl->ProcessUrlAction(This,dwAction,pPolicy,cbPolicy,pContext,cbContext,dwFlags,dwReserved)
7536#define IInternetHostSecurityManager_QueryCustomPolicy(This,guidKey,ppPolicy,pcbPolicy,pContext,cbContext,dwReserved) (This)->lpVtbl->QueryCustomPolicy(This,guidKey,ppPolicy,pcbPolicy,pContext,cbContext,dwReserved)
7537#else
7538/*** IUnknown methods ***/
7539static inline HRESULT IInternetHostSecurityManager_QueryInterface(IInternetHostSecurityManager* This,REFIID riid,void **ppvObject) {
7540 return This->lpVtbl->QueryInterface(This,riid,ppvObject);
7541}
7542static inline ULONG IInternetHostSecurityManager_AddRef(IInternetHostSecurityManager* This) {
7543 return This->lpVtbl->AddRef(This);
7544}
7545static inline ULONG IInternetHostSecurityManager_Release(IInternetHostSecurityManager* This) {
7546 return This->lpVtbl->Release(This);
7547}
7548/*** IInternetHostSecurityManager methods ***/
7549static inline HRESULT IInternetHostSecurityManager_GetSecurityId(IInternetHostSecurityManager* This,BYTE *pbSecurityId,DWORD *pcbSecurityId,DWORD_PTR dwReserved) {
7550 return This->lpVtbl->GetSecurityId(This,pbSecurityId,pcbSecurityId,dwReserved);
7551}
7552static inline HRESULT IInternetHostSecurityManager_ProcessUrlAction(IInternetHostSecurityManager* This,DWORD dwAction,BYTE *pPolicy,DWORD cbPolicy,BYTE *pContext,DWORD cbContext,DWORD dwFlags,DWORD dwReserved) {
7553 return This->lpVtbl->ProcessUrlAction(This,dwAction,pPolicy,cbPolicy,pContext,cbContext,dwFlags,dwReserved);
7554}
7555static inline HRESULT IInternetHostSecurityManager_QueryCustomPolicy(IInternetHostSecurityManager* This,REFGUID guidKey,BYTE **ppPolicy,DWORD *pcbPolicy,BYTE *pContext,DWORD cbContext,DWORD dwReserved) {
7556 return This->lpVtbl->QueryCustomPolicy(This,guidKey,ppPolicy,pcbPolicy,pContext,cbContext,dwReserved);
7557}
7558#endif
7559#endif
7560
7561#endif
7562
7563
7564#endif /* __IInternetHostSecurityManager_INTERFACE_DEFINED__ */
7565
7566#endif
7567
7568#define URLACTION_MIN 0x1000
7569
7570#define URLACTION_DOWNLOAD_MIN 0x1000
7571#define URLACTION_DOWNLOAD_SIGNED_ACTIVEX 0x1001
7572#define URLACTION_DOWNLOAD_UNSIGNED_ACTIVEX 0x1004
7573#define URLACTION_DOWNLOAD_CURR_MAX 0x1004
7574#define URLACTION_DOWNLOAD_MAX 0x11FF
7575
7576#define URLACTION_ACTIVEX_MIN 0x1200
7577#define URLACTION_ACTIVEX_RUN 0x1200
7578#define URLPOLICY_ACTIVEX_CHECK_LIST 0x10000
7579#define URLACTION_ACTIVEX_OVERRIDE_OBJECT_SAFETY 0x1201
7580#define URLACTION_ACTIVEX_OVERRIDE_DATA_SAFETY 0x1202
7581#define URLACTION_ACTIVEX_OVERRIDE_SCRIPT_SAFETY 0x1203
7582#define URLACTION_SCRIPT_OVERRIDE_SAFETY 0x1401
7583#define URLACTION_ACTIVEX_CONFIRM_NOOBJECTSAFETY 0x1204
7584#define URLACTION_ACTIVEX_TREATASUNTRUSTED 0x1205
7585#define URLACTION_ACTIVEX_NO_WEBOC_SCRIPT 0x1206
7586#define URLACTION_ACTIVEX_OVERRIDE_REPURPOSEDETECTION 0x1207
7587#define URLACTION_ACTIVEX_OVERRIDE_OPTIN 0x1208
7588#define URLACTION_ACTIVEX_SCRIPTLET_RUN 0x1209
7589#define URLACTION_ACTIVEX_DYNSRC_VIDEO_AND_ANIMATION 0x120A
7590#define URLACTION_ACTIVEX_OVERRIDE_DOMAINLIST 0x120B
7591#define URLACTION_ACTIVEX_CURR_MAX 0x120B
7592#define URLACTION_ACTIVEX_MAX 0x13ff
7593
7594#define URLACTION_SCRIPT_MIN 0x1400
7595#define URLACTION_SCRIPT_RUN 0x1400
7596#define URLACTION_SCRIPT_JAVA_USE 0x1402
7597#define URLACTION_SCRIPT_SAFE_ACTIVEX 0x1405
7598#define URLACTION_CROSS_DOMAIN_DATA 0x1406
7599#define URLACTION_SCRIPT_PASTE 0x1407
7600#define URLACTION_ALLOW_XDOMAIN_SUBFRAME_RESIZE 0x1408
7601#define URLACTION_SCRIPT_XSSFILTER 0x1409
7602#define URLACTION_SCRIPT_NAVIGATE 0x140A
7603#define URLACTION_PLUGGABLE_PROTOCOL_XHR 0x140B
7604#define URLACTION_SCRIPT_CURR_MAX 0x140B
7605#define URLACTION_SCRIPT_MAX 0x15ff
7606
7607#define URLACTION_HTML_MIN 0x1600
7608#define URLACTION_HTML_SUBMIT_FORMS 0x1601
7609#define URLACTION_HTML_SUBMIT_FORMS_FROM 0x1602
7610#define URLACTION_HTML_SUBMIT_FORMS_TO 0x1603
7611#define URLACTION_HTML_FONT_DOWNLOAD 0x1604
7612#define URLACTION_HTML_JAVA_RUN 0x1605
7613#define URLACTION_HTML_USERDATA_SAVE 0x1606
7614#define URLACTION_HTML_SUBFRAME_NAVIGATE 0x1607
7615#define URLACTION_HTML_META_REFRESH 0x1608
7616#define URLACTION_HTML_MIXED_CONTENT 0x1609
7617#define URLACTION_HTML_INCLUDE_FILE_PATH 0x160A
7618#define URLACTION_HTML_ALLOW_INJECTED_DYNAMIC_HTML 0x160B
7619#define URLACTION_HTML_REQUIRE_UTF8_DOCUMENT_CODEPAGE 0x160C
7620#define URLACTION_HTML_ALLOW_CROSS_DOMAIN_CANVAS 0x160D
7621#define URLACTION_HTML_ALLOW_WINDOW_CLOSE 0x160E
7622#define URLACTION_HTML_ALLOW_CROSS_DOMAIN_WEBWORKER 0x160F
7623#define URLACTION_HTML_ALLOW_CROSS_DOMAIN_TEXTTRACK 0x1610
7624#define URLACTION_HTML_ALLOW_INDEXEDDB 0x1611
7625
7626#define URLACTION_HTML_MAX 0x17ff
7627
7628#define URLACTION_SHELL_MIN 0x1800
7629#define URLACTION_SHELL_INSTALL_DTITEMS 0x1800
7630#define URLACTION_SHELL_MOVE_OR_COPY 0x1802
7631#define URLACTION_SHELL_FILE_DOWNLOAD 0x1803
7632#define URLACTION_SHELL_VERB 0x1804
7633#define URLACTION_SHELL_WEBVIEW_VERB 0x1805
7634#define URLACTION_SHELL_SHELLEXECUTE 0x1806
7635
7636#if (_WIN32_IE >= _WIN32_IE_IE60SP2)
7637#define URLACTION_SHELL_EXECUTE_HIGHRISK 0x1806
7638#define URLACTION_SHELL_EXECUTE_MODRISK 0x1807
7639#define URLACTION_SHELL_EXECUTE_LOWRISK 0x1808
7640#define URLACTION_SHELL_POPUPMGR 0x1809
7641#define URLACTION_SHELL_RTF_OBJECTS_LOAD 0x180A
7642#define URLACTION_SHELL_ENHANCED_DRAGDROP_SECURITY 0x180B
7643#define URLACTION_SHELL_EXTENSIONSECURITY 0x180C
7644#define URLACTION_SHELL_SECURE_DRAGSOURCE 0x180D
7645#endif
7646#if (_WIN32_IE >= _WIN32_IE_WIN7)
7647#define URLACTION_SHELL_REMOTEQUERY 0x180E
7648#define URLACTION_SHELL_PREVIEW 0x180F
7649#define URLACTION_SHELL_SHARE 0x1810
7650#define URLACTION_SHELL_ALLOW_CROSS_SITE_SHARE 0x1811
7651#endif
7652#define URLACTION_SHELL_CURR_MAX 0x1811
7653#define URLACTION_SHELL_MAX 0x19ff
7654
7655#define URLACTION_NETWORK_MIN 0x1A00
7656
7657#define URLACTION_CREDENTIALS_USE 0x1A00
7658#define URLPOLICY_CREDENTIALS_SILENT_LOGON_OK 0x0
7659#define URLPOLICY_CREDENTIALS_MUST_PROMPT_USER 0x10000
7660#define URLPOLICY_CREDENTIALS_CONDITIONAL_PROMPT 0x20000
7661#define URLPOLICY_CREDENTIALS_ANONYMOUS_ONLY 0x30000
7662
7663#define URLACTION_AUTHENTICATE_CLIENT 0x1A01
7664#define URLPOLICY_AUTHENTICATE_CLEARTEXT_OK 0x0
7665#define URLPOLICY_AUTHENTICATE_CHALLENGE_RESPONSE 0x10000
7666#define URLPOLICY_AUTHENTICATE_MUTUAL_ONLY 0x30000
7667
7668#define URLACTION_COOKIES 0x1A02
7669#define URLACTION_COOKIES_SESSION 0x1A03
7670
7671#define URLACTION_CLIENT_CERT_PROMPT 0x1A04
7672
7673#define URLACTION_COOKIES_THIRD_PARTY 0x1A05
7674#define URLACTION_COOKIES_SESSION_THIRD_PARTY 0x1A06
7675
7676#define URLACTION_COOKIES_ENABLED 0x1A10
7677
7678#define URLACTION_NETWORK_CURR_MAX 0x1A10
7679#define URLACTION_NETWORK_MAX 0x1Bff
7680
7681#define URLACTION_JAVA_MIN 0x1C00
7682#define URLACTION_JAVA_PERMISSIONS 0x1C00
7683#define URLPOLICY_JAVA_PROHIBIT 0x0
7684#define URLPOLICY_JAVA_HIGH 0x10000
7685#define URLPOLICY_JAVA_MEDIUM 0x20000
7686#define URLPOLICY_JAVA_LOW 0x30000
7687#define URLPOLICY_JAVA_CUSTOM 0x800000
7688#define URLACTION_JAVA_CURR_MAX 0x1C00
7689#define URLACTION_JAVA_MAX 0x1Cff
7690
7691#define URLACTION_INFODELIVERY_MIN 0x1D00
7692#define URLACTION_INFODELIVERY_NO_ADDING_CHANNELS 0x1D00
7693#define URLACTION_INFODELIVERY_NO_EDITING_CHANNELS 0x1D01
7694#define URLACTION_INFODELIVERY_NO_REMOVING_CHANNELS 0x1D02
7695#define URLACTION_INFODELIVERY_NO_ADDING_SUBSCRIPTIONS 0x1D03
7696#define URLACTION_INFODELIVERY_NO_EDITING_SUBSCRIPTIONS 0x1D04
7697#define URLACTION_INFODELIVERY_NO_REMOVING_SUBSCRIPTIONS 0x1D05
7698#define URLACTION_INFODELIVERY_NO_CHANNEL_LOGGING 0x1D06
7699#define URLACTION_INFODELIVERY_CURR_MAX 0x1D06
7700#define URLACTION_INFODELIVERY_MAX 0x1Dff
7701#define URLACTION_CHANNEL_SOFTDIST_MIN 0x1E00
7702#define URLACTION_CHANNEL_SOFTDIST_PERMISSIONS 0x1E05
7703#define URLPOLICY_CHANNEL_SOFTDIST_PROHIBIT 0x10000
7704#define URLPOLICY_CHANNEL_SOFTDIST_PRECACHE 0x20000
7705#define URLPOLICY_CHANNEL_SOFTDIST_AUTOINSTALL 0x30000
7706#define URLACTION_CHANNEL_SOFTDIST_MAX 0x1Eff
7707#if (_WIN32_IE >= _WIN32_IE_IE80)
7708#define URLACTION_DOTNET_USERCONTROLS 0x2005
7709#endif
7710
7711#if (_WIN32_IE >= _WIN32_IE_IE60SP2)
7712#define URLACTION_BEHAVIOR_MIN 0x2000
7713#define URLACTION_BEHAVIOR_RUN 0x2000
7714#define URLPOLICY_BEHAVIOR_CHECK_LIST 0x10000
7715
7716#define URLACTION_FEATURE_MIN 0x2100
7717#define URLACTION_FEATURE_MIME_SNIFFING 0x2100
7718#define URLACTION_FEATURE_ZONE_ELEVATION 0x2101
7719#define URLACTION_FEATURE_WINDOW_RESTRICTIONS 0x2102
7720#define URLACTION_FEATURE_SCRIPT_STATUS_BAR 0x2103
7721#define URLACTION_FEATURE_FORCE_ADDR_AND_STATUS 0x2104
7722#define URLACTION_FEATURE_BLOCK_INPUT_PROMPTS 0x2105
7723#define URLACTION_FEATURE_DATA_BINDING 0x2106
7724#define URLACTION_FEATURE_CROSSDOMAIN_FOCUS_CHANGE 0x2107
7725
7726#define URLACTION_AUTOMATIC_DOWNLOAD_UI_MIN 0x2200
7727#define URLACTION_AUTOMATIC_DOWNLOAD_UI 0x2200
7728#define URLACTION_AUTOMATIC_ACTIVEX_UI 0x2201
7729
7730#define URLACTION_ALLOW_RESTRICTEDPROTOCOLS 0x2300
7731#endif
7732#if (_WIN32_IE >= _WIN32_IE_IE70)
7733#define URLACTION_ALLOW_APEVALUATION 0x2301
7734#define URLACTION_ALLOW_XHR_EVALUATION 0x2302
7735#define URLACTION_WINDOWS_BROWSER_APPLICATIONS 0x2400
7736#define URLACTION_XPS_DOCUMENTS 0x2401
7737#define URLACTION_LOOSE_XAML 0x2402
7738#define URLACTION_LOWRIGHTS 0x2500
7739#define URLACTION_WINFX_SETUP 0x2600
7740#define URLACTION_INPRIVATE_BLOCKING 0x2700
7741#endif
7742#define URLACTION_ALLOW_AUDIO_VIDEO 0x2701
7743#define URLACTION_ALLOW_ACTIVEX_FILTERING 0x2702
7744#define URLACTION_ALLOW_STRUCTURED_STORAGE_SNIFFING 0x2703
7745#define URLACTION_ALLOW_AUDIO_VIDEO_PLUGINS 0x2704
7746#define URLACTION_ALLOW_ZONE_ELEVATION_VIA_OPT_OUT 0x2705
7747#define URLACTION_ALLOW_ZONE_ELEVATION_OPT_OUT_ADDITION 0x2706
7748#define URLACTION_ALLOW_CROSSDOMAIN_DROP_WITHIN_WINDOW 0x2708
7749#define URLACTION_ALLOW_CROSSDOMAIN_DROP_ACROSS_WINDOWS 0x2709
7750#define URLACTION_ALLOW_CROSSDOMAIN_APPCACHE_MANIFEST 0x270A
7751#define URLACTION_ALLOW_RENDER_LEGACY_DXTFILTERS 0x270B
7752
7753#define URLPOLICY_ALLOW 0x0
7754#define URLPOLICY_QUERY 0x1
7755#define URLPOLICY_DISALLOW 0x3
7756#define URLPOLICY_NOTIFY_ON_ALLOW 0x10
7757#define URLPOLICY_NOTIFY_ON_DISALLOW 0x20
7758#define URLPOLICY_LOG_ON_ALLOW 0x40
7759#define URLPOLICY_LOG_ON_DISALLOW 0x80
7760
7761#define URLPOLICY_MASK_PERMISSIONS 0x0f
7762#define GetUrlPolicyPermissions(dw) (dw & URLPOLICY_MASK_PERMISSIONS)
7763#define SetUrlPolicyPermissions(dw,dw2) ((dw) = ((dw) & ~(URLPOLICY_MASK_PERMISSIONS)) | (dw2))
7764
7765#define URLPOLICY_DONTCHECKDLGBOX 0x100
7766
7767#if (_WIN32_IE >= _WIN32_IE_IE60SP2)
7768EXTERN_C const GUID GUID_CUSTOM_LOCALMACHINEZONEUNLOCKED;
7769#endif
7770
7771#ifndef _LPINTERNETZONEMANAGER_DEFINED
7772#define _LPINTERNETZONEMANAGER_DEFINED
7773
7774/*****************************************************************************
7775 * IInternetZoneManager interface
7776 */
7777#ifndef __IInternetZoneManager_INTERFACE_DEFINED__
7778#define __IInternetZoneManager_INTERFACE_DEFINED__
7779
7780typedef IInternetZoneManager *LPURLZONEMANAGER;
7781
7782typedef enum tagURLZONE {
7783 URLZONE_INVALID = -1,
7784 URLZONE_PREDEFINED_MIN = 0,
7785 URLZONE_LOCAL_MACHINE = 0,
7786 URLZONE_INTRANET = 1,
7787 URLZONE_TRUSTED = 2,
7788 URLZONE_INTERNET = 3,
7789 URLZONE_UNTRUSTED = 4,
7790 URLZONE_PREDEFINED_MAX = 999,
7791 URLZONE_USER_MIN = 1000,
7792 URLZONE_USER_MAX = 10000
7793} URLZONE;
7794
7795#define URLZONE_ESC_FLAG 0x100
7796
7797typedef enum tagURLTEMPLATE {
7798 URLTEMPLATE_CUSTOM = 0x0,
7799 URLTEMPLATE_PREDEFINED_MIN = 0x10000,
7800 URLTEMPLATE_LOW = 0x10000,
7801 URLTEMPLATE_MEDLOW = 0x10500,
7802 URLTEMPLATE_MEDIUM = 0x11000,
7803 URLTEMPLATE_MEDHIGH = 0x11500,
7804 URLTEMPLATE_HIGH = 0x12000,
7805 URLTEMPLATE_PREDEFINED_MAX = 0x20000
7806} URLTEMPLATE;
7807
7808enum {
7809 MAX_ZONE_PATH = 260,
7810 MAX_ZONE_DESCRIPTION = 200
7811};
7812
7813typedef enum __WIDL_urlmon_generated_name_0000001E {
7814 ZAFLAGS_CUSTOM_EDIT = 0x1,
7815 ZAFLAGS_ADD_SITES = 0x2,
7816 ZAFLAGS_REQUIRE_VERIFICATION = 0x4,
7817 ZAFLAGS_INCLUDE_PROXY_OVERRIDE = 0x8,
7818 ZAFLAGS_INCLUDE_INTRANET_SITES = 0x10,
7819 ZAFLAGS_NO_UI = 0x20,
7820 ZAFLAGS_SUPPORTS_VERIFICATION = 0x40,
7821 ZAFLAGS_UNC_AS_INTRANET = 0x80,
7822 ZAFLAGS_DETECT_INTRANET = 0x100,
7823 ZAFLAGS_USE_LOCKED_ZONES = 0x10000,
7824 ZAFLAGS_VERIFY_TEMPLATE_SETTINGS = 0x20000,
7825 ZAFLAGS_NO_CACHE = 0x40000
7826} ZAFLAGS;
7827
7828typedef struct _ZONEATTRIBUTES {
7829 ULONG cbSize;
7830 WCHAR szDisplayName[260];
7831 WCHAR szDescription[200];
7832 WCHAR szIconPath[260];
7833 DWORD dwTemplateMinLevel;
7834 DWORD dwTemplateRecommended;
7835 DWORD dwTemplateCurrentLevel;
7836 DWORD dwFlags;
7837} ZONEATTRIBUTES;
7838typedef struct _ZONEATTRIBUTES *LPZONEATTRIBUTES;
7839
7840
7841typedef enum _URLZONEREG {
7842 URLZONEREG_DEFAULT = 0,
7843 URLZONEREG_HKLM = 1,
7844 URLZONEREG_HKCU = 2
7845} URLZONEREG;
7846
7847DEFINE_GUID(IID_IInternetZoneManager, 0x79eac9ef, 0xbaf9, 0x11ce, 0x8c,0x82, 0x00,0xaa,0x00,0x4b,0xa9,0x0b);
7848#if defined(__cplusplus) && !defined(CINTERFACE)
7849MIDL_INTERFACE("79eac9ef-baf9-11ce-8c82-00aa004ba90b")
7850IInternetZoneManager : public IUnknown
7851{
7852 virtual HRESULT STDMETHODCALLTYPE GetZoneAttributes(
7853 DWORD dwZone,
7854 ZONEATTRIBUTES *pZoneAttributes) = 0;
7855
7856 virtual HRESULT STDMETHODCALLTYPE SetZoneAttributes(
7857 DWORD dwZone,
7858 ZONEATTRIBUTES *pZoneAttributes) = 0;
7859
7860 virtual HRESULT STDMETHODCALLTYPE GetZoneCustomPolicy(
7861 DWORD dwZone,
7862 REFGUID guidKey,
7863 BYTE **ppPolicy,
7864 DWORD *pcbPolicy,
7865 URLZONEREG urlZoneReg) = 0;
7866
7867 virtual HRESULT STDMETHODCALLTYPE SetZoneCustomPolicy(
7868 DWORD dwZone,
7869 REFGUID guidKey,
7870 BYTE *pPolicy,
7871 DWORD cbPolicy,
7872 URLZONEREG urlZoneReg) = 0;
7873
7874 virtual HRESULT STDMETHODCALLTYPE GetZoneActionPolicy(
7875 DWORD dwZone,
7876 DWORD dwAction,
7877 BYTE *pPolicy,
7878 DWORD cbPolicy,
7879 URLZONEREG urlZoneReg) = 0;
7880
7881 virtual HRESULT STDMETHODCALLTYPE SetZoneActionPolicy(
7882 DWORD dwZone,
7883 DWORD dwAction,
7884 BYTE *pPolicy,
7885 DWORD cbPolicy,
7886 URLZONEREG urlZoneReg) = 0;
7887
7888 virtual HRESULT STDMETHODCALLTYPE PromptAction(
7889 DWORD dwAction,
7890 HWND hwndParent,
7891 LPCWSTR pwszUrl,
7892 LPCWSTR pwszText,
7893 DWORD dwPromptFlags) = 0;
7894
7895 virtual HRESULT STDMETHODCALLTYPE LogAction(
7896 DWORD dwAction,
7897 LPCWSTR pwszUrl,
7898 LPCWSTR pwszText,
7899 DWORD dwLogFlags) = 0;
7900
7901 virtual HRESULT STDMETHODCALLTYPE CreateZoneEnumerator(
7902 DWORD *pdwEnum,
7903 DWORD *pdwCount,
7904 DWORD dwFlags) = 0;
7905
7906 virtual HRESULT STDMETHODCALLTYPE GetZoneAt(
7907 DWORD dwEnum,
7908 DWORD dwIndex,
7909 DWORD *pdwZone) = 0;
7910
7911 virtual HRESULT STDMETHODCALLTYPE DestroyZoneEnumerator(
7912 DWORD dwEnum) = 0;
7913
7914 virtual HRESULT STDMETHODCALLTYPE CopyTemplatePoliciesToZone(
7915 DWORD dwTemplate,
7916 DWORD dwZone,
7917 DWORD dwReserved) = 0;
7918
7919};
7920#ifdef __CRT_UUID_DECL
7921__CRT_UUID_DECL(IInternetZoneManager, 0x79eac9ef, 0xbaf9, 0x11ce, 0x8c,0x82, 0x00,0xaa,0x00,0x4b,0xa9,0x0b)
7922#endif
7923#else
7924typedef struct IInternetZoneManagerVtbl {
7925 BEGIN_INTERFACE
7926
7927 /*** IUnknown methods ***/
7928 HRESULT (STDMETHODCALLTYPE *QueryInterface)(
7929 IInternetZoneManager *This,
7930 REFIID riid,
7931 void **ppvObject);
7932
7933 ULONG (STDMETHODCALLTYPE *AddRef)(
7934 IInternetZoneManager *This);
7935
7936 ULONG (STDMETHODCALLTYPE *Release)(
7937 IInternetZoneManager *This);
7938
7939 /*** IInternetZoneManager methods ***/
7940 HRESULT (STDMETHODCALLTYPE *GetZoneAttributes)(
7941 IInternetZoneManager *This,
7942 DWORD dwZone,
7943 ZONEATTRIBUTES *pZoneAttributes);
7944
7945 HRESULT (STDMETHODCALLTYPE *SetZoneAttributes)(
7946 IInternetZoneManager *This,
7947 DWORD dwZone,
7948 ZONEATTRIBUTES *pZoneAttributes);
7949
7950 HRESULT (STDMETHODCALLTYPE *GetZoneCustomPolicy)(
7951 IInternetZoneManager *This,
7952 DWORD dwZone,
7953 REFGUID guidKey,
7954 BYTE **ppPolicy,
7955 DWORD *pcbPolicy,
7956 URLZONEREG urlZoneReg);
7957
7958 HRESULT (STDMETHODCALLTYPE *SetZoneCustomPolicy)(
7959 IInternetZoneManager *This,
7960 DWORD dwZone,
7961 REFGUID guidKey,
7962 BYTE *pPolicy,
7963 DWORD cbPolicy,
7964 URLZONEREG urlZoneReg);
7965
7966 HRESULT (STDMETHODCALLTYPE *GetZoneActionPolicy)(
7967 IInternetZoneManager *This,
7968 DWORD dwZone,
7969 DWORD dwAction,
7970 BYTE *pPolicy,
7971 DWORD cbPolicy,
7972 URLZONEREG urlZoneReg);
7973
7974 HRESULT (STDMETHODCALLTYPE *SetZoneActionPolicy)(
7975 IInternetZoneManager *This,
7976 DWORD dwZone,
7977 DWORD dwAction,
7978 BYTE *pPolicy,
7979 DWORD cbPolicy,
7980 URLZONEREG urlZoneReg);
7981
7982 HRESULT (STDMETHODCALLTYPE *PromptAction)(
7983 IInternetZoneManager *This,
7984 DWORD dwAction,
7985 HWND hwndParent,
7986 LPCWSTR pwszUrl,
7987 LPCWSTR pwszText,
7988 DWORD dwPromptFlags);
7989
7990 HRESULT (STDMETHODCALLTYPE *LogAction)(
7991 IInternetZoneManager *This,
7992 DWORD dwAction,
7993 LPCWSTR pwszUrl,
7994 LPCWSTR pwszText,
7995 DWORD dwLogFlags);
7996
7997 HRESULT (STDMETHODCALLTYPE *CreateZoneEnumerator)(
7998 IInternetZoneManager *This,
7999 DWORD *pdwEnum,
8000 DWORD *pdwCount,
8001 DWORD dwFlags);
8002
8003 HRESULT (STDMETHODCALLTYPE *GetZoneAt)(
8004 IInternetZoneManager *This,
8005 DWORD dwEnum,
8006 DWORD dwIndex,
8007 DWORD *pdwZone);
8008
8009 HRESULT (STDMETHODCALLTYPE *DestroyZoneEnumerator)(
8010 IInternetZoneManager *This,
8011 DWORD dwEnum);
8012
8013 HRESULT (STDMETHODCALLTYPE *CopyTemplatePoliciesToZone)(
8014 IInternetZoneManager *This,
8015 DWORD dwTemplate,
8016 DWORD dwZone,
8017 DWORD dwReserved);
8018
8019 END_INTERFACE
8020} IInternetZoneManagerVtbl;
8021
8022interface IInternetZoneManager {
8023 CONST_VTBL IInternetZoneManagerVtbl* lpVtbl;
8024};
8025
8026#ifdef COBJMACROS
8027#ifndef WIDL_C_INLINE_WRAPPERS
8028/*** IUnknown methods ***/
8029#define IInternetZoneManager_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject)
8030#define IInternetZoneManager_AddRef(This) (This)->lpVtbl->AddRef(This)
8031#define IInternetZoneManager_Release(This) (This)->lpVtbl->Release(This)
8032/*** IInternetZoneManager methods ***/
8033#define IInternetZoneManager_GetZoneAttributes(This,dwZone,pZoneAttributes) (This)->lpVtbl->GetZoneAttributes(This,dwZone,pZoneAttributes)
8034#define IInternetZoneManager_SetZoneAttributes(This,dwZone,pZoneAttributes) (This)->lpVtbl->SetZoneAttributes(This,dwZone,pZoneAttributes)
8035#define IInternetZoneManager_GetZoneCustomPolicy(This,dwZone,guidKey,ppPolicy,pcbPolicy,urlZoneReg) (This)->lpVtbl->GetZoneCustomPolicy(This,dwZone,guidKey,ppPolicy,pcbPolicy,urlZoneReg)
8036#define IInternetZoneManager_SetZoneCustomPolicy(This,dwZone,guidKey,pPolicy,cbPolicy,urlZoneReg) (This)->lpVtbl->SetZoneCustomPolicy(This,dwZone,guidKey,pPolicy,cbPolicy,urlZoneReg)
8037#define IInternetZoneManager_GetZoneActionPolicy(This,dwZone,dwAction,pPolicy,cbPolicy,urlZoneReg) (This)->lpVtbl->GetZoneActionPolicy(This,dwZone,dwAction,pPolicy,cbPolicy,urlZoneReg)
8038#define IInternetZoneManager_SetZoneActionPolicy(This,dwZone,dwAction,pPolicy,cbPolicy,urlZoneReg) (This)->lpVtbl->SetZoneActionPolicy(This,dwZone,dwAction,pPolicy,cbPolicy,urlZoneReg)
8039#define IInternetZoneManager_PromptAction(This,dwAction,hwndParent,pwszUrl,pwszText,dwPromptFlags) (This)->lpVtbl->PromptAction(This,dwAction,hwndParent,pwszUrl,pwszText,dwPromptFlags)
8040#define IInternetZoneManager_LogAction(This,dwAction,pwszUrl,pwszText,dwLogFlags) (This)->lpVtbl->LogAction(This,dwAction,pwszUrl,pwszText,dwLogFlags)
8041#define IInternetZoneManager_CreateZoneEnumerator(This,pdwEnum,pdwCount,dwFlags) (This)->lpVtbl->CreateZoneEnumerator(This,pdwEnum,pdwCount,dwFlags)
8042#define IInternetZoneManager_GetZoneAt(This,dwEnum,dwIndex,pdwZone) (This)->lpVtbl->GetZoneAt(This,dwEnum,dwIndex,pdwZone)
8043#define IInternetZoneManager_DestroyZoneEnumerator(This,dwEnum) (This)->lpVtbl->DestroyZoneEnumerator(This,dwEnum)
8044#define IInternetZoneManager_CopyTemplatePoliciesToZone(This,dwTemplate,dwZone,dwReserved) (This)->lpVtbl->CopyTemplatePoliciesToZone(This,dwTemplate,dwZone,dwReserved)
8045#else
8046/*** IUnknown methods ***/
8047static inline HRESULT IInternetZoneManager_QueryInterface(IInternetZoneManager* This,REFIID riid,void **ppvObject) {
8048 return This->lpVtbl->QueryInterface(This,riid,ppvObject);
8049}
8050static inline ULONG IInternetZoneManager_AddRef(IInternetZoneManager* This) {
8051 return This->lpVtbl->AddRef(This);
8052}
8053static inline ULONG IInternetZoneManager_Release(IInternetZoneManager* This) {
8054 return This->lpVtbl->Release(This);
8055}
8056/*** IInternetZoneManager methods ***/
8057static inline HRESULT IInternetZoneManager_GetZoneAttributes(IInternetZoneManager* This,DWORD dwZone,ZONEATTRIBUTES *pZoneAttributes) {
8058 return This->lpVtbl->GetZoneAttributes(This,dwZone,pZoneAttributes);
8059}
8060static inline HRESULT IInternetZoneManager_SetZoneAttributes(IInternetZoneManager* This,DWORD dwZone,ZONEATTRIBUTES *pZoneAttributes) {
8061 return This->lpVtbl->SetZoneAttributes(This,dwZone,pZoneAttributes);
8062}
8063static inline HRESULT IInternetZoneManager_GetZoneCustomPolicy(IInternetZoneManager* This,DWORD dwZone,REFGUID guidKey,BYTE **ppPolicy,DWORD *pcbPolicy,URLZONEREG urlZoneReg) {
8064 return This->lpVtbl->GetZoneCustomPolicy(This,dwZone,guidKey,ppPolicy,pcbPolicy,urlZoneReg);
8065}
8066static inline HRESULT IInternetZoneManager_SetZoneCustomPolicy(IInternetZoneManager* This,DWORD dwZone,REFGUID guidKey,BYTE *pPolicy,DWORD cbPolicy,URLZONEREG urlZoneReg) {
8067 return This->lpVtbl->SetZoneCustomPolicy(This,dwZone,guidKey,pPolicy,cbPolicy,urlZoneReg);
8068}
8069static inline HRESULT IInternetZoneManager_GetZoneActionPolicy(IInternetZoneManager* This,DWORD dwZone,DWORD dwAction,BYTE *pPolicy,DWORD cbPolicy,URLZONEREG urlZoneReg) {
8070 return This->lpVtbl->GetZoneActionPolicy(This,dwZone,dwAction,pPolicy,cbPolicy,urlZoneReg);
8071}
8072static inline HRESULT IInternetZoneManager_SetZoneActionPolicy(IInternetZoneManager* This,DWORD dwZone,DWORD dwAction,BYTE *pPolicy,DWORD cbPolicy,URLZONEREG urlZoneReg) {
8073 return This->lpVtbl->SetZoneActionPolicy(This,dwZone,dwAction,pPolicy,cbPolicy,urlZoneReg);
8074}
8075static inline HRESULT IInternetZoneManager_PromptAction(IInternetZoneManager* This,DWORD dwAction,HWND hwndParent,LPCWSTR pwszUrl,LPCWSTR pwszText,DWORD dwPromptFlags) {
8076 return This->lpVtbl->PromptAction(This,dwAction,hwndParent,pwszUrl,pwszText,dwPromptFlags);
8077}
8078static inline HRESULT IInternetZoneManager_LogAction(IInternetZoneManager* This,DWORD dwAction,LPCWSTR pwszUrl,LPCWSTR pwszText,DWORD dwLogFlags) {
8079 return This->lpVtbl->LogAction(This,dwAction,pwszUrl,pwszText,dwLogFlags);
8080}
8081static inline HRESULT IInternetZoneManager_CreateZoneEnumerator(IInternetZoneManager* This,DWORD *pdwEnum,DWORD *pdwCount,DWORD dwFlags) {
8082 return This->lpVtbl->CreateZoneEnumerator(This,pdwEnum,pdwCount,dwFlags);
8083}
8084static inline HRESULT IInternetZoneManager_GetZoneAt(IInternetZoneManager* This,DWORD dwEnum,DWORD dwIndex,DWORD *pdwZone) {
8085 return This->lpVtbl->GetZoneAt(This,dwEnum,dwIndex,pdwZone);
8086}
8087static inline HRESULT IInternetZoneManager_DestroyZoneEnumerator(IInternetZoneManager* This,DWORD dwEnum) {
8088 return This->lpVtbl->DestroyZoneEnumerator(This,dwEnum);
8089}
8090static inline HRESULT IInternetZoneManager_CopyTemplatePoliciesToZone(IInternetZoneManager* This,DWORD dwTemplate,DWORD dwZone,DWORD dwReserved) {
8091 return This->lpVtbl->CopyTemplatePoliciesToZone(This,dwTemplate,dwZone,dwReserved);
8092}
8093#endif
8094#endif
8095
8096#endif
8097
8098
8099#endif /* __IInternetZoneManager_INTERFACE_DEFINED__ */
8100
8101#endif
8102
8103#if (_WIN32_IE >= _WIN32_IE_IE60SP2)
8104#ifndef _LPINTERNETZONEMANAGEREX_DEFINED
8105#define _LPINTERNETZONEMANAGEREX_DEFINED
8106
8107/*****************************************************************************
8108 * IInternetZoneManagerEx interface
8109 */
8110#ifndef __IInternetZoneManagerEx_INTERFACE_DEFINED__
8111#define __IInternetZoneManagerEx_INTERFACE_DEFINED__
8112
8113DEFINE_GUID(IID_IInternetZoneManagerEx, 0xa4c23339, 0x8e06, 0x431e, 0x9b,0xf4, 0x7e,0x71,0x1c,0x08,0x56,0x48);
8114#if defined(__cplusplus) && !defined(CINTERFACE)
8115MIDL_INTERFACE("a4c23339-8e06-431e-9bf4-7e711c085648")
8116IInternetZoneManagerEx : public IInternetZoneManager
8117{
8118 virtual HRESULT STDMETHODCALLTYPE GetZoneActionPolicyEx(
8119 DWORD dwZone,
8120 DWORD dwAction,
8121 BYTE *pPolicy,
8122 DWORD cbPolicy,
8123 URLZONEREG urlZoneReg,
8124 DWORD dwFlags) = 0;
8125
8126 virtual HRESULT STDMETHODCALLTYPE SetZoneActionPolicyEx(
8127 DWORD dwZone,
8128 DWORD dwAction,
8129 BYTE *pPolicy,
8130 DWORD cbPolicy,
8131 URLZONEREG urlZoneReg,
8132 DWORD dwFlags) = 0;
8133
8134};
8135#ifdef __CRT_UUID_DECL
8136__CRT_UUID_DECL(IInternetZoneManagerEx, 0xa4c23339, 0x8e06, 0x431e, 0x9b,0xf4, 0x7e,0x71,0x1c,0x08,0x56,0x48)
8137#endif
8138#else
8139typedef struct IInternetZoneManagerExVtbl {
8140 BEGIN_INTERFACE
8141
8142 /*** IUnknown methods ***/
8143 HRESULT (STDMETHODCALLTYPE *QueryInterface)(
8144 IInternetZoneManagerEx *This,
8145 REFIID riid,
8146 void **ppvObject);
8147
8148 ULONG (STDMETHODCALLTYPE *AddRef)(
8149 IInternetZoneManagerEx *This);
8150
8151 ULONG (STDMETHODCALLTYPE *Release)(
8152 IInternetZoneManagerEx *This);
8153
8154 /*** IInternetZoneManager methods ***/
8155 HRESULT (STDMETHODCALLTYPE *GetZoneAttributes)(
8156 IInternetZoneManagerEx *This,
8157 DWORD dwZone,
8158 ZONEATTRIBUTES *pZoneAttributes);
8159
8160 HRESULT (STDMETHODCALLTYPE *SetZoneAttributes)(
8161 IInternetZoneManagerEx *This,
8162 DWORD dwZone,
8163 ZONEATTRIBUTES *pZoneAttributes);
8164
8165 HRESULT (STDMETHODCALLTYPE *GetZoneCustomPolicy)(
8166 IInternetZoneManagerEx *This,
8167 DWORD dwZone,
8168 REFGUID guidKey,
8169 BYTE **ppPolicy,
8170 DWORD *pcbPolicy,
8171 URLZONEREG urlZoneReg);
8172
8173 HRESULT (STDMETHODCALLTYPE *SetZoneCustomPolicy)(
8174 IInternetZoneManagerEx *This,
8175 DWORD dwZone,
8176 REFGUID guidKey,
8177 BYTE *pPolicy,
8178 DWORD cbPolicy,
8179 URLZONEREG urlZoneReg);
8180
8181 HRESULT (STDMETHODCALLTYPE *GetZoneActionPolicy)(
8182 IInternetZoneManagerEx *This,
8183 DWORD dwZone,
8184 DWORD dwAction,
8185 BYTE *pPolicy,
8186 DWORD cbPolicy,
8187 URLZONEREG urlZoneReg);
8188
8189 HRESULT (STDMETHODCALLTYPE *SetZoneActionPolicy)(
8190 IInternetZoneManagerEx *This,
8191 DWORD dwZone,
8192 DWORD dwAction,
8193 BYTE *pPolicy,
8194 DWORD cbPolicy,
8195 URLZONEREG urlZoneReg);
8196
8197 HRESULT (STDMETHODCALLTYPE *PromptAction)(
8198 IInternetZoneManagerEx *This,
8199 DWORD dwAction,
8200 HWND hwndParent,
8201 LPCWSTR pwszUrl,
8202 LPCWSTR pwszText,
8203 DWORD dwPromptFlags);
8204
8205 HRESULT (STDMETHODCALLTYPE *LogAction)(
8206 IInternetZoneManagerEx *This,
8207 DWORD dwAction,
8208 LPCWSTR pwszUrl,
8209 LPCWSTR pwszText,
8210 DWORD dwLogFlags);
8211
8212 HRESULT (STDMETHODCALLTYPE *CreateZoneEnumerator)(
8213 IInternetZoneManagerEx *This,
8214 DWORD *pdwEnum,
8215 DWORD *pdwCount,
8216 DWORD dwFlags);
8217
8218 HRESULT (STDMETHODCALLTYPE *GetZoneAt)(
8219 IInternetZoneManagerEx *This,
8220 DWORD dwEnum,
8221 DWORD dwIndex,
8222 DWORD *pdwZone);
8223
8224 HRESULT (STDMETHODCALLTYPE *DestroyZoneEnumerator)(
8225 IInternetZoneManagerEx *This,
8226 DWORD dwEnum);
8227
8228 HRESULT (STDMETHODCALLTYPE *CopyTemplatePoliciesToZone)(
8229 IInternetZoneManagerEx *This,
8230 DWORD dwTemplate,
8231 DWORD dwZone,
8232 DWORD dwReserved);
8233
8234 /*** IInternetZoneManagerEx methods ***/
8235 HRESULT (STDMETHODCALLTYPE *GetZoneActionPolicyEx)(
8236 IInternetZoneManagerEx *This,
8237 DWORD dwZone,
8238 DWORD dwAction,
8239 BYTE *pPolicy,
8240 DWORD cbPolicy,
8241 URLZONEREG urlZoneReg,
8242 DWORD dwFlags);
8243
8244 HRESULT (STDMETHODCALLTYPE *SetZoneActionPolicyEx)(
8245 IInternetZoneManagerEx *This,
8246 DWORD dwZone,
8247 DWORD dwAction,
8248 BYTE *pPolicy,
8249 DWORD cbPolicy,
8250 URLZONEREG urlZoneReg,
8251 DWORD dwFlags);
8252
8253 END_INTERFACE
8254} IInternetZoneManagerExVtbl;
8255
8256interface IInternetZoneManagerEx {
8257 CONST_VTBL IInternetZoneManagerExVtbl* lpVtbl;
8258};
8259
8260#ifdef COBJMACROS
8261#ifndef WIDL_C_INLINE_WRAPPERS
8262/*** IUnknown methods ***/
8263#define IInternetZoneManagerEx_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject)
8264#define IInternetZoneManagerEx_AddRef(This) (This)->lpVtbl->AddRef(This)
8265#define IInternetZoneManagerEx_Release(This) (This)->lpVtbl->Release(This)
8266/*** IInternetZoneManager methods ***/
8267#define IInternetZoneManagerEx_GetZoneAttributes(This,dwZone,pZoneAttributes) (This)->lpVtbl->GetZoneAttributes(This,dwZone,pZoneAttributes)
8268#define IInternetZoneManagerEx_SetZoneAttributes(This,dwZone,pZoneAttributes) (This)->lpVtbl->SetZoneAttributes(This,dwZone,pZoneAttributes)
8269#define IInternetZoneManagerEx_GetZoneCustomPolicy(This,dwZone,guidKey,ppPolicy,pcbPolicy,urlZoneReg) (This)->lpVtbl->GetZoneCustomPolicy(This,dwZone,guidKey,ppPolicy,pcbPolicy,urlZoneReg)
8270#define IInternetZoneManagerEx_SetZoneCustomPolicy(This,dwZone,guidKey,pPolicy,cbPolicy,urlZoneReg) (This)->lpVtbl->SetZoneCustomPolicy(This,dwZone,guidKey,pPolicy,cbPolicy,urlZoneReg)
8271#define IInternetZoneManagerEx_GetZoneActionPolicy(This,dwZone,dwAction,pPolicy,cbPolicy,urlZoneReg) (This)->lpVtbl->GetZoneActionPolicy(This,dwZone,dwAction,pPolicy,cbPolicy,urlZoneReg)
8272#define IInternetZoneManagerEx_SetZoneActionPolicy(This,dwZone,dwAction,pPolicy,cbPolicy,urlZoneReg) (This)->lpVtbl->SetZoneActionPolicy(This,dwZone,dwAction,pPolicy,cbPolicy,urlZoneReg)
8273#define IInternetZoneManagerEx_PromptAction(This,dwAction,hwndParent,pwszUrl,pwszText,dwPromptFlags) (This)->lpVtbl->PromptAction(This,dwAction,hwndParent,pwszUrl,pwszText,dwPromptFlags)
8274#define IInternetZoneManagerEx_LogAction(This,dwAction,pwszUrl,pwszText,dwLogFlags) (This)->lpVtbl->LogAction(This,dwAction,pwszUrl,pwszText,dwLogFlags)
8275#define IInternetZoneManagerEx_CreateZoneEnumerator(This,pdwEnum,pdwCount,dwFlags) (This)->lpVtbl->CreateZoneEnumerator(This,pdwEnum,pdwCount,dwFlags)
8276#define IInternetZoneManagerEx_GetZoneAt(This,dwEnum,dwIndex,pdwZone) (This)->lpVtbl->GetZoneAt(This,dwEnum,dwIndex,pdwZone)
8277#define IInternetZoneManagerEx_DestroyZoneEnumerator(This,dwEnum) (This)->lpVtbl->DestroyZoneEnumerator(This,dwEnum)
8278#define IInternetZoneManagerEx_CopyTemplatePoliciesToZone(This,dwTemplate,dwZone,dwReserved) (This)->lpVtbl->CopyTemplatePoliciesToZone(This,dwTemplate,dwZone,dwReserved)
8279/*** IInternetZoneManagerEx methods ***/
8280#define IInternetZoneManagerEx_GetZoneActionPolicyEx(This,dwZone,dwAction,pPolicy,cbPolicy,urlZoneReg,dwFlags) (This)->lpVtbl->GetZoneActionPolicyEx(This,dwZone,dwAction,pPolicy,cbPolicy,urlZoneReg,dwFlags)
8281#define IInternetZoneManagerEx_SetZoneActionPolicyEx(This,dwZone,dwAction,pPolicy,cbPolicy,urlZoneReg,dwFlags) (This)->lpVtbl->SetZoneActionPolicyEx(This,dwZone,dwAction,pPolicy,cbPolicy,urlZoneReg,dwFlags)
8282#else
8283/*** IUnknown methods ***/
8284static inline HRESULT IInternetZoneManagerEx_QueryInterface(IInternetZoneManagerEx* This,REFIID riid,void **ppvObject) {
8285 return This->lpVtbl->QueryInterface(This,riid,ppvObject);
8286}
8287static inline ULONG IInternetZoneManagerEx_AddRef(IInternetZoneManagerEx* This) {
8288 return This->lpVtbl->AddRef(This);
8289}
8290static inline ULONG IInternetZoneManagerEx_Release(IInternetZoneManagerEx* This) {
8291 return This->lpVtbl->Release(This);
8292}
8293/*** IInternetZoneManager methods ***/
8294static inline HRESULT IInternetZoneManagerEx_GetZoneAttributes(IInternetZoneManagerEx* This,DWORD dwZone,ZONEATTRIBUTES *pZoneAttributes) {
8295 return This->lpVtbl->GetZoneAttributes(This,dwZone,pZoneAttributes);
8296}
8297static inline HRESULT IInternetZoneManagerEx_SetZoneAttributes(IInternetZoneManagerEx* This,DWORD dwZone,ZONEATTRIBUTES *pZoneAttributes) {
8298 return This->lpVtbl->SetZoneAttributes(This,dwZone,pZoneAttributes);
8299}
8300static inline HRESULT IInternetZoneManagerEx_GetZoneCustomPolicy(IInternetZoneManagerEx* This,DWORD dwZone,REFGUID guidKey,BYTE **ppPolicy,DWORD *pcbPolicy,URLZONEREG urlZoneReg) {
8301 return This->lpVtbl->GetZoneCustomPolicy(This,dwZone,guidKey,ppPolicy,pcbPolicy,urlZoneReg);
8302}
8303static inline HRESULT IInternetZoneManagerEx_SetZoneCustomPolicy(IInternetZoneManagerEx* This,DWORD dwZone,REFGUID guidKey,BYTE *pPolicy,DWORD cbPolicy,URLZONEREG urlZoneReg) {
8304 return This->lpVtbl->SetZoneCustomPolicy(This,dwZone,guidKey,pPolicy,cbPolicy,urlZoneReg);
8305}
8306static inline HRESULT IInternetZoneManagerEx_GetZoneActionPolicy(IInternetZoneManagerEx* This,DWORD dwZone,DWORD dwAction,BYTE *pPolicy,DWORD cbPolicy,URLZONEREG urlZoneReg) {
8307 return This->lpVtbl->GetZoneActionPolicy(This,dwZone,dwAction,pPolicy,cbPolicy,urlZoneReg);
8308}
8309static inline HRESULT IInternetZoneManagerEx_SetZoneActionPolicy(IInternetZoneManagerEx* This,DWORD dwZone,DWORD dwAction,BYTE *pPolicy,DWORD cbPolicy,URLZONEREG urlZoneReg) {
8310 return This->lpVtbl->SetZoneActionPolicy(This,dwZone,dwAction,pPolicy,cbPolicy,urlZoneReg);
8311}
8312static inline HRESULT IInternetZoneManagerEx_PromptAction(IInternetZoneManagerEx* This,DWORD dwAction,HWND hwndParent,LPCWSTR pwszUrl,LPCWSTR pwszText,DWORD dwPromptFlags) {
8313 return This->lpVtbl->PromptAction(This,dwAction,hwndParent,pwszUrl,pwszText,dwPromptFlags);
8314}
8315static inline HRESULT IInternetZoneManagerEx_LogAction(IInternetZoneManagerEx* This,DWORD dwAction,LPCWSTR pwszUrl,LPCWSTR pwszText,DWORD dwLogFlags) {
8316 return This->lpVtbl->LogAction(This,dwAction,pwszUrl,pwszText,dwLogFlags);
8317}
8318static inline HRESULT IInternetZoneManagerEx_CreateZoneEnumerator(IInternetZoneManagerEx* This,DWORD *pdwEnum,DWORD *pdwCount,DWORD dwFlags) {
8319 return This->lpVtbl->CreateZoneEnumerator(This,pdwEnum,pdwCount,dwFlags);
8320}
8321static inline HRESULT IInternetZoneManagerEx_GetZoneAt(IInternetZoneManagerEx* This,DWORD dwEnum,DWORD dwIndex,DWORD *pdwZone) {
8322 return This->lpVtbl->GetZoneAt(This,dwEnum,dwIndex,pdwZone);
8323}
8324static inline HRESULT IInternetZoneManagerEx_DestroyZoneEnumerator(IInternetZoneManagerEx* This,DWORD dwEnum) {
8325 return This->lpVtbl->DestroyZoneEnumerator(This,dwEnum);
8326}
8327static inline HRESULT IInternetZoneManagerEx_CopyTemplatePoliciesToZone(IInternetZoneManagerEx* This,DWORD dwTemplate,DWORD dwZone,DWORD dwReserved) {
8328 return This->lpVtbl->CopyTemplatePoliciesToZone(This,dwTemplate,dwZone,dwReserved);
8329}
8330/*** IInternetZoneManagerEx methods ***/
8331static inline HRESULT IInternetZoneManagerEx_GetZoneActionPolicyEx(IInternetZoneManagerEx* This,DWORD dwZone,DWORD dwAction,BYTE *pPolicy,DWORD cbPolicy,URLZONEREG urlZoneReg,DWORD dwFlags) {
8332 return This->lpVtbl->GetZoneActionPolicyEx(This,dwZone,dwAction,pPolicy,cbPolicy,urlZoneReg,dwFlags);
8333}
8334static inline HRESULT IInternetZoneManagerEx_SetZoneActionPolicyEx(IInternetZoneManagerEx* This,DWORD dwZone,DWORD dwAction,BYTE *pPolicy,DWORD cbPolicy,URLZONEREG urlZoneReg,DWORD dwFlags) {
8335 return This->lpVtbl->SetZoneActionPolicyEx(This,dwZone,dwAction,pPolicy,cbPolicy,urlZoneReg,dwFlags);
8336}
8337#endif
8338#endif
8339
8340#endif
8341
8342
8343#endif /* __IInternetZoneManagerEx_INTERFACE_DEFINED__ */
8344
8345#endif
8346#endif
8347
8348#if (_WIN32_IE >= _WIN32_IE_IE70)
8349#ifndef _LPINTERNETZONEMANAGEREX2_DEFINED
8350#define _LPINTERNETZONEMANAGEREX2_DEFINED
8351
8352#define SECURITY_IE_STATE_GREEN 0x0
8353#define SECURITY_IE_STATE_RED 0x1
8354
8355/*****************************************************************************
8356 * IInternetZoneManagerEx2 interface
8357 */
8358#ifndef __IInternetZoneManagerEx2_INTERFACE_DEFINED__
8359#define __IInternetZoneManagerEx2_INTERFACE_DEFINED__
8360
8361DEFINE_GUID(IID_IInternetZoneManagerEx2, 0xedc17559, 0xdd5d, 0x4846, 0x8e,0xef, 0x8b,0xec,0xba,0x5a,0x4a,0xbf);
8362#if defined(__cplusplus) && !defined(CINTERFACE)
8363MIDL_INTERFACE("edc17559-dd5d-4846-8eef-8becba5a4abf")
8364IInternetZoneManagerEx2 : public IInternetZoneManagerEx
8365{
8366 virtual HRESULT STDMETHODCALLTYPE GetZoneAttributesEx(
8367 DWORD dwZone,
8368 ZONEATTRIBUTES *pZoneAttributes,
8369 DWORD dwFlags) = 0;
8370
8371 virtual HRESULT STDMETHODCALLTYPE GetZoneSecurityState(
8372 DWORD dwZoneIndex,
8373 WINBOOL fRespectPolicy,
8374 LPDWORD pdwState,
8375 WINBOOL *pfPolicyEncountered) = 0;
8376
8377 virtual HRESULT STDMETHODCALLTYPE GetIESecurityState(
8378 WINBOOL fRespectPolicy,
8379 LPDWORD pdwState,
8380 WINBOOL *pfPolicyEncountered,
8381 WINBOOL fNoCache) = 0;
8382
8383 virtual HRESULT STDMETHODCALLTYPE FixUnsecureSettings(
8384 ) = 0;
8385
8386};
8387#ifdef __CRT_UUID_DECL
8388__CRT_UUID_DECL(IInternetZoneManagerEx2, 0xedc17559, 0xdd5d, 0x4846, 0x8e,0xef, 0x8b,0xec,0xba,0x5a,0x4a,0xbf)
8389#endif
8390#else
8391typedef struct IInternetZoneManagerEx2Vtbl {
8392 BEGIN_INTERFACE
8393
8394 /*** IUnknown methods ***/
8395 HRESULT (STDMETHODCALLTYPE *QueryInterface)(
8396 IInternetZoneManagerEx2 *This,
8397 REFIID riid,
8398 void **ppvObject);
8399
8400 ULONG (STDMETHODCALLTYPE *AddRef)(
8401 IInternetZoneManagerEx2 *This);
8402
8403 ULONG (STDMETHODCALLTYPE *Release)(
8404 IInternetZoneManagerEx2 *This);
8405
8406 /*** IInternetZoneManager methods ***/
8407 HRESULT (STDMETHODCALLTYPE *GetZoneAttributes)(
8408 IInternetZoneManagerEx2 *This,
8409 DWORD dwZone,
8410 ZONEATTRIBUTES *pZoneAttributes);
8411
8412 HRESULT (STDMETHODCALLTYPE *SetZoneAttributes)(
8413 IInternetZoneManagerEx2 *This,
8414 DWORD dwZone,
8415 ZONEATTRIBUTES *pZoneAttributes);
8416
8417 HRESULT (STDMETHODCALLTYPE *GetZoneCustomPolicy)(
8418 IInternetZoneManagerEx2 *This,
8419 DWORD dwZone,
8420 REFGUID guidKey,
8421 BYTE **ppPolicy,
8422 DWORD *pcbPolicy,
8423 URLZONEREG urlZoneReg);
8424
8425 HRESULT (STDMETHODCALLTYPE *SetZoneCustomPolicy)(
8426 IInternetZoneManagerEx2 *This,
8427 DWORD dwZone,
8428 REFGUID guidKey,
8429 BYTE *pPolicy,
8430 DWORD cbPolicy,
8431 URLZONEREG urlZoneReg);
8432
8433 HRESULT (STDMETHODCALLTYPE *GetZoneActionPolicy)(
8434 IInternetZoneManagerEx2 *This,
8435 DWORD dwZone,
8436 DWORD dwAction,
8437 BYTE *pPolicy,
8438 DWORD cbPolicy,
8439 URLZONEREG urlZoneReg);
8440
8441 HRESULT (STDMETHODCALLTYPE *SetZoneActionPolicy)(
8442 IInternetZoneManagerEx2 *This,
8443 DWORD dwZone,
8444 DWORD dwAction,
8445 BYTE *pPolicy,
8446 DWORD cbPolicy,
8447 URLZONEREG urlZoneReg);
8448
8449 HRESULT (STDMETHODCALLTYPE *PromptAction)(
8450 IInternetZoneManagerEx2 *This,
8451 DWORD dwAction,
8452 HWND hwndParent,
8453 LPCWSTR pwszUrl,
8454 LPCWSTR pwszText,
8455 DWORD dwPromptFlags);
8456
8457 HRESULT (STDMETHODCALLTYPE *LogAction)(
8458 IInternetZoneManagerEx2 *This,
8459 DWORD dwAction,
8460 LPCWSTR pwszUrl,
8461 LPCWSTR pwszText,
8462 DWORD dwLogFlags);
8463
8464 HRESULT (STDMETHODCALLTYPE *CreateZoneEnumerator)(
8465 IInternetZoneManagerEx2 *This,
8466 DWORD *pdwEnum,
8467 DWORD *pdwCount,
8468 DWORD dwFlags);
8469
8470 HRESULT (STDMETHODCALLTYPE *GetZoneAt)(
8471 IInternetZoneManagerEx2 *This,
8472 DWORD dwEnum,
8473 DWORD dwIndex,
8474 DWORD *pdwZone);
8475
8476 HRESULT (STDMETHODCALLTYPE *DestroyZoneEnumerator)(
8477 IInternetZoneManagerEx2 *This,
8478 DWORD dwEnum);
8479
8480 HRESULT (STDMETHODCALLTYPE *CopyTemplatePoliciesToZone)(
8481 IInternetZoneManagerEx2 *This,
8482 DWORD dwTemplate,
8483 DWORD dwZone,
8484 DWORD dwReserved);
8485
8486 /*** IInternetZoneManagerEx methods ***/
8487 HRESULT (STDMETHODCALLTYPE *GetZoneActionPolicyEx)(
8488 IInternetZoneManagerEx2 *This,
8489 DWORD dwZone,
8490 DWORD dwAction,
8491 BYTE *pPolicy,
8492 DWORD cbPolicy,
8493 URLZONEREG urlZoneReg,
8494 DWORD dwFlags);
8495
8496 HRESULT (STDMETHODCALLTYPE *SetZoneActionPolicyEx)(
8497 IInternetZoneManagerEx2 *This,
8498 DWORD dwZone,
8499 DWORD dwAction,
8500 BYTE *pPolicy,
8501 DWORD cbPolicy,
8502 URLZONEREG urlZoneReg,
8503 DWORD dwFlags);
8504
8505 /*** IInternetZoneManagerEx2 methods ***/
8506 HRESULT (STDMETHODCALLTYPE *GetZoneAttributesEx)(
8507 IInternetZoneManagerEx2 *This,
8508 DWORD dwZone,
8509 ZONEATTRIBUTES *pZoneAttributes,
8510 DWORD dwFlags);
8511
8512 HRESULT (STDMETHODCALLTYPE *GetZoneSecurityState)(
8513 IInternetZoneManagerEx2 *This,
8514 DWORD dwZoneIndex,
8515 WINBOOL fRespectPolicy,
8516 LPDWORD pdwState,
8517 WINBOOL *pfPolicyEncountered);
8518
8519 HRESULT (STDMETHODCALLTYPE *GetIESecurityState)(
8520 IInternetZoneManagerEx2 *This,
8521 WINBOOL fRespectPolicy,
8522 LPDWORD pdwState,
8523 WINBOOL *pfPolicyEncountered,
8524 WINBOOL fNoCache);
8525
8526 HRESULT (STDMETHODCALLTYPE *FixUnsecureSettings)(
8527 IInternetZoneManagerEx2 *This);
8528
8529 END_INTERFACE
8530} IInternetZoneManagerEx2Vtbl;
8531
8532interface IInternetZoneManagerEx2 {
8533 CONST_VTBL IInternetZoneManagerEx2Vtbl* lpVtbl;
8534};
8535
8536#ifdef COBJMACROS
8537#ifndef WIDL_C_INLINE_WRAPPERS
8538/*** IUnknown methods ***/
8539#define IInternetZoneManagerEx2_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject)
8540#define IInternetZoneManagerEx2_AddRef(This) (This)->lpVtbl->AddRef(This)
8541#define IInternetZoneManagerEx2_Release(This) (This)->lpVtbl->Release(This)
8542/*** IInternetZoneManager methods ***/
8543#define IInternetZoneManagerEx2_GetZoneAttributes(This,dwZone,pZoneAttributes) (This)->lpVtbl->GetZoneAttributes(This,dwZone,pZoneAttributes)
8544#define IInternetZoneManagerEx2_SetZoneAttributes(This,dwZone,pZoneAttributes) (This)->lpVtbl->SetZoneAttributes(This,dwZone,pZoneAttributes)
8545#define IInternetZoneManagerEx2_GetZoneCustomPolicy(This,dwZone,guidKey,ppPolicy,pcbPolicy,urlZoneReg) (This)->lpVtbl->GetZoneCustomPolicy(This,dwZone,guidKey,ppPolicy,pcbPolicy,urlZoneReg)
8546#define IInternetZoneManagerEx2_SetZoneCustomPolicy(This,dwZone,guidKey,pPolicy,cbPolicy,urlZoneReg) (This)->lpVtbl->SetZoneCustomPolicy(This,dwZone,guidKey,pPolicy,cbPolicy,urlZoneReg)
8547#define IInternetZoneManagerEx2_GetZoneActionPolicy(This,dwZone,dwAction,pPolicy,cbPolicy,urlZoneReg) (This)->lpVtbl->GetZoneActionPolicy(This,dwZone,dwAction,pPolicy,cbPolicy,urlZoneReg)
8548#define IInternetZoneManagerEx2_SetZoneActionPolicy(This,dwZone,dwAction,pPolicy,cbPolicy,urlZoneReg) (This)->lpVtbl->SetZoneActionPolicy(This,dwZone,dwAction,pPolicy,cbPolicy,urlZoneReg)
8549#define IInternetZoneManagerEx2_PromptAction(This,dwAction,hwndParent,pwszUrl,pwszText,dwPromptFlags) (This)->lpVtbl->PromptAction(This,dwAction,hwndParent,pwszUrl,pwszText,dwPromptFlags)
8550#define IInternetZoneManagerEx2_LogAction(This,dwAction,pwszUrl,pwszText,dwLogFlags) (This)->lpVtbl->LogAction(This,dwAction,pwszUrl,pwszText,dwLogFlags)
8551#define IInternetZoneManagerEx2_CreateZoneEnumerator(This,pdwEnum,pdwCount,dwFlags) (This)->lpVtbl->CreateZoneEnumerator(This,pdwEnum,pdwCount,dwFlags)
8552#define IInternetZoneManagerEx2_GetZoneAt(This,dwEnum,dwIndex,pdwZone) (This)->lpVtbl->GetZoneAt(This,dwEnum,dwIndex,pdwZone)
8553#define IInternetZoneManagerEx2_DestroyZoneEnumerator(This,dwEnum) (This)->lpVtbl->DestroyZoneEnumerator(This,dwEnum)
8554#define IInternetZoneManagerEx2_CopyTemplatePoliciesToZone(This,dwTemplate,dwZone,dwReserved) (This)->lpVtbl->CopyTemplatePoliciesToZone(This,dwTemplate,dwZone,dwReserved)
8555/*** IInternetZoneManagerEx methods ***/
8556#define IInternetZoneManagerEx2_GetZoneActionPolicyEx(This,dwZone,dwAction,pPolicy,cbPolicy,urlZoneReg,dwFlags) (This)->lpVtbl->GetZoneActionPolicyEx(This,dwZone,dwAction,pPolicy,cbPolicy,urlZoneReg,dwFlags)
8557#define IInternetZoneManagerEx2_SetZoneActionPolicyEx(This,dwZone,dwAction,pPolicy,cbPolicy,urlZoneReg,dwFlags) (This)->lpVtbl->SetZoneActionPolicyEx(This,dwZone,dwAction,pPolicy,cbPolicy,urlZoneReg,dwFlags)
8558/*** IInternetZoneManagerEx2 methods ***/
8559#define IInternetZoneManagerEx2_GetZoneAttributesEx(This,dwZone,pZoneAttributes,dwFlags) (This)->lpVtbl->GetZoneAttributesEx(This,dwZone,pZoneAttributes,dwFlags)
8560#define IInternetZoneManagerEx2_GetZoneSecurityState(This,dwZoneIndex,fRespectPolicy,pdwState,pfPolicyEncountered) (This)->lpVtbl->GetZoneSecurityState(This,dwZoneIndex,fRespectPolicy,pdwState,pfPolicyEncountered)
8561#define IInternetZoneManagerEx2_GetIESecurityState(This,fRespectPolicy,pdwState,pfPolicyEncountered,fNoCache) (This)->lpVtbl->GetIESecurityState(This,fRespectPolicy,pdwState,pfPolicyEncountered,fNoCache)
8562#define IInternetZoneManagerEx2_FixUnsecureSettings(This) (This)->lpVtbl->FixUnsecureSettings(This)
8563#else
8564/*** IUnknown methods ***/
8565static inline HRESULT IInternetZoneManagerEx2_QueryInterface(IInternetZoneManagerEx2* This,REFIID riid,void **ppvObject) {
8566 return This->lpVtbl->QueryInterface(This,riid,ppvObject);
8567}
8568static inline ULONG IInternetZoneManagerEx2_AddRef(IInternetZoneManagerEx2* This) {
8569 return This->lpVtbl->AddRef(This);
8570}
8571static inline ULONG IInternetZoneManagerEx2_Release(IInternetZoneManagerEx2* This) {
8572 return This->lpVtbl->Release(This);
8573}
8574/*** IInternetZoneManager methods ***/
8575static inline HRESULT IInternetZoneManagerEx2_GetZoneAttributes(IInternetZoneManagerEx2* This,DWORD dwZone,ZONEATTRIBUTES *pZoneAttributes) {
8576 return This->lpVtbl->GetZoneAttributes(This,dwZone,pZoneAttributes);
8577}
8578static inline HRESULT IInternetZoneManagerEx2_SetZoneAttributes(IInternetZoneManagerEx2* This,DWORD dwZone,ZONEATTRIBUTES *pZoneAttributes) {
8579 return This->lpVtbl->SetZoneAttributes(This,dwZone,pZoneAttributes);
8580}
8581static inline HRESULT IInternetZoneManagerEx2_GetZoneCustomPolicy(IInternetZoneManagerEx2* This,DWORD dwZone,REFGUID guidKey,BYTE **ppPolicy,DWORD *pcbPolicy,URLZONEREG urlZoneReg) {
8582 return This->lpVtbl->GetZoneCustomPolicy(This,dwZone,guidKey,ppPolicy,pcbPolicy,urlZoneReg);
8583}
8584static inline HRESULT IInternetZoneManagerEx2_SetZoneCustomPolicy(IInternetZoneManagerEx2* This,DWORD dwZone,REFGUID guidKey,BYTE *pPolicy,DWORD cbPolicy,URLZONEREG urlZoneReg) {
8585 return This->lpVtbl->SetZoneCustomPolicy(This,dwZone,guidKey,pPolicy,cbPolicy,urlZoneReg);
8586}
8587static inline HRESULT IInternetZoneManagerEx2_GetZoneActionPolicy(IInternetZoneManagerEx2* This,DWORD dwZone,DWORD dwAction,BYTE *pPolicy,DWORD cbPolicy,URLZONEREG urlZoneReg) {
8588 return This->lpVtbl->GetZoneActionPolicy(This,dwZone,dwAction,pPolicy,cbPolicy,urlZoneReg);
8589}
8590static inline HRESULT IInternetZoneManagerEx2_SetZoneActionPolicy(IInternetZoneManagerEx2* This,DWORD dwZone,DWORD dwAction,BYTE *pPolicy,DWORD cbPolicy,URLZONEREG urlZoneReg) {
8591 return This->lpVtbl->SetZoneActionPolicy(This,dwZone,dwAction,pPolicy,cbPolicy,urlZoneReg);
8592}
8593static inline HRESULT IInternetZoneManagerEx2_PromptAction(IInternetZoneManagerEx2* This,DWORD dwAction,HWND hwndParent,LPCWSTR pwszUrl,LPCWSTR pwszText,DWORD dwPromptFlags) {
8594 return This->lpVtbl->PromptAction(This,dwAction,hwndParent,pwszUrl,pwszText,dwPromptFlags);
8595}
8596static inline HRESULT IInternetZoneManagerEx2_LogAction(IInternetZoneManagerEx2* This,DWORD dwAction,LPCWSTR pwszUrl,LPCWSTR pwszText,DWORD dwLogFlags) {
8597 return This->lpVtbl->LogAction(This,dwAction,pwszUrl,pwszText,dwLogFlags);
8598}
8599static inline HRESULT IInternetZoneManagerEx2_CreateZoneEnumerator(IInternetZoneManagerEx2* This,DWORD *pdwEnum,DWORD *pdwCount,DWORD dwFlags) {
8600 return This->lpVtbl->CreateZoneEnumerator(This,pdwEnum,pdwCount,dwFlags);
8601}
8602static inline HRESULT IInternetZoneManagerEx2_GetZoneAt(IInternetZoneManagerEx2* This,DWORD dwEnum,DWORD dwIndex,DWORD *pdwZone) {
8603 return This->lpVtbl->GetZoneAt(This,dwEnum,dwIndex,pdwZone);
8604}
8605static inline HRESULT IInternetZoneManagerEx2_DestroyZoneEnumerator(IInternetZoneManagerEx2* This,DWORD dwEnum) {
8606 return This->lpVtbl->DestroyZoneEnumerator(This,dwEnum);
8607}
8608static inline HRESULT IInternetZoneManagerEx2_CopyTemplatePoliciesToZone(IInternetZoneManagerEx2* This,DWORD dwTemplate,DWORD dwZone,DWORD dwReserved) {
8609 return This->lpVtbl->CopyTemplatePoliciesToZone(This,dwTemplate,dwZone,dwReserved);
8610}
8611/*** IInternetZoneManagerEx methods ***/
8612static inline HRESULT IInternetZoneManagerEx2_GetZoneActionPolicyEx(IInternetZoneManagerEx2* This,DWORD dwZone,DWORD dwAction,BYTE *pPolicy,DWORD cbPolicy,URLZONEREG urlZoneReg,DWORD dwFlags) {
8613 return This->lpVtbl->GetZoneActionPolicyEx(This,dwZone,dwAction,pPolicy,cbPolicy,urlZoneReg,dwFlags);
8614}
8615static inline HRESULT IInternetZoneManagerEx2_SetZoneActionPolicyEx(IInternetZoneManagerEx2* This,DWORD dwZone,DWORD dwAction,BYTE *pPolicy,DWORD cbPolicy,URLZONEREG urlZoneReg,DWORD dwFlags) {
8616 return This->lpVtbl->SetZoneActionPolicyEx(This,dwZone,dwAction,pPolicy,cbPolicy,urlZoneReg,dwFlags);
8617}
8618/*** IInternetZoneManagerEx2 methods ***/
8619static inline HRESULT IInternetZoneManagerEx2_GetZoneAttributesEx(IInternetZoneManagerEx2* This,DWORD dwZone,ZONEATTRIBUTES *pZoneAttributes,DWORD dwFlags) {
8620 return This->lpVtbl->GetZoneAttributesEx(This,dwZone,pZoneAttributes,dwFlags);
8621}
8622static inline HRESULT IInternetZoneManagerEx2_GetZoneSecurityState(IInternetZoneManagerEx2* This,DWORD dwZoneIndex,WINBOOL fRespectPolicy,LPDWORD pdwState,WINBOOL *pfPolicyEncountered) {
8623 return This->lpVtbl->GetZoneSecurityState(This,dwZoneIndex,fRespectPolicy,pdwState,pfPolicyEncountered);
8624}
8625static inline HRESULT IInternetZoneManagerEx2_GetIESecurityState(IInternetZoneManagerEx2* This,WINBOOL fRespectPolicy,LPDWORD pdwState,WINBOOL *pfPolicyEncountered,WINBOOL fNoCache) {
8626 return This->lpVtbl->GetIESecurityState(This,fRespectPolicy,pdwState,pfPolicyEncountered,fNoCache);
8627}
8628static inline HRESULT IInternetZoneManagerEx2_FixUnsecureSettings(IInternetZoneManagerEx2* This) {
8629 return This->lpVtbl->FixUnsecureSettings(This);
8630}
8631#endif
8632#endif
8633
8634#endif
8635
8636
8637#endif /* __IInternetZoneManagerEx2_INTERFACE_DEFINED__ */
8638
8639#endif
8640#endif
8641
8642EXTERN_C const IID CLSID_SoftDistExt;
8643
8644#ifndef _LPSOFTDISTEXT_DEFINED
8645#define _LPSOFTDISTEXT_DEFINED
8646
8647#define SOFTDIST_FLAG_USAGE_EMAIL 0x1
8648#define SOFTDIST_FLAG_USAGE_PRECACHE 0x2
8649#define SOFTDIST_FLAG_USAGE_AUTOINSTALL 0x4
8650#define SOFTDIST_FLAG_DELETE_SUBSCRIPTION 0x8
8651
8652#define SOFTDIST_ADSTATE_NONE 0x0
8653#define SOFTDIST_ADSTATE_AVAILABLE 0x1
8654#define SOFTDIST_ADSTATE_DOWNLOADED 0x2
8655#define SOFTDIST_ADSTATE_INSTALLED 0x3
8656
8657typedef struct _tagCODEBASEHOLD {
8658 ULONG cbSize;
8659 LPWSTR szDistUnit;
8660 LPWSTR szCodeBase;
8661 DWORD dwVersionMS;
8662 DWORD dwVersionLS;
8663 DWORD dwStyle;
8664} CODEBASEHOLD;
8665typedef struct _tagCODEBASEHOLD *LPCODEBASEHOLD;
8666
8667typedef struct _tagSOFTDISTINFO {
8668 ULONG cbSize;
8669 DWORD dwFlags;
8670 DWORD dwAdState;
8671 LPWSTR szTitle;
8672 LPWSTR szAbstract;
8673 LPWSTR szHREF;
8674 DWORD dwInstalledVersionMS;
8675 DWORD dwInstalledVersionLS;
8676 DWORD dwUpdateVersionMS;
8677 DWORD dwUpdateVersionLS;
8678 DWORD dwAdvertisedVersionMS;
8679 DWORD dwAdvertisedVersionLS;
8680 DWORD dwReserved;
8681} SOFTDISTINFO;
8682typedef struct _tagSOFTDISTINFO *LPSOFTDISTINFO;
8683
8684/*****************************************************************************
8685 * ISoftDistExt interface
8686 */
8687#ifndef __ISoftDistExt_INTERFACE_DEFINED__
8688#define __ISoftDistExt_INTERFACE_DEFINED__
8689
8690DEFINE_GUID(IID_ISoftDistExt, 0xb15b8dc1, 0xc7e1, 0x11d0, 0x86,0x80, 0x00,0xaa,0x00,0xbd,0xcb,0x71);
8691#if defined(__cplusplus) && !defined(CINTERFACE)
8692MIDL_INTERFACE("b15b8dc1-c7e1-11d0-8680-00aa00bdcb71")
8693ISoftDistExt : public IUnknown
8694{
8695 virtual HRESULT STDMETHODCALLTYPE ProcessSoftDist(
8696 LPCWSTR szCDFURL,
8697 IXMLElement *pSoftDistElement,
8698 LPSOFTDISTINFO lpsdi) = 0;
8699
8700 virtual HRESULT STDMETHODCALLTYPE GetFirstCodeBase(
8701 LPWSTR *szCodeBase,
8702 LPDWORD dwMaxSize) = 0;
8703
8704 virtual HRESULT STDMETHODCALLTYPE GetNextCodeBase(
8705 LPWSTR *szCodeBase,
8706 LPDWORD dwMaxSize) = 0;
8707
8708 virtual HRESULT STDMETHODCALLTYPE AsyncInstallDistributionUnit(
8709 IBindCtx *pbc,
8710 LPVOID pvReserved,
8711 DWORD flags,
8712 LPCODEBASEHOLD lpcbh) = 0;
8713
8714};
8715#ifdef __CRT_UUID_DECL
8716__CRT_UUID_DECL(ISoftDistExt, 0xb15b8dc1, 0xc7e1, 0x11d0, 0x86,0x80, 0x00,0xaa,0x00,0xbd,0xcb,0x71)
8717#endif
8718#else
8719typedef struct ISoftDistExtVtbl {
8720 BEGIN_INTERFACE
8721
8722 /*** IUnknown methods ***/
8723 HRESULT (STDMETHODCALLTYPE *QueryInterface)(
8724 ISoftDistExt *This,
8725 REFIID riid,
8726 void **ppvObject);
8727
8728 ULONG (STDMETHODCALLTYPE *AddRef)(
8729 ISoftDistExt *This);
8730
8731 ULONG (STDMETHODCALLTYPE *Release)(
8732 ISoftDistExt *This);
8733
8734 /*** ISoftDistExt methods ***/
8735 HRESULT (STDMETHODCALLTYPE *ProcessSoftDist)(
8736 ISoftDistExt *This,
8737 LPCWSTR szCDFURL,
8738 IXMLElement *pSoftDistElement,
8739 LPSOFTDISTINFO lpsdi);
8740
8741 HRESULT (STDMETHODCALLTYPE *GetFirstCodeBase)(
8742 ISoftDistExt *This,
8743 LPWSTR *szCodeBase,
8744 LPDWORD dwMaxSize);
8745
8746 HRESULT (STDMETHODCALLTYPE *GetNextCodeBase)(
8747 ISoftDistExt *This,
8748 LPWSTR *szCodeBase,
8749 LPDWORD dwMaxSize);
8750
8751 HRESULT (STDMETHODCALLTYPE *AsyncInstallDistributionUnit)(
8752 ISoftDistExt *This,
8753 IBindCtx *pbc,
8754 LPVOID pvReserved,
8755 DWORD flags,
8756 LPCODEBASEHOLD lpcbh);
8757
8758 END_INTERFACE
8759} ISoftDistExtVtbl;
8760
8761interface ISoftDistExt {
8762 CONST_VTBL ISoftDistExtVtbl* lpVtbl;
8763};
8764
8765#ifdef COBJMACROS
8766#ifndef WIDL_C_INLINE_WRAPPERS
8767/*** IUnknown methods ***/
8768#define ISoftDistExt_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject)
8769#define ISoftDistExt_AddRef(This) (This)->lpVtbl->AddRef(This)
8770#define ISoftDistExt_Release(This) (This)->lpVtbl->Release(This)
8771/*** ISoftDistExt methods ***/
8772#define ISoftDistExt_ProcessSoftDist(This,szCDFURL,pSoftDistElement,lpsdi) (This)->lpVtbl->ProcessSoftDist(This,szCDFURL,pSoftDistElement,lpsdi)
8773#define ISoftDistExt_GetFirstCodeBase(This,szCodeBase,dwMaxSize) (This)->lpVtbl->GetFirstCodeBase(This,szCodeBase,dwMaxSize)
8774#define ISoftDistExt_GetNextCodeBase(This,szCodeBase,dwMaxSize) (This)->lpVtbl->GetNextCodeBase(This,szCodeBase,dwMaxSize)
8775#define ISoftDistExt_AsyncInstallDistributionUnit(This,pbc,pvReserved,flags,lpcbh) (This)->lpVtbl->AsyncInstallDistributionUnit(This,pbc,pvReserved,flags,lpcbh)
8776#else
8777/*** IUnknown methods ***/
8778static inline HRESULT ISoftDistExt_QueryInterface(ISoftDistExt* This,REFIID riid,void **ppvObject) {
8779 return This->lpVtbl->QueryInterface(This,riid,ppvObject);
8780}
8781static inline ULONG ISoftDistExt_AddRef(ISoftDistExt* This) {
8782 return This->lpVtbl->AddRef(This);
8783}
8784static inline ULONG ISoftDistExt_Release(ISoftDistExt* This) {
8785 return This->lpVtbl->Release(This);
8786}
8787/*** ISoftDistExt methods ***/
8788static inline HRESULT ISoftDistExt_ProcessSoftDist(ISoftDistExt* This,LPCWSTR szCDFURL,IXMLElement *pSoftDistElement,LPSOFTDISTINFO lpsdi) {
8789 return This->lpVtbl->ProcessSoftDist(This,szCDFURL,pSoftDistElement,lpsdi);
8790}
8791static inline HRESULT ISoftDistExt_GetFirstCodeBase(ISoftDistExt* This,LPWSTR *szCodeBase,LPDWORD dwMaxSize) {
8792 return This->lpVtbl->GetFirstCodeBase(This,szCodeBase,dwMaxSize);
8793}
8794static inline HRESULT ISoftDistExt_GetNextCodeBase(ISoftDistExt* This,LPWSTR *szCodeBase,LPDWORD dwMaxSize) {
8795 return This->lpVtbl->GetNextCodeBase(This,szCodeBase,dwMaxSize);
8796}
8797static inline HRESULT ISoftDistExt_AsyncInstallDistributionUnit(ISoftDistExt* This,IBindCtx *pbc,LPVOID pvReserved,DWORD flags,LPCODEBASEHOLD lpcbh) {
8798 return This->lpVtbl->AsyncInstallDistributionUnit(This,pbc,pvReserved,flags,lpcbh);
8799}
8800#endif
8801#endif
8802
8803#endif
8804
8805
8806#endif /* __ISoftDistExt_INTERFACE_DEFINED__ */
8807
8808
8809STDAPI GetSoftwareUpdateInfo(LPCWSTR szDistUnit, LPSOFTDISTINFO psdi);
8810STDAPI SetSoftwareUpdateAdvertisementState(LPCWSTR szDistUnit, DWORD dwAdState, DWORD dwAdvertisedVersionMS, DWORD dwAdvertisedVersionLS);
8811#endif
8812
8813#ifndef _LPCATALOGFILEINFO_DEFINED
8814#define _LPCATALOGFILEINFO_DEFINED
8815
8816/*****************************************************************************
8817 * ICatalogFileInfo interface
8818 */
8819#ifndef __ICatalogFileInfo_INTERFACE_DEFINED__
8820#define __ICatalogFileInfo_INTERFACE_DEFINED__
8821
8822typedef ICatalogFileInfo *LPCATALOGFILEINFO;
8823
8824DEFINE_GUID(IID_ICatalogFileInfo, 0x711c7600, 0x6b48, 0x11d1, 0xb4,0x03, 0x00,0xaa,0x00,0xb9,0x2a,0xf1);
8825#if defined(__cplusplus) && !defined(CINTERFACE)
8826MIDL_INTERFACE("711c7600-6b48-11d1-b403-00aa00b92af1")
8827ICatalogFileInfo : public IUnknown
8828{
8829 virtual HRESULT STDMETHODCALLTYPE GetCatalogFile(
8830 LPSTR *ppszCatalogFile) = 0;
8831
8832 virtual HRESULT STDMETHODCALLTYPE GetJavaTrust(
8833 void **ppJavaTrust) = 0;
8834
8835};
8836#ifdef __CRT_UUID_DECL
8837__CRT_UUID_DECL(ICatalogFileInfo, 0x711c7600, 0x6b48, 0x11d1, 0xb4,0x03, 0x00,0xaa,0x00,0xb9,0x2a,0xf1)
8838#endif
8839#else
8840typedef struct ICatalogFileInfoVtbl {
8841 BEGIN_INTERFACE
8842
8843 /*** IUnknown methods ***/
8844 HRESULT (STDMETHODCALLTYPE *QueryInterface)(
8845 ICatalogFileInfo *This,
8846 REFIID riid,
8847 void **ppvObject);
8848
8849 ULONG (STDMETHODCALLTYPE *AddRef)(
8850 ICatalogFileInfo *This);
8851
8852 ULONG (STDMETHODCALLTYPE *Release)(
8853 ICatalogFileInfo *This);
8854
8855 /*** ICatalogFileInfo methods ***/
8856 HRESULT (STDMETHODCALLTYPE *GetCatalogFile)(
8857 ICatalogFileInfo *This,
8858 LPSTR *ppszCatalogFile);
8859
8860 HRESULT (STDMETHODCALLTYPE *GetJavaTrust)(
8861 ICatalogFileInfo *This,
8862 void **ppJavaTrust);
8863
8864 END_INTERFACE
8865} ICatalogFileInfoVtbl;
8866
8867interface ICatalogFileInfo {
8868 CONST_VTBL ICatalogFileInfoVtbl* lpVtbl;
8869};
8870
8871#ifdef COBJMACROS
8872#ifndef WIDL_C_INLINE_WRAPPERS
8873/*** IUnknown methods ***/
8874#define ICatalogFileInfo_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject)
8875#define ICatalogFileInfo_AddRef(This) (This)->lpVtbl->AddRef(This)
8876#define ICatalogFileInfo_Release(This) (This)->lpVtbl->Release(This)
8877/*** ICatalogFileInfo methods ***/
8878#define ICatalogFileInfo_GetCatalogFile(This,ppszCatalogFile) (This)->lpVtbl->GetCatalogFile(This,ppszCatalogFile)
8879#define ICatalogFileInfo_GetJavaTrust(This,ppJavaTrust) (This)->lpVtbl->GetJavaTrust(This,ppJavaTrust)
8880#else
8881/*** IUnknown methods ***/
8882static inline HRESULT ICatalogFileInfo_QueryInterface(ICatalogFileInfo* This,REFIID riid,void **ppvObject) {
8883 return This->lpVtbl->QueryInterface(This,riid,ppvObject);
8884}
8885static inline ULONG ICatalogFileInfo_AddRef(ICatalogFileInfo* This) {
8886 return This->lpVtbl->AddRef(This);
8887}
8888static inline ULONG ICatalogFileInfo_Release(ICatalogFileInfo* This) {
8889 return This->lpVtbl->Release(This);
8890}
8891/*** ICatalogFileInfo methods ***/
8892static inline HRESULT ICatalogFileInfo_GetCatalogFile(ICatalogFileInfo* This,LPSTR *ppszCatalogFile) {
8893 return This->lpVtbl->GetCatalogFile(This,ppszCatalogFile);
8894}
8895static inline HRESULT ICatalogFileInfo_GetJavaTrust(ICatalogFileInfo* This,void **ppJavaTrust) {
8896 return This->lpVtbl->GetJavaTrust(This,ppJavaTrust);
8897}
8898#endif
8899#endif
8900
8901#endif
8902
8903
8904#endif /* __ICatalogFileInfo_INTERFACE_DEFINED__ */
8905
8906#endif
8907
8908#ifndef _LPDATAFILTER_DEFINED
8909#define _LPDATAFILTER_DEFINED
8910
8911/*****************************************************************************
8912 * IDataFilter interface
8913 */
8914#ifndef __IDataFilter_INTERFACE_DEFINED__
8915#define __IDataFilter_INTERFACE_DEFINED__
8916
8917typedef IDataFilter *LPDATAFILTER;
8918
8919DEFINE_GUID(IID_IDataFilter, 0x69d14c80, 0xc18e, 0x11d0, 0xa9,0xce, 0x00,0x60,0x97,0x94,0x23,0x11);
8920#if defined(__cplusplus) && !defined(CINTERFACE)
8921MIDL_INTERFACE("69d14c80-c18e-11d0-a9ce-006097942311")
8922IDataFilter : public IUnknown
8923{
8924 virtual HRESULT STDMETHODCALLTYPE DoEncode(
8925 DWORD dwFlags,
8926 LONG lInBufferSize,
8927 BYTE *pbInBuffer,
8928 LONG lOutBufferSize,
8929 BYTE *pbOutBuffer,
8930 LONG lInBytesAvailable,
8931 LONG *plInBytesRead,
8932 LONG *plOutBytesWritten,
8933 DWORD dwReserved) = 0;
8934
8935 virtual HRESULT STDMETHODCALLTYPE DoDecode(
8936 DWORD dwFlags,
8937 LONG lInBufferSize,
8938 BYTE *pbInBuffer,
8939 LONG lOutBufferSize,
8940 BYTE *pbOutBuffer,
8941 LONG lInBytesAvailable,
8942 LONG *plInBytesRead,
8943 LONG *plOutBytesWritten,
8944 DWORD dwReserved) = 0;
8945
8946 virtual HRESULT STDMETHODCALLTYPE SetEncodingLevel(
8947 DWORD dwEncLevel) = 0;
8948
8949};
8950#ifdef __CRT_UUID_DECL
8951__CRT_UUID_DECL(IDataFilter, 0x69d14c80, 0xc18e, 0x11d0, 0xa9,0xce, 0x00,0x60,0x97,0x94,0x23,0x11)
8952#endif
8953#else
8954typedef struct IDataFilterVtbl {
8955 BEGIN_INTERFACE
8956
8957 /*** IUnknown methods ***/
8958 HRESULT (STDMETHODCALLTYPE *QueryInterface)(
8959 IDataFilter *This,
8960 REFIID riid,
8961 void **ppvObject);
8962
8963 ULONG (STDMETHODCALLTYPE *AddRef)(
8964 IDataFilter *This);
8965
8966 ULONG (STDMETHODCALLTYPE *Release)(
8967 IDataFilter *This);
8968
8969 /*** IDataFilter methods ***/
8970 HRESULT (STDMETHODCALLTYPE *DoEncode)(
8971 IDataFilter *This,
8972 DWORD dwFlags,
8973 LONG lInBufferSize,
8974 BYTE *pbInBuffer,
8975 LONG lOutBufferSize,
8976 BYTE *pbOutBuffer,
8977 LONG lInBytesAvailable,
8978 LONG *plInBytesRead,
8979 LONG *plOutBytesWritten,
8980 DWORD dwReserved);
8981
8982 HRESULT (STDMETHODCALLTYPE *DoDecode)(
8983 IDataFilter *This,
8984 DWORD dwFlags,
8985 LONG lInBufferSize,
8986 BYTE *pbInBuffer,
8987 LONG lOutBufferSize,
8988 BYTE *pbOutBuffer,
8989 LONG lInBytesAvailable,
8990 LONG *plInBytesRead,
8991 LONG *plOutBytesWritten,
8992 DWORD dwReserved);
8993
8994 HRESULT (STDMETHODCALLTYPE *SetEncodingLevel)(
8995 IDataFilter *This,
8996 DWORD dwEncLevel);
8997
8998 END_INTERFACE
8999} IDataFilterVtbl;
9000
9001interface IDataFilter {
9002 CONST_VTBL IDataFilterVtbl* lpVtbl;
9003};
9004
9005#ifdef COBJMACROS
9006#ifndef WIDL_C_INLINE_WRAPPERS
9007/*** IUnknown methods ***/
9008#define IDataFilter_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject)
9009#define IDataFilter_AddRef(This) (This)->lpVtbl->AddRef(This)
9010#define IDataFilter_Release(This) (This)->lpVtbl->Release(This)
9011/*** IDataFilter methods ***/
9012#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)
9013#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)
9014#define IDataFilter_SetEncodingLevel(This,dwEncLevel) (This)->lpVtbl->SetEncodingLevel(This,dwEncLevel)
9015#else
9016/*** IUnknown methods ***/
9017static inline HRESULT IDataFilter_QueryInterface(IDataFilter* This,REFIID riid,void **ppvObject) {
9018 return This->lpVtbl->QueryInterface(This,riid,ppvObject);
9019}
9020static inline ULONG IDataFilter_AddRef(IDataFilter* This) {
9021 return This->lpVtbl->AddRef(This);
9022}
9023static inline ULONG IDataFilter_Release(IDataFilter* This) {
9024 return This->lpVtbl->Release(This);
9025}
9026/*** IDataFilter methods ***/
9027static inline HRESULT IDataFilter_DoEncode(IDataFilter* This,DWORD dwFlags,LONG lInBufferSize,BYTE *pbInBuffer,LONG lOutBufferSize,BYTE *pbOutBuffer,LONG lInBytesAvailable,LONG *plInBytesRead,LONG *plOutBytesWritten,DWORD dwReserved) {
9028 return This->lpVtbl->DoEncode(This,dwFlags,lInBufferSize,pbInBuffer,lOutBufferSize,pbOutBuffer,lInBytesAvailable,plInBytesRead,plOutBytesWritten,dwReserved);
9029}
9030static inline HRESULT IDataFilter_DoDecode(IDataFilter* This,DWORD dwFlags,LONG lInBufferSize,BYTE *pbInBuffer,LONG lOutBufferSize,BYTE *pbOutBuffer,LONG lInBytesAvailable,LONG *plInBytesRead,LONG *plOutBytesWritten,DWORD dwReserved) {
9031 return This->lpVtbl->DoDecode(This,dwFlags,lInBufferSize,pbInBuffer,lOutBufferSize,pbOutBuffer,lInBytesAvailable,plInBytesRead,plOutBytesWritten,dwReserved);
9032}
9033static inline HRESULT IDataFilter_SetEncodingLevel(IDataFilter* This,DWORD dwEncLevel) {
9034 return This->lpVtbl->SetEncodingLevel(This,dwEncLevel);
9035}
9036#endif
9037#endif
9038
9039#endif
9040
9041
9042#endif /* __IDataFilter_INTERFACE_DEFINED__ */
9043
9044#endif
9045
9046#ifndef _LPENCODINGFILTERFACTORY_DEFINED
9047#define _LPENCODINGFILTERFACTORY_DEFINED
9048
9049typedef struct _tagPROTOCOLFILTERDATA {
9050 DWORD cbSize;
9051 IInternetProtocolSink *pProtocolSink;
9052 IInternetProtocol *pProtocol;
9053 IUnknown *pUnk;
9054 DWORD dwFilterFlags;
9055} PROTOCOLFILTERDATA;
9056
9057/*****************************************************************************
9058 * IEncodingFilterFactory interface
9059 */
9060#ifndef __IEncodingFilterFactory_INTERFACE_DEFINED__
9061#define __IEncodingFilterFactory_INTERFACE_DEFINED__
9062
9063typedef IEncodingFilterFactory *LPENCODINGFILTERFACTORY;
9064
9065typedef struct _tagDATAINFO {
9066 ULONG ulTotalSize;
9067 ULONG ulavrPacketSize;
9068 ULONG ulConnectSpeed;
9069 ULONG ulProcessorSpeed;
9070} DATAINFO;
9071
9072DEFINE_GUID(IID_IEncodingFilterFactory, 0x70bdde00, 0xc18e, 0x11d0, 0xa9,0xce, 0x00,0x60,0x97,0x94,0x23,0x11);
9073#if defined(__cplusplus) && !defined(CINTERFACE)
9074MIDL_INTERFACE("70bdde00-c18e-11d0-a9ce-006097942311")
9075IEncodingFilterFactory : public IUnknown
9076{
9077 virtual HRESULT STDMETHODCALLTYPE FindBestFilter(
9078 LPCWSTR pwzCodeIn,
9079 LPCWSTR pwzCodeOut,
9080 DATAINFO info,
9081 IDataFilter **ppDF) = 0;
9082
9083 virtual HRESULT STDMETHODCALLTYPE GetDefaultFilter(
9084 LPCWSTR pwzCodeIn,
9085 LPCWSTR pwzCodeOut,
9086 IDataFilter **ppDF) = 0;
9087
9088};
9089#ifdef __CRT_UUID_DECL
9090__CRT_UUID_DECL(IEncodingFilterFactory, 0x70bdde00, 0xc18e, 0x11d0, 0xa9,0xce, 0x00,0x60,0x97,0x94,0x23,0x11)
9091#endif
9092#else
9093typedef struct IEncodingFilterFactoryVtbl {
9094 BEGIN_INTERFACE
9095
9096 /*** IUnknown methods ***/
9097 HRESULT (STDMETHODCALLTYPE *QueryInterface)(
9098 IEncodingFilterFactory *This,
9099 REFIID riid,
9100 void **ppvObject);
9101
9102 ULONG (STDMETHODCALLTYPE *AddRef)(
9103 IEncodingFilterFactory *This);
9104
9105 ULONG (STDMETHODCALLTYPE *Release)(
9106 IEncodingFilterFactory *This);
9107
9108 /*** IEncodingFilterFactory methods ***/
9109 HRESULT (STDMETHODCALLTYPE *FindBestFilter)(
9110 IEncodingFilterFactory *This,
9111 LPCWSTR pwzCodeIn,
9112 LPCWSTR pwzCodeOut,
9113 DATAINFO info,
9114 IDataFilter **ppDF);
9115
9116 HRESULT (STDMETHODCALLTYPE *GetDefaultFilter)(
9117 IEncodingFilterFactory *This,
9118 LPCWSTR pwzCodeIn,
9119 LPCWSTR pwzCodeOut,
9120 IDataFilter **ppDF);
9121
9122 END_INTERFACE
9123} IEncodingFilterFactoryVtbl;
9124
9125interface IEncodingFilterFactory {
9126 CONST_VTBL IEncodingFilterFactoryVtbl* lpVtbl;
9127};
9128
9129#ifdef COBJMACROS
9130#ifndef WIDL_C_INLINE_WRAPPERS
9131/*** IUnknown methods ***/
9132#define IEncodingFilterFactory_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject)
9133#define IEncodingFilterFactory_AddRef(This) (This)->lpVtbl->AddRef(This)
9134#define IEncodingFilterFactory_Release(This) (This)->lpVtbl->Release(This)
9135/*** IEncodingFilterFactory methods ***/
9136#define IEncodingFilterFactory_FindBestFilter(This,pwzCodeIn,pwzCodeOut,info,ppDF) (This)->lpVtbl->FindBestFilter(This,pwzCodeIn,pwzCodeOut,info,ppDF)
9137#define IEncodingFilterFactory_GetDefaultFilter(This,pwzCodeIn,pwzCodeOut,ppDF) (This)->lpVtbl->GetDefaultFilter(This,pwzCodeIn,pwzCodeOut,ppDF)
9138#else
9139/*** IUnknown methods ***/
9140static inline HRESULT IEncodingFilterFactory_QueryInterface(IEncodingFilterFactory* This,REFIID riid,void **ppvObject) {
9141 return This->lpVtbl->QueryInterface(This,riid,ppvObject);
9142}
9143static inline ULONG IEncodingFilterFactory_AddRef(IEncodingFilterFactory* This) {
9144 return This->lpVtbl->AddRef(This);
9145}
9146static inline ULONG IEncodingFilterFactory_Release(IEncodingFilterFactory* This) {
9147 return This->lpVtbl->Release(This);
9148}
9149/*** IEncodingFilterFactory methods ***/
9150static inline HRESULT IEncodingFilterFactory_FindBestFilter(IEncodingFilterFactory* This,LPCWSTR pwzCodeIn,LPCWSTR pwzCodeOut,DATAINFO info,IDataFilter **ppDF) {
9151 return This->lpVtbl->FindBestFilter(This,pwzCodeIn,pwzCodeOut,info,ppDF);
9152}
9153static inline HRESULT IEncodingFilterFactory_GetDefaultFilter(IEncodingFilterFactory* This,LPCWSTR pwzCodeIn,LPCWSTR pwzCodeOut,IDataFilter **ppDF) {
9154 return This->lpVtbl->GetDefaultFilter(This,pwzCodeIn,pwzCodeOut,ppDF);
9155}
9156#endif
9157#endif
9158
9159#endif
9160
9161
9162#endif /* __IEncodingFilterFactory_INTERFACE_DEFINED__ */
9163
9164#endif
9165
9166#ifndef _HITLOGGING_DEFINED
9167#define _HITLOGGING_DEFINED
9168
9169WINBOOL WINAPI IsLoggingEnabledA(LPCSTR pszUrl);
9170WINBOOL WINAPI IsLoggingEnabledW(LPCWSTR pwszUrl);
9171
9172#define IsLoggingEnabled __MINGW_NAME_AW(IsLoggingEnabled)
9173typedef struct _tagHIT_LOGGING_INFO {
9174 DWORD dwStructSize;
9175 LPSTR lpszLoggedUrlName;
9176 SYSTEMTIME StartTime;
9177 SYSTEMTIME EndTime;
9178 LPSTR lpszExtendedInfo;
9179} HIT_LOGGING_INFO;
9180typedef struct _tagHIT_LOGGING_INFO *LPHIT_LOGGING_INFO;
9181
9182WINBOOL WINAPI WriteHitLogging(LPHIT_LOGGING_INFO lpLogginginfo);
9183
9184#define CONFIRMSAFETYACTION_LOADOBJECT 0x1
9185
9186struct CONFIRMSAFETY {
9187 CLSID clsid;
9188 IUnknown *pUnk;
9189 DWORD dwFlags;
9190};
9191
9192EXTERN_C const GUID GUID_CUSTOM_CONFIRMOBJECTSAFETY;
9193#endif
9194
9195#ifndef _LPIWRAPPEDPROTOCOL_DEFINED
9196#define _LPIWRAPPEDPROTOCOL_DEFINED
9197
9198/*****************************************************************************
9199 * IWrappedProtocol interface
9200 */
9201#ifndef __IWrappedProtocol_INTERFACE_DEFINED__
9202#define __IWrappedProtocol_INTERFACE_DEFINED__
9203
9204typedef IWrappedProtocol *LPIWRAPPEDPROTOCOL;
9205
9206DEFINE_GUID(IID_IWrappedProtocol, 0x53c84785, 0x8425, 0x4dc5, 0x97,0x1b, 0xe5,0x8d,0x9c,0x19,0xf9,0xb6);
9207#if defined(__cplusplus) && !defined(CINTERFACE)
9208MIDL_INTERFACE("53c84785-8425-4dc5-971b-e58d9c19f9b6")
9209IWrappedProtocol : public IUnknown
9210{
9211 virtual HRESULT STDMETHODCALLTYPE GetWrapperCode(
9212 LONG *pnCode,
9213 DWORD_PTR dwReserved) = 0;
9214
9215};
9216#ifdef __CRT_UUID_DECL
9217__CRT_UUID_DECL(IWrappedProtocol, 0x53c84785, 0x8425, 0x4dc5, 0x97,0x1b, 0xe5,0x8d,0x9c,0x19,0xf9,0xb6)
9218#endif
9219#else
9220typedef struct IWrappedProtocolVtbl {
9221 BEGIN_INTERFACE
9222
9223 /*** IUnknown methods ***/
9224 HRESULT (STDMETHODCALLTYPE *QueryInterface)(
9225 IWrappedProtocol *This,
9226 REFIID riid,
9227 void **ppvObject);
9228
9229 ULONG (STDMETHODCALLTYPE *AddRef)(
9230 IWrappedProtocol *This);
9231
9232 ULONG (STDMETHODCALLTYPE *Release)(
9233 IWrappedProtocol *This);
9234
9235 /*** IWrappedProtocol methods ***/
9236 HRESULT (STDMETHODCALLTYPE *GetWrapperCode)(
9237 IWrappedProtocol *This,
9238 LONG *pnCode,
9239 DWORD_PTR dwReserved);
9240
9241 END_INTERFACE
9242} IWrappedProtocolVtbl;
9243
9244interface IWrappedProtocol {
9245 CONST_VTBL IWrappedProtocolVtbl* lpVtbl;
9246};
9247
9248#ifdef COBJMACROS
9249#ifndef WIDL_C_INLINE_WRAPPERS
9250/*** IUnknown methods ***/
9251#define IWrappedProtocol_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject)
9252#define IWrappedProtocol_AddRef(This) (This)->lpVtbl->AddRef(This)
9253#define IWrappedProtocol_Release(This) (This)->lpVtbl->Release(This)
9254/*** IWrappedProtocol methods ***/
9255#define IWrappedProtocol_GetWrapperCode(This,pnCode,dwReserved) (This)->lpVtbl->GetWrapperCode(This,pnCode,dwReserved)
9256#else
9257/*** IUnknown methods ***/
9258static inline HRESULT IWrappedProtocol_QueryInterface(IWrappedProtocol* This,REFIID riid,void **ppvObject) {
9259 return This->lpVtbl->QueryInterface(This,riid,ppvObject);
9260}
9261static inline ULONG IWrappedProtocol_AddRef(IWrappedProtocol* This) {
9262 return This->lpVtbl->AddRef(This);
9263}
9264static inline ULONG IWrappedProtocol_Release(IWrappedProtocol* This) {
9265 return This->lpVtbl->Release(This);
9266}
9267/*** IWrappedProtocol methods ***/
9268static inline HRESULT IWrappedProtocol_GetWrapperCode(IWrappedProtocol* This,LONG *pnCode,DWORD_PTR dwReserved) {
9269 return This->lpVtbl->GetWrapperCode(This,pnCode,dwReserved);
9270}
9271#endif
9272#endif
9273
9274#endif
9275
9276
9277#endif /* __IWrappedProtocol_INTERFACE_DEFINED__ */
9278
9279#endif
9280
9281#ifndef _LPGETBINDHANDLE_DEFINED
9282#define _LPGETBINDHANDLE_DEFINED
9283
9284/*****************************************************************************
9285 * IGetBindHandle interface
9286 */
9287#ifndef __IGetBindHandle_INTERFACE_DEFINED__
9288#define __IGetBindHandle_INTERFACE_DEFINED__
9289
9290typedef IGetBindHandle *LPGETBINDHANDLE;
9291
9292typedef enum __WIDL_urlmon_generated_name_0000001F {
9293 BINDHANDLETYPES_APPCACHE = 0x0,
9294 BINDHANDLETYPES_DEPENDENCY = 0x1,
9295 BINDHANDLETYPES_COUNT = 0x2
9296} BINDHANDLETYPES;
9297
9298DEFINE_GUID(IID_IGetBindHandle, 0xaf0ff408, 0x129d, 0x4b20, 0x91,0xf0, 0x02,0xbd,0x23,0xd8,0x83,0x52);
9299#if defined(__cplusplus) && !defined(CINTERFACE)
9300MIDL_INTERFACE("af0ff408-129d-4b20-91f0-02bd23d88352")
9301IGetBindHandle : public IUnknown
9302{
9303 virtual HRESULT STDMETHODCALLTYPE GetBindHandle(
9304 BINDHANDLETYPES enumRequestedHandle,
9305 HANDLE *pRetHandle) = 0;
9306
9307};
9308#ifdef __CRT_UUID_DECL
9309__CRT_UUID_DECL(IGetBindHandle, 0xaf0ff408, 0x129d, 0x4b20, 0x91,0xf0, 0x02,0xbd,0x23,0xd8,0x83,0x52)
9310#endif
9311#else
9312typedef struct IGetBindHandleVtbl {
9313 BEGIN_INTERFACE
9314
9315 /*** IUnknown methods ***/
9316 HRESULT (STDMETHODCALLTYPE *QueryInterface)(
9317 IGetBindHandle *This,
9318 REFIID riid,
9319 void **ppvObject);
9320
9321 ULONG (STDMETHODCALLTYPE *AddRef)(
9322 IGetBindHandle *This);
9323
9324 ULONG (STDMETHODCALLTYPE *Release)(
9325 IGetBindHandle *This);
9326
9327 /*** IGetBindHandle methods ***/
9328 HRESULT (STDMETHODCALLTYPE *GetBindHandle)(
9329 IGetBindHandle *This,
9330 BINDHANDLETYPES enumRequestedHandle,
9331 HANDLE *pRetHandle);
9332
9333 END_INTERFACE
9334} IGetBindHandleVtbl;
9335
9336interface IGetBindHandle {
9337 CONST_VTBL IGetBindHandleVtbl* lpVtbl;
9338};
9339
9340#ifdef COBJMACROS
9341#ifndef WIDL_C_INLINE_WRAPPERS
9342/*** IUnknown methods ***/
9343#define IGetBindHandle_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject)
9344#define IGetBindHandle_AddRef(This) (This)->lpVtbl->AddRef(This)
9345#define IGetBindHandle_Release(This) (This)->lpVtbl->Release(This)
9346/*** IGetBindHandle methods ***/
9347#define IGetBindHandle_GetBindHandle(This,enumRequestedHandle,pRetHandle) (This)->lpVtbl->GetBindHandle(This,enumRequestedHandle,pRetHandle)
9348#else
9349/*** IUnknown methods ***/
9350static inline HRESULT IGetBindHandle_QueryInterface(IGetBindHandle* This,REFIID riid,void **ppvObject) {
9351 return This->lpVtbl->QueryInterface(This,riid,ppvObject);
9352}
9353static inline ULONG IGetBindHandle_AddRef(IGetBindHandle* This) {
9354 return This->lpVtbl->AddRef(This);
9355}
9356static inline ULONG IGetBindHandle_Release(IGetBindHandle* This) {
9357 return This->lpVtbl->Release(This);
9358}
9359/*** IGetBindHandle methods ***/
9360static inline HRESULT IGetBindHandle_GetBindHandle(IGetBindHandle* This,BINDHANDLETYPES enumRequestedHandle,HANDLE *pRetHandle) {
9361 return This->lpVtbl->GetBindHandle(This,enumRequestedHandle,pRetHandle);
9362}
9363#endif
9364#endif
9365
9366#endif
9367
9368
9369#endif /* __IGetBindHandle_INTERFACE_DEFINED__ */
9370
9371#endif
9372
9373#ifndef _XHRPLUGGABLEPROTOCOL_DEFINED
9374#define _XHRPLUGGABLEPROTOCOL_DEFINED
9375
9376typedef struct _tagPROTOCOL_ARGUMENT {
9377 LPCWSTR szMethod;
9378 LPCWSTR szTargetUrl;
9379} PROTOCOL_ARGUMENT;
9380typedef struct _tagPROTOCOL_ARGUMENT *LPPROTOCOL_ARGUMENT;
9381#endif
9382
9383#ifndef _LPBINDCALLBACKREDIRECT_DEFINED
9384#define _LPBINDCALLBACKREDIRECT_DEFINED
9385
9386/*****************************************************************************
9387 * IBindCallbackRedirect interface
9388 */
9389#ifndef __IBindCallbackRedirect_INTERFACE_DEFINED__
9390#define __IBindCallbackRedirect_INTERFACE_DEFINED__
9391
9392typedef IBindCallbackRedirect *LPBINDCALLBACKREDIRECT;
9393
9394DEFINE_GUID(IID_IBindCallbackRedirect, 0x11c81bc2, 0x121e, 0x4ed5, 0xb9,0xc4, 0xb4,0x30,0xbd,0x54,0xf2,0xc0);
9395#if defined(__cplusplus) && !defined(CINTERFACE)
9396MIDL_INTERFACE("11c81bc2-121e-4ed5-b9c4-b430bd54f2c0")
9397IBindCallbackRedirect : public IUnknown
9398{
9399 virtual HRESULT STDMETHODCALLTYPE Redirect(
9400 LPCWSTR lpcUrl,
9401 VARIANT_BOOL *vbCancel) = 0;
9402
9403};
9404#ifdef __CRT_UUID_DECL
9405__CRT_UUID_DECL(IBindCallbackRedirect, 0x11c81bc2, 0x121e, 0x4ed5, 0xb9,0xc4, 0xb4,0x30,0xbd,0x54,0xf2,0xc0)
9406#endif
9407#else
9408typedef struct IBindCallbackRedirectVtbl {
9409 BEGIN_INTERFACE
9410
9411 /*** IUnknown methods ***/
9412 HRESULT (STDMETHODCALLTYPE *QueryInterface)(
9413 IBindCallbackRedirect *This,
9414 REFIID riid,
9415 void **ppvObject);
9416
9417 ULONG (STDMETHODCALLTYPE *AddRef)(
9418 IBindCallbackRedirect *This);
9419
9420 ULONG (STDMETHODCALLTYPE *Release)(
9421 IBindCallbackRedirect *This);
9422
9423 /*** IBindCallbackRedirect methods ***/
9424 HRESULT (STDMETHODCALLTYPE *Redirect)(
9425 IBindCallbackRedirect *This,
9426 LPCWSTR lpcUrl,
9427 VARIANT_BOOL *vbCancel);
9428
9429 END_INTERFACE
9430} IBindCallbackRedirectVtbl;
9431
9432interface IBindCallbackRedirect {
9433 CONST_VTBL IBindCallbackRedirectVtbl* lpVtbl;
9434};
9435
9436#ifdef COBJMACROS
9437#ifndef WIDL_C_INLINE_WRAPPERS
9438/*** IUnknown methods ***/
9439#define IBindCallbackRedirect_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject)
9440#define IBindCallbackRedirect_AddRef(This) (This)->lpVtbl->AddRef(This)
9441#define IBindCallbackRedirect_Release(This) (This)->lpVtbl->Release(This)
9442/*** IBindCallbackRedirect methods ***/
9443#define IBindCallbackRedirect_Redirect(This,lpcUrl,vbCancel) (This)->lpVtbl->Redirect(This,lpcUrl,vbCancel)
9444#else
9445/*** IUnknown methods ***/
9446static inline HRESULT IBindCallbackRedirect_QueryInterface(IBindCallbackRedirect* This,REFIID riid,void **ppvObject) {
9447 return This->lpVtbl->QueryInterface(This,riid,ppvObject);
9448}
9449static inline ULONG IBindCallbackRedirect_AddRef(IBindCallbackRedirect* This) {
9450 return This->lpVtbl->AddRef(This);
9451}
9452static inline ULONG IBindCallbackRedirect_Release(IBindCallbackRedirect* This) {
9453 return This->lpVtbl->Release(This);
9454}
9455/*** IBindCallbackRedirect methods ***/
9456static inline HRESULT IBindCallbackRedirect_Redirect(IBindCallbackRedirect* This,LPCWSTR lpcUrl,VARIANT_BOOL *vbCancel) {
9457 return This->lpVtbl->Redirect(This,lpcUrl,vbCancel);
9458}
9459#endif
9460#endif
9461
9462#endif
9463
9464
9465#endif /* __IBindCallbackRedirect_INTERFACE_DEFINED__ */
9466
9467#endif
9468
9469#endif
9470/* Begin additional prototypes for all interfaces */
9471
9472ULONG __RPC_USER STGMEDIUM_UserSize (ULONG *, ULONG, STGMEDIUM *);
9473unsigned char * __RPC_USER STGMEDIUM_UserMarshal (ULONG *, unsigned char *, STGMEDIUM *);
9474unsigned char * __RPC_USER STGMEDIUM_UserUnmarshal(ULONG *, unsigned char *, STGMEDIUM *);
9475void __RPC_USER STGMEDIUM_UserFree (ULONG *, STGMEDIUM *);
9476ULONG __RPC_USER CLIPFORMAT_UserSize (ULONG *, ULONG, CLIPFORMAT *);
9477unsigned char * __RPC_USER CLIPFORMAT_UserMarshal (ULONG *, unsigned char *, CLIPFORMAT *);
9478unsigned char * __RPC_USER CLIPFORMAT_UserUnmarshal(ULONG *, unsigned char *, CLIPFORMAT *);
9479void __RPC_USER CLIPFORMAT_UserFree (ULONG *, CLIPFORMAT *);
9480ULONG __RPC_USER HWND_UserSize (ULONG *, ULONG, HWND *);
9481unsigned char * __RPC_USER HWND_UserMarshal (ULONG *, unsigned char *, HWND *);
9482unsigned char * __RPC_USER HWND_UserUnmarshal(ULONG *, unsigned char *, HWND *);
9483void __RPC_USER HWND_UserFree (ULONG *, HWND *);
9484ULONG __RPC_USER BSTR_UserSize (ULONG *, ULONG, BSTR *);
9485unsigned char * __RPC_USER BSTR_UserMarshal (ULONG *, unsigned char *, BSTR *);
9486unsigned char * __RPC_USER BSTR_UserUnmarshal(ULONG *, unsigned char *, BSTR *);
9487void __RPC_USER BSTR_UserFree (ULONG *, BSTR *);
9488
9489/* End additional prototypes */
9490
9491#ifdef __cplusplus
9492}
9493#endif
9494
9495#endif /* __urlmon_h__ */