home *** CD-ROM | disk | FTP | other *** search
/ PC Format (South-Africa) 2001 May / PCFMay2001.iso / Xenon / C++ / FreeCommandLineTools.exe / Include / urlmon.h < prev    next >
Encoding:
C/C++ Source or Header  |  2000-01-31  |  228.2 KB  |  6,736 lines

  1. #pragma option push -b -a8 -pc -A- /*P_O_Push*/
  2.  
  3. #pragma warning( disable: 4049 )  /* more than 64k source lines */
  4.  
  5. /* this ALWAYS GENERATED file contains the definitions for the interfaces */
  6.  
  7.  
  8.  /* File created by MIDL compiler version 5.03.0279 */
  9. /* at Fri Jul 30 19:36:57 1999
  10.  */
  11. /* Compiler settings for urlmon.idl:
  12.     Oicf (OptLev=i2), W1, Zp8, env=Win32 (32b run), ms_ext, c_ext
  13.     error checks: allocation ref bounds_check enum stub_data 
  14.     VC __declspec() decoration level: 
  15.          __declspec(uuid()), __declspec(selectany), __declspec(novtable)
  16.          DECLSPEC_UUID(), MIDL_INTERFACE()
  17. */
  18. //@@MIDL_FILE_HEADING(  )
  19.  
  20.  
  21. /* verify that the <rpcndr.h> version is high enough to compile this file*/
  22. #ifndef __REQUIRED_RPCNDR_H_VERSION__
  23. #define __REQUIRED_RPCNDR_H_VERSION__ 440
  24. #endif
  25.  
  26. #include "rpc.h"
  27. #include "rpcndr.h"
  28.  
  29. #ifndef __RPCNDR_H_VERSION__
  30. #error this stub requires an updated version of <rpcndr.h>
  31. #endif // __RPCNDR_H_VERSION__
  32.  
  33. #ifndef COM_NO_WINDOWS_H
  34. #include "windows.h"
  35. #include "ole2.h"
  36. #endif /*COM_NO_WINDOWS_H*/
  37.  
  38. #ifndef __urlmon_h__
  39. #define __urlmon_h__
  40.  
  41. /* Forward Declarations */ 
  42.  
  43. #ifndef __IPersistMoniker_FWD_DEFINED__
  44. #define __IPersistMoniker_FWD_DEFINED__
  45. typedef interface IPersistMoniker IPersistMoniker;
  46. #endif     /* __IPersistMoniker_FWD_DEFINED__ */
  47.  
  48.  
  49. #ifndef __IBindProtocol_FWD_DEFINED__
  50. #define __IBindProtocol_FWD_DEFINED__
  51. typedef interface IBindProtocol IBindProtocol;
  52. #endif     /* __IBindProtocol_FWD_DEFINED__ */
  53.  
  54.  
  55. #ifndef __IBinding_FWD_DEFINED__
  56. #define __IBinding_FWD_DEFINED__
  57. typedef interface IBinding IBinding;
  58. #endif     /* __IBinding_FWD_DEFINED__ */
  59.  
  60.  
  61. #ifndef __IBindStatusCallback_FWD_DEFINED__
  62. #define __IBindStatusCallback_FWD_DEFINED__
  63. typedef interface IBindStatusCallback IBindStatusCallback;
  64. #endif     /* __IBindStatusCallback_FWD_DEFINED__ */
  65.  
  66.  
  67. #ifndef __IAuthenticate_FWD_DEFINED__
  68. #define __IAuthenticate_FWD_DEFINED__
  69. typedef interface IAuthenticate IAuthenticate;
  70. #endif     /* __IAuthenticate_FWD_DEFINED__ */
  71.  
  72.  
  73. #ifndef __IHttpNegotiate_FWD_DEFINED__
  74. #define __IHttpNegotiate_FWD_DEFINED__
  75. typedef interface IHttpNegotiate IHttpNegotiate;
  76. #endif     /* __IHttpNegotiate_FWD_DEFINED__ */
  77.  
  78.  
  79. #ifndef __IWindowForBindingUI_FWD_DEFINED__
  80. #define __IWindowForBindingUI_FWD_DEFINED__
  81. typedef interface IWindowForBindingUI IWindowForBindingUI;
  82. #endif     /* __IWindowForBindingUI_FWD_DEFINED__ */
  83.  
  84.  
  85. #ifndef __ICodeInstall_FWD_DEFINED__
  86. #define __ICodeInstall_FWD_DEFINED__
  87. typedef interface ICodeInstall ICodeInstall;
  88. #endif     /* __ICodeInstall_FWD_DEFINED__ */
  89.  
  90.  
  91. #ifndef __IWinInetInfo_FWD_DEFINED__
  92. #define __IWinInetInfo_FWD_DEFINED__
  93. typedef interface IWinInetInfo IWinInetInfo;
  94. #endif     /* __IWinInetInfo_FWD_DEFINED__ */
  95.  
  96.  
  97. #ifndef __IHttpSecurity_FWD_DEFINED__
  98. #define __IHttpSecurity_FWD_DEFINED__
  99. typedef interface IHttpSecurity IHttpSecurity;
  100. #endif     /* __IHttpSecurity_FWD_DEFINED__ */
  101.  
  102.  
  103. #ifndef __IWinInetHttpInfo_FWD_DEFINED__
  104. #define __IWinInetHttpInfo_FWD_DEFINED__
  105. typedef interface IWinInetHttpInfo IWinInetHttpInfo;
  106. #endif     /* __IWinInetHttpInfo_FWD_DEFINED__ */
  107.  
  108.  
  109. #ifndef __IBindHost_FWD_DEFINED__
  110. #define __IBindHost_FWD_DEFINED__
  111. typedef interface IBindHost IBindHost;
  112. #endif     /* __IBindHost_FWD_DEFINED__ */
  113.  
  114.  
  115. #ifndef __IInternet_FWD_DEFINED__
  116. #define __IInternet_FWD_DEFINED__
  117. typedef interface IInternet IInternet;
  118. #endif     /* __IInternet_FWD_DEFINED__ */
  119.  
  120.  
  121. #ifndef __IInternetBindInfo_FWD_DEFINED__
  122. #define __IInternetBindInfo_FWD_DEFINED__
  123. typedef interface IInternetBindInfo IInternetBindInfo;
  124. #endif     /* __IInternetBindInfo_FWD_DEFINED__ */
  125.  
  126.  
  127. #ifndef __IInternetProtocolRoot_FWD_DEFINED__
  128. #define __IInternetProtocolRoot_FWD_DEFINED__
  129. typedef interface IInternetProtocolRoot IInternetProtocolRoot;
  130. #endif     /* __IInternetProtocolRoot_FWD_DEFINED__ */
  131.  
  132.  
  133. #ifndef __IInternetProtocol_FWD_DEFINED__
  134. #define __IInternetProtocol_FWD_DEFINED__
  135. typedef interface IInternetProtocol IInternetProtocol;
  136. #endif     /* __IInternetProtocol_FWD_DEFINED__ */
  137.  
  138.  
  139. #ifndef __IInternetProtocolSink_FWD_DEFINED__
  140. #define __IInternetProtocolSink_FWD_DEFINED__
  141. typedef interface IInternetProtocolSink IInternetProtocolSink;
  142. #endif     /* __IInternetProtocolSink_FWD_DEFINED__ */
  143.  
  144.  
  145. #ifndef __IInternetProtocolSinkStackable_FWD_DEFINED__
  146. #define __IInternetProtocolSinkStackable_FWD_DEFINED__
  147. typedef interface IInternetProtocolSinkStackable IInternetProtocolSinkStackable;
  148. #endif     /* __IInternetProtocolSinkStackable_FWD_DEFINED__ */
  149.  
  150.  
  151. #ifndef __IInternetSession_FWD_DEFINED__
  152. #define __IInternetSession_FWD_DEFINED__
  153. typedef interface IInternetSession IInternetSession;
  154. #endif     /* __IInternetSession_FWD_DEFINED__ */
  155.  
  156.  
  157. #ifndef __IInternetThreadSwitch_FWD_DEFINED__
  158. #define __IInternetThreadSwitch_FWD_DEFINED__
  159. typedef interface IInternetThreadSwitch IInternetThreadSwitch;
  160. #endif     /* __IInternetThreadSwitch_FWD_DEFINED__ */
  161.  
  162.  
  163. #ifndef __IInternetPriority_FWD_DEFINED__
  164. #define __IInternetPriority_FWD_DEFINED__
  165. typedef interface IInternetPriority IInternetPriority;
  166. #endif     /* __IInternetPriority_FWD_DEFINED__ */
  167.  
  168.  
  169. #ifndef __IInternetProtocolInfo_FWD_DEFINED__
  170. #define __IInternetProtocolInfo_FWD_DEFINED__
  171. typedef interface IInternetProtocolInfo IInternetProtocolInfo;
  172. #endif     /* __IInternetProtocolInfo_FWD_DEFINED__ */
  173.  
  174.  
  175. #ifndef __IInternetSecurityMgrSite_FWD_DEFINED__
  176. #define __IInternetSecurityMgrSite_FWD_DEFINED__
  177. typedef interface IInternetSecurityMgrSite IInternetSecurityMgrSite;
  178. #endif     /* __IInternetSecurityMgrSite_FWD_DEFINED__ */
  179.  
  180.  
  181. #ifndef __IInternetSecurityManager_FWD_DEFINED__
  182. #define __IInternetSecurityManager_FWD_DEFINED__
  183. typedef interface IInternetSecurityManager IInternetSecurityManager;
  184. #endif     /* __IInternetSecurityManager_FWD_DEFINED__ */
  185.  
  186.  
  187. #ifndef __IInternetHostSecurityManager_FWD_DEFINED__
  188. #define __IInternetHostSecurityManager_FWD_DEFINED__
  189. typedef interface IInternetHostSecurityManager IInternetHostSecurityManager;
  190. #endif     /* __IInternetHostSecurityManager_FWD_DEFINED__ */
  191.  
  192.  
  193. #ifndef __IInternetZoneManager_FWD_DEFINED__
  194. #define __IInternetZoneManager_FWD_DEFINED__
  195. typedef interface IInternetZoneManager IInternetZoneManager;
  196. #endif     /* __IInternetZoneManager_FWD_DEFINED__ */
  197.  
  198.  
  199. #ifndef __ISoftDistExt_FWD_DEFINED__
  200. #define __ISoftDistExt_FWD_DEFINED__
  201. typedef interface ISoftDistExt ISoftDistExt;
  202. #endif     /* __ISoftDistExt_FWD_DEFINED__ */
  203.  
  204.  
  205. #ifndef __ICatalogFileInfo_FWD_DEFINED__
  206. #define __ICatalogFileInfo_FWD_DEFINED__
  207. typedef interface ICatalogFileInfo ICatalogFileInfo;
  208. #endif     /* __ICatalogFileInfo_FWD_DEFINED__ */
  209.  
  210.  
  211. #ifndef __IDataFilter_FWD_DEFINED__
  212. #define __IDataFilter_FWD_DEFINED__
  213. typedef interface IDataFilter IDataFilter;
  214. #endif     /* __IDataFilter_FWD_DEFINED__ */
  215.  
  216.  
  217. #ifndef __IEncodingFilterFactory_FWD_DEFINED__
  218. #define __IEncodingFilterFactory_FWD_DEFINED__
  219. typedef interface IEncodingFilterFactory IEncodingFilterFactory;
  220. #endif     /* __IEncodingFilterFactory_FWD_DEFINED__ */
  221.  
  222.  
  223. /* header files for imported files */
  224. #include "objidl.h"
  225. #include "oleidl.h"
  226. #include "servprov.h"
  227. #include "msxml.h"
  228.  
  229. #ifdef __cplusplus
  230. extern "C"{
  231. #endif 
  232.  
  233. void __RPC_FAR * __RPC_USER MIDL_user_allocate(size_t);
  234. void __RPC_USER MIDL_user_free( void __RPC_FAR * ); 
  235.  
  236. /* interface __MIDL_itf_urlmon_0000 */
  237. /* [local] */ 
  238.  
  239. //=--------------------------------------------------------------------------=
  240. // UrlMon.h
  241. //=--------------------------------------------------------------------------=
  242. // (C) Copyright 1995-1998 Microsoft Corporation.  All Rights Reserved.
  243. //
  244. // THIS CODE AND INFORMATION IS PROVIDED "AS IS" WITHOUT WARRANTY OF
  245. // ANY KIND, EITHER EXPRESSED OR IMPLIED, INCLUDING BUT NOT LIMITED TO
  246. // THE IMPLIED WARRANTIES OF MERCHANTABILITY AND/OR FITNESS FOR A
  247. // PARTICULAR PURPOSE.
  248. //=--------------------------------------------------------------------------=
  249.  
  250. #pragma comment(lib,"uuid.lib")
  251.  
  252. //---------------------------------------------------------------------------=
  253. // URL Moniker Interfaces.
  254.  
  255.  
  256.  
  257.  
  258.  
  259.  
  260.  
  261.  
  262.  
  263.  
  264. // These are for backwards compatibility with previous URLMON versions
  265. #define BINDF_DONTUSECACHE BINDF_GETNEWESTVERSION
  266. #define BINDF_DONTPUTINCACHE BINDF_NOWRITECACHE
  267. #define BINDF_NOCOPYDATA BINDF_PULLDATA
  268. #define PI_DOCFILECLSIDLOOKUP PI_CLSIDLOOKUP
  269. EXTERN_C const IID IID_IAsyncMoniker;    
  270. EXTERN_C const IID CLSID_StdURLMoniker;  
  271. EXTERN_C const IID CLSID_HttpProtocol;   
  272. EXTERN_C const IID CLSID_FtpProtocol;    
  273. EXTERN_C const IID CLSID_GopherProtocol; 
  274. EXTERN_C const IID CLSID_HttpSProtocol;  
  275. EXTERN_C const IID CLSID_FileProtocol;   
  276. EXTERN_C const IID CLSID_MkProtocol;     
  277. EXTERN_C const IID CLSID_StdURLProtocol; 
  278. EXTERN_C const IID CLSID_UrlMkBindCtx;   
  279. EXTERN_C const IID CLSID_StdEncodingFilterFac; 
  280. EXTERN_C const IID CLSID_DeCompMimeFilter;     
  281. EXTERN_C const IID CLSID_CdlProtocol;          
  282. EXTERN_C const IID CLSID_ClassInstallFilter;   
  283. EXTERN_C const IID IID_IAsyncBindCtx;    
  284.  
  285. #define SZ_URLCONTEXT           OLESTR("URL Context")
  286. #define SZ_ASYNC_CALLEE         OLESTR("AsyncCallee")
  287. #define MKSYS_URLMONIKER    6                 
  288.  
  289. STDAPI CreateURLMoniker(LPMONIKER pMkCtx, LPCWSTR szURL, LPMONIKER FAR * ppmk);             
  290. STDAPI GetClassURL(LPCWSTR szURL, CLSID *pClsID);                                           
  291. STDAPI CreateAsyncBindCtx(DWORD reserved, IBindStatusCallback *pBSCb,                       
  292.                                 IEnumFORMATETC *pEFetc, IBindCtx **ppBC);                   
  293. STDAPI CreateAsyncBindCtxEx(IBindCtx *pbc, DWORD dwOptions, IBindStatusCallback *pBSCb, IEnumFORMATETC *pEnum,   
  294.                             IBindCtx **ppBC, DWORD reserved);                                                     
  295. STDAPI MkParseDisplayNameEx(IBindCtx *pbc, LPCWSTR szDisplayName, ULONG *pchEaten,          
  296.                                 LPMONIKER *ppmk);                                           
  297. STDAPI RegisterBindStatusCallback(LPBC pBC, IBindStatusCallback *pBSCb,                     
  298.                                 IBindStatusCallback**  ppBSCBPrev, DWORD dwReserved);       
  299. STDAPI RevokeBindStatusCallback(LPBC pBC, IBindStatusCallback *pBSCb);                      
  300. STDAPI GetClassFileOrMime(LPBC pBC, LPCWSTR szFilename, LPVOID pBuffer, DWORD cbSize, LPCWSTR szMime, DWORD dwReserved, CLSID *pclsid); 
  301. STDAPI IsValidURL(LPBC pBC, LPCWSTR szURL, DWORD dwReserved);                               
  302. STDAPI CoGetClassObjectFromURL( REFCLSID rCLASSID,
  303.             LPCWSTR szCODE, DWORD dwFileVersionMS, 
  304.             DWORD dwFileVersionLS, LPCWSTR szTYPE,
  305.             LPBINDCTX pBindCtx, DWORD dwClsContext,
  306.             LPVOID pvReserved, REFIID riid, LPVOID * ppv);
  307. STDAPI FaultInIEFeature( HWND hWnd,
  308.             uCLSSPEC *pClassSpec,
  309.             QUERYCONTEXT *pQuery, DWORD dwFlags);                                           
  310. STDAPI GetComponentIDFromCLSSPEC(uCLSSPEC *pClassspec,
  311.              LPSTR * ppszComponentID);                                                      
  312. // flags for FaultInIEFeature
  313. #define FIEF_FLAG_FORCE_JITUI               0x1     // force JIT ui even if
  314.                                                  // previoulsy rejected by 
  315.                                                  // user in this session or
  316.                                                  // marked as Never Ask Again
  317. #define FIEF_FLAG_PEEK                      0x2     // just peek, don't faultin
  318. #define FIEF_FLAG_SKIP_INSTALLED_VERSION_CHECK        0x4     // force JIT without checking local version
  319.  
  320. //helper apis                                                                               
  321. STDAPI IsAsyncMoniker(IMoniker* pmk);                                                       
  322. STDAPI CreateURLBinding(LPCWSTR lpszUrl, IBindCtx *pbc, IBinding **ppBdg);                  
  323.  
  324. STDAPI RegisterMediaTypes(UINT ctypes, const LPCSTR* rgszTypes, CLIPFORMAT* rgcfTypes);            
  325. STDAPI FindMediaType(LPCSTR rgszTypes, CLIPFORMAT* rgcfTypes);                                       
  326. STDAPI CreateFormatEnumerator( UINT cfmtetc, FORMATETC* rgfmtetc, IEnumFORMATETC** ppenumfmtetc); 
  327. STDAPI RegisterFormatEnumerator(LPBC pBC, IEnumFORMATETC *pEFetc, DWORD reserved);          
  328. STDAPI RevokeFormatEnumerator(LPBC pBC, IEnumFORMATETC *pEFetc);                            
  329. STDAPI RegisterMediaTypeClass(LPBC pBC,UINT ctypes, const LPCSTR* rgszTypes, CLSID *rgclsID, DWORD reserved);    
  330. STDAPI FindMediaTypeClass(LPBC pBC, LPCSTR szType, CLSID *pclsID, DWORD reserved);                          
  331. STDAPI UrlMkSetSessionOption(DWORD dwOption, LPVOID pBuffer, DWORD dwBufferLength, DWORD dwReserved);       
  332. STDAPI UrlMkGetSessionOption(DWORD dwOption, LPVOID pBuffer, DWORD dwBufferLength, DWORD *pdwBufferLength, DWORD dwReserved);       
  333. STDAPI FindMimeFromData(                                                                                                                  
  334.                         LPBC pBC,                           // bind context - can be NULL                                                 
  335.                         LPCWSTR pwzUrl,                     // url - can be null                                                          
  336.                         LPVOID pBuffer,                     // buffer with data to sniff - can be null (pwzUrl must be valid)             
  337.                         DWORD cbSize,                       // size of buffer                                                             
  338.                         LPCWSTR pwzMimeProposed,            // proposed mime if - can be null                                             
  339.                         DWORD dwMimeFlags,                  // will be defined                                                            
  340.                         LPWSTR *ppwzMimeOut,                // the suggested mime                                                         
  341.                         DWORD dwReserved);                  // must be 0                                                                  
  342. #define     FMFD_DEFAULT        0x00000000 
  343. #define     FMFD_URLASFILENAME  0x00000001 
  344. STDAPI ObtainUserAgentString(DWORD dwOption, LPSTR pszUAOut, DWORD* cbSize);       
  345.  
  346. // URLMON-specific defines for UrlMkSetSessionOption() above
  347. #define URLMON_OPTION_USERAGENT  0x10000001
  348. #define URLMON_OPTION_USERAGENT_REFRESH  0x10000002
  349. #define URLMON_OPTION_URL_ENCODING       0x10000004
  350.  
  351. #define CF_NULL                 0                                  
  352. #define CFSTR_MIME_NULL         NULL                               
  353. #define CFSTR_MIME_TEXT         (TEXT("text/plain"))             
  354. #define CFSTR_MIME_RICHTEXT     (TEXT("text/richtext"))          
  355. #define CFSTR_MIME_X_BITMAP     (TEXT("image/x-xbitmap"))        
  356. #define CFSTR_MIME_POSTSCRIPT   (TEXT("application/postscript")) 
  357. #define CFSTR_MIME_AIFF         (TEXT("audio/aiff"))             
  358. #define CFSTR_MIME_BASICAUDIO   (TEXT("audio/basic"))            
  359. #define CFSTR_MIME_WAV          (TEXT("audio/wav"))              
  360. #define CFSTR_MIME_X_WAV        (TEXT("audio/x-wav"))            
  361. #define CFSTR_MIME_GIF          (TEXT("image/gif"))              
  362. #define CFSTR_MIME_PJPEG        (TEXT("image/pjpeg"))            
  363. #define CFSTR_MIME_JPEG         (TEXT("image/jpeg"))             
  364. #define CFSTR_MIME_TIFF         (TEXT("image/tiff"))             
  365. #define CFSTR_MIME_X_PNG        (TEXT("image/x-png"))            
  366. #define CFSTR_MIME_BMP          (TEXT("image/bmp"))              
  367. #define CFSTR_MIME_X_ART        (TEXT("image/x-jg"))             
  368. #define CFSTR_MIME_X_EMF        (TEXT("image/x-emf"))            
  369. #define CFSTR_MIME_X_WMF        (TEXT("image/x-wmf"))            
  370. #define CFSTR_MIME_AVI          (TEXT("video/avi"))              
  371. #define CFSTR_MIME_MPEG         (TEXT("video/mpeg"))             
  372. #define CFSTR_MIME_FRACTALS     (TEXT("application/fractals"))   
  373. #define CFSTR_MIME_RAWDATA      (TEXT("application/octet-stream"))
  374. #define CFSTR_MIME_RAWDATASTRM  (TEXT("application/octet-stream"))
  375. #define CFSTR_MIME_PDF          (TEXT("application/pdf"))        
  376. #define CFSTR_MIME_X_AIFF       (TEXT("audio/x-aiff"))           
  377. #define CFSTR_MIME_X_REALAUDIO  (TEXT("audio/x-pn-realaudio"))   
  378. #define CFSTR_MIME_XBM          (TEXT("image/xbm"))              
  379. #define CFSTR_MIME_QUICKTIME    (TEXT("video/quicktime"))        
  380. #define CFSTR_MIME_X_MSVIDEO    (TEXT("video/x-msvideo"))        
  381. #define CFSTR_MIME_X_SGI_MOVIE  (TEXT("video/x-sgi-movie"))      
  382. #define CFSTR_MIME_HTML         (TEXT("text/html"))              
  383.  
  384. // MessageId: MK_S_ASYNCHRONOUS                                              
  385. // MessageText: Operation is successful, but will complete asynchronously.   
  386. //                                                                           
  387. #define MK_S_ASYNCHRONOUS    _HRESULT_TYPEDEF_(0x000401E8L)                  
  388. #ifndef S_ASYNCHRONOUS                                                       
  389. #define S_ASYNCHRONOUS       MK_S_ASYNCHRONOUS                               
  390. #endif                                                                       
  391.                                                                              
  392. #ifndef E_PENDING                                                            
  393. #define E_PENDING _HRESULT_TYPEDEF_(0x8000000AL)                             
  394. #endif                                                                       
  395.                                                                              
  396. //                                                                           
  397. //                                                                           
  398. // WinINet and protocol specific errors are mapped to one of the following   
  399. // error which are returned in IBSC::OnStopBinding                           
  400. //                                                                           
  401. //                                                                           
  402. // Note: FACILITY C is split into ranges of 1k                               
  403. // C0000 - C03FF  INET_E_ (URLMON's original hresult)                        
  404. // C0400 - C07FF  INET_E_CLIENT_xxx                                          
  405. // C0800 - C0BFF  INET_E_SERVER_xxx                                          
  406. // C0C00 - C0FFF  INET_E_????                                                
  407. // C1000 - C13FF  INET_E_AGENT_xxx (info delivery agents)                    
  408. #define INET_E_INVALID_URL               _HRESULT_TYPEDEF_(0x800C0002L)      
  409. #define INET_E_NO_SESSION                _HRESULT_TYPEDEF_(0x800C0003L)      
  410. #define INET_E_CANNOT_CONNECT            _HRESULT_TYPEDEF_(0x800C0004L)      
  411. #define INET_E_RESOURCE_NOT_FOUND        _HRESULT_TYPEDEF_(0x800C0005L)      
  412. #define INET_E_OBJECT_NOT_FOUND          _HRESULT_TYPEDEF_(0x800C0006L)      
  413. #define INET_E_DATA_NOT_AVAILABLE        _HRESULT_TYPEDEF_(0x800C0007L)      
  414. #define INET_E_DOWNLOAD_FAILURE          _HRESULT_TYPEDEF_(0x800C0008L)      
  415. #define INET_E_AUTHENTICATION_REQUIRED   _HRESULT_TYPEDEF_(0x800C0009L)      
  416. #define INET_E_NO_VALID_MEDIA            _HRESULT_TYPEDEF_(0x800C000AL)      
  417. #define INET_E_CONNECTION_TIMEOUT        _HRESULT_TYPEDEF_(0x800C000BL)      
  418. #define INET_E_INVALID_REQUEST           _HRESULT_TYPEDEF_(0x800C000CL)      
  419. #define INET_E_UNKNOWN_PROTOCOL          _HRESULT_TYPEDEF_(0x800C000DL)      
  420. #define INET_E_SECURITY_PROBLEM          _HRESULT_TYPEDEF_(0x800C000EL)      
  421. #define INET_E_CANNOT_LOAD_DATA          _HRESULT_TYPEDEF_(0x800C000FL)      
  422. #define INET_E_CANNOT_INSTANTIATE_OBJECT _HRESULT_TYPEDEF_(0x800C0010L)      
  423. #define INET_E_REDIRECT_FAILED           _HRESULT_TYPEDEF_(0x800C0014L)      
  424. #define INET_E_REDIRECT_TO_DIR           _HRESULT_TYPEDEF_(0x800C0015L)      
  425. #define INET_E_CANNOT_LOCK_REQUEST       _HRESULT_TYPEDEF_(0x800C0016L)      
  426. #define INET_E_USE_EXTEND_BINDING        _HRESULT_TYPEDEF_(0x800C0017L)      
  427. #define INET_E_ERROR_FIRST               _HRESULT_TYPEDEF_(0x800C0002L)      
  428. #define INET_E_ERROR_LAST                INET_E_USE_EXTEND_BINDING
  429. #define INET_E_CODE_DOWNLOAD_DECLINED    _HRESULT_TYPEDEF_(0x800C0100L)      
  430. #define INET_E_RESULT_DISPATCHED         _HRESULT_TYPEDEF_(0x800C0200L)      
  431. #define INET_E_CANNOT_REPLACE_SFP_FILE   _HRESULT_TYPEDEF_(0x800C0300L)      
  432. #ifndef _LPPERSISTMONIKER_DEFINED
  433. #define _LPPERSISTMONIKER_DEFINED
  434.  
  435.  
  436. extern RPC_IF_HANDLE __MIDL_itf_urlmon_0000_v0_0_c_ifspec;
  437. extern RPC_IF_HANDLE __MIDL_itf_urlmon_0000_v0_0_s_ifspec;
  438.  
  439. #ifndef __IPersistMoniker_INTERFACE_DEFINED__
  440. #define __IPersistMoniker_INTERFACE_DEFINED__
  441.  
  442. /* interface IPersistMoniker */
  443. /* [unique][uuid][object] */ 
  444.  
  445. typedef /* [unique] */ IPersistMoniker __RPC_FAR *LPPERSISTMONIKER;
  446.  
  447.  
  448. EXTERN_C const IID IID_IPersistMoniker;
  449.  
  450. #if defined(__cplusplus) && !defined(CINTERFACE)
  451.     
  452.     MIDL_INTERFACE("79eac9c9-baf9-11ce-8c82-00aa004ba90b")
  453.     IPersistMoniker : public IUnknown
  454.     {
  455.     public:
  456.         virtual HRESULT STDMETHODCALLTYPE GetClassID( 
  457.             /* [out] */ CLSID __RPC_FAR *pClassID) = 0;
  458.         
  459.         virtual HRESULT STDMETHODCALLTYPE IsDirty( void) = 0;
  460.         
  461.         virtual HRESULT STDMETHODCALLTYPE Load( 
  462.             /* [in] */ BOOL fFullyAvailable,
  463.             /* [in] */ IMoniker __RPC_FAR *pimkName,
  464.             /* [in] */ LPBC pibc,
  465.             /* [in] */ DWORD grfMode) = 0;
  466.         
  467.         virtual HRESULT STDMETHODCALLTYPE Save( 
  468.             /* [in] */ IMoniker __RPC_FAR *pimkName,
  469.             /* [in] */ LPBC pbc,
  470.             /* [in] */ BOOL fRemember) = 0;
  471.         
  472.         virtual HRESULT STDMETHODCALLTYPE SaveCompleted( 
  473.             /* [in] */ IMoniker __RPC_FAR *pimkName,
  474.             /* [in] */ LPBC pibc) = 0;
  475.         
  476.         virtual HRESULT STDMETHODCALLTYPE GetCurMoniker( 
  477.             /* [out] */ IMoniker __RPC_FAR *__RPC_FAR *ppimkName) = 0;
  478.         
  479.     };
  480.     
  481. #else     /* C style interface */
  482.  
  483.     typedef struct IPersistMonikerVtbl
  484.     {
  485.         BEGIN_INTERFACE
  486.         
  487.         HRESULT ( STDMETHODCALLTYPE __RPC_FAR *QueryInterface )( 
  488.             IPersistMoniker __RPC_FAR * This,
  489.             /* [in] */ REFIID riid,
  490.             /* [iid_is][out] */ void __RPC_FAR *__RPC_FAR *ppvObject);
  491.         
  492.         ULONG ( STDMETHODCALLTYPE __RPC_FAR *AddRef )( 
  493.             IPersistMoniker __RPC_FAR * This);
  494.         
  495.         ULONG ( STDMETHODCALLTYPE __RPC_FAR *Release )( 
  496.             IPersistMoniker __RPC_FAR * This);
  497.         
  498.         HRESULT ( STDMETHODCALLTYPE __RPC_FAR *GetClassID )( 
  499.             IPersistMoniker __RPC_FAR * This,
  500.             /* [out] */ CLSID __RPC_FAR *pClassID);
  501.         
  502.         HRESULT ( STDMETHODCALLTYPE __RPC_FAR *IsDirty )( 
  503.             IPersistMoniker __RPC_FAR * This);
  504.         
  505.         HRESULT ( STDMETHODCALLTYPE __RPC_FAR *Load )( 
  506.             IPersistMoniker __RPC_FAR * This,
  507.             /* [in] */ BOOL fFullyAvailable,
  508.             /* [in] */ IMoniker __RPC_FAR *pimkName,
  509.             /* [in] */ LPBC pibc,
  510.             /* [in] */ DWORD grfMode);
  511.         
  512.         HRESULT ( STDMETHODCALLTYPE __RPC_FAR *Save )( 
  513.             IPersistMoniker __RPC_FAR * This,
  514.             /* [in] */ IMoniker __RPC_FAR *pimkName,
  515.             /* [in] */ LPBC pbc,
  516.             /* [in] */ BOOL fRemember);
  517.         
  518.         HRESULT ( STDMETHODCALLTYPE __RPC_FAR *SaveCompleted )( 
  519.             IPersistMoniker __RPC_FAR * This,
  520.             /* [in] */ IMoniker __RPC_FAR *pimkName,
  521.             /* [in] */ LPBC pibc);
  522.         
  523.         HRESULT ( STDMETHODCALLTYPE __RPC_FAR *GetCurMoniker )( 
  524.             IPersistMoniker __RPC_FAR * This,
  525.             /* [out] */ IMoniker __RPC_FAR *__RPC_FAR *ppimkName);
  526.         
  527.         END_INTERFACE
  528.     } IPersistMonikerVtbl;
  529.  
  530.     interface IPersistMoniker
  531.     {
  532.         CONST_VTBL struct IPersistMonikerVtbl __RPC_FAR *lpVtbl;
  533.     };
  534.  
  535.     
  536.  
  537. #ifdef COBJMACROS
  538.  
  539.  
  540. #define IPersistMoniker_QueryInterface(This,riid,ppvObject)    \
  541.     (This)->lpVtbl -> QueryInterface(This,riid,ppvObject)
  542.  
  543. #define IPersistMoniker_AddRef(This)    \
  544.     (This)->lpVtbl -> AddRef(This)
  545.  
  546. #define IPersistMoniker_Release(This)    \
  547.     (This)->lpVtbl -> Release(This)
  548.  
  549.  
  550. #define IPersistMoniker_GetClassID(This,pClassID)    \
  551.     (This)->lpVtbl -> GetClassID(This,pClassID)
  552.  
  553. #define IPersistMoniker_IsDirty(This)    \
  554.     (This)->lpVtbl -> IsDirty(This)
  555.  
  556. #define IPersistMoniker_Load(This,fFullyAvailable,pimkName,pibc,grfMode)    \
  557.     (This)->lpVtbl -> Load(This,fFullyAvailable,pimkName,pibc,grfMode)
  558.  
  559. #define IPersistMoniker_Save(This,pimkName,pbc,fRemember)    \
  560.     (This)->lpVtbl -> Save(This,pimkName,pbc,fRemember)
  561.  
  562. #define IPersistMoniker_SaveCompleted(This,pimkName,pibc)    \
  563.     (This)->lpVtbl -> SaveCompleted(This,pimkName,pibc)
  564.  
  565. #define IPersistMoniker_GetCurMoniker(This,ppimkName)    \
  566.     (This)->lpVtbl -> GetCurMoniker(This,ppimkName)
  567.  
  568. #endif /* COBJMACROS */
  569.  
  570.  
  571. #endif     /* C style interface */
  572.  
  573.  
  574.  
  575. HRESULT STDMETHODCALLTYPE IPersistMoniker_GetClassID_Proxy( 
  576.     IPersistMoniker __RPC_FAR * This,
  577.     /* [out] */ CLSID __RPC_FAR *pClassID);
  578.  
  579.  
  580. void __RPC_STUB IPersistMoniker_GetClassID_Stub(
  581.     IRpcStubBuffer *This,
  582.     IRpcChannelBuffer *_pRpcChannelBuffer,
  583.     PRPC_MESSAGE _pRpcMessage,
  584.     DWORD *_pdwStubPhase);
  585.  
  586.  
  587. HRESULT STDMETHODCALLTYPE IPersistMoniker_IsDirty_Proxy( 
  588.     IPersistMoniker __RPC_FAR * This);
  589.  
  590.  
  591. void __RPC_STUB IPersistMoniker_IsDirty_Stub(
  592.     IRpcStubBuffer *This,
  593.     IRpcChannelBuffer *_pRpcChannelBuffer,
  594.     PRPC_MESSAGE _pRpcMessage,
  595.     DWORD *_pdwStubPhase);
  596.  
  597.  
  598. HRESULT STDMETHODCALLTYPE IPersistMoniker_Load_Proxy( 
  599.     IPersistMoniker __RPC_FAR * This,
  600.     /* [in] */ BOOL fFullyAvailable,
  601.     /* [in] */ IMoniker __RPC_FAR *pimkName,
  602.     /* [in] */ LPBC pibc,
  603.     /* [in] */ DWORD grfMode);
  604.  
  605.  
  606. void __RPC_STUB IPersistMoniker_Load_Stub(
  607.     IRpcStubBuffer *This,
  608.     IRpcChannelBuffer *_pRpcChannelBuffer,
  609.     PRPC_MESSAGE _pRpcMessage,
  610.     DWORD *_pdwStubPhase);
  611.  
  612.  
  613. HRESULT STDMETHODCALLTYPE IPersistMoniker_Save_Proxy( 
  614.     IPersistMoniker __RPC_FAR * This,
  615.     /* [in] */ IMoniker __RPC_FAR *pimkName,
  616.     /* [in] */ LPBC pbc,
  617.     /* [in] */ BOOL fRemember);
  618.  
  619.  
  620. void __RPC_STUB IPersistMoniker_Save_Stub(
  621.     IRpcStubBuffer *This,
  622.     IRpcChannelBuffer *_pRpcChannelBuffer,
  623.     PRPC_MESSAGE _pRpcMessage,
  624.     DWORD *_pdwStubPhase);
  625.  
  626.  
  627. HRESULT STDMETHODCALLTYPE IPersistMoniker_SaveCompleted_Proxy( 
  628.     IPersistMoniker __RPC_FAR * This,
  629.     /* [in] */ IMoniker __RPC_FAR *pimkName,
  630.     /* [in] */ LPBC pibc);
  631.  
  632.  
  633. void __RPC_STUB IPersistMoniker_SaveCompleted_Stub(
  634.     IRpcStubBuffer *This,
  635.     IRpcChannelBuffer *_pRpcChannelBuffer,
  636.     PRPC_MESSAGE _pRpcMessage,
  637.     DWORD *_pdwStubPhase);
  638.  
  639.  
  640. HRESULT STDMETHODCALLTYPE IPersistMoniker_GetCurMoniker_Proxy( 
  641.     IPersistMoniker __RPC_FAR * This,
  642.     /* [out] */ IMoniker __RPC_FAR *__RPC_FAR *ppimkName);
  643.  
  644.  
  645. void __RPC_STUB IPersistMoniker_GetCurMoniker_Stub(
  646.     IRpcStubBuffer *This,
  647.     IRpcChannelBuffer *_pRpcChannelBuffer,
  648.     PRPC_MESSAGE _pRpcMessage,
  649.     DWORD *_pdwStubPhase);
  650.  
  651.  
  652.  
  653. #endif     /* __IPersistMoniker_INTERFACE_DEFINED__ */
  654.  
  655.  
  656. /* interface __MIDL_itf_urlmon_0168 */
  657. /* [local] */ 
  658.  
  659. #endif
  660. #ifndef _LPBINDPROTOCOL_DEFINED
  661. #define _LPBINDPROTOCOL_DEFINED
  662.  
  663.  
  664. extern RPC_IF_HANDLE __MIDL_itf_urlmon_0168_v0_0_c_ifspec;
  665. extern RPC_IF_HANDLE __MIDL_itf_urlmon_0168_v0_0_s_ifspec;
  666.  
  667. #ifndef __IBindProtocol_INTERFACE_DEFINED__
  668. #define __IBindProtocol_INTERFACE_DEFINED__
  669.  
  670. /* interface IBindProtocol */
  671. /* [unique][uuid][object][local] */ 
  672.  
  673. typedef /* [unique] */ IBindProtocol __RPC_FAR *LPBINDPROTOCOL;
  674.  
  675.  
  676. EXTERN_C const IID IID_IBindProtocol;
  677.  
  678. #if defined(__cplusplus) && !defined(CINTERFACE)
  679.     
  680.     MIDL_INTERFACE("79eac9cd-baf9-11ce-8c82-00aa004ba90b")
  681.     IBindProtocol : public IUnknown
  682.     {
  683.     public:
  684.         virtual HRESULT STDMETHODCALLTYPE CreateBinding( 
  685.             /* [in] */ LPCWSTR szUrl,
  686.             /* [in] */ IBindCtx __RPC_FAR *pbc,
  687.             /* [out] */ IBinding __RPC_FAR *__RPC_FAR *ppb) = 0;
  688.         
  689.     };
  690.     
  691. #else     /* C style interface */
  692.  
  693.     typedef struct IBindProtocolVtbl
  694.     {
  695.         BEGIN_INTERFACE
  696.         
  697.         HRESULT ( STDMETHODCALLTYPE __RPC_FAR *QueryInterface )( 
  698.             IBindProtocol __RPC_FAR * This,
  699.             /* [in] */ REFIID riid,
  700.             /* [iid_is][out] */ void __RPC_FAR *__RPC_FAR *ppvObject);
  701.         
  702.         ULONG ( STDMETHODCALLTYPE __RPC_FAR *AddRef )( 
  703.             IBindProtocol __RPC_FAR * This);
  704.         
  705.         ULONG ( STDMETHODCALLTYPE __RPC_FAR *Release )( 
  706.             IBindProtocol __RPC_FAR * This);
  707.         
  708.         HRESULT ( STDMETHODCALLTYPE __RPC_FAR *CreateBinding )( 
  709.             IBindProtocol __RPC_FAR * This,
  710.             /* [in] */ LPCWSTR szUrl,
  711.             /* [in] */ IBindCtx __RPC_FAR *pbc,
  712.             /* [out] */ IBinding __RPC_FAR *__RPC_FAR *ppb);
  713.         
  714.         END_INTERFACE
  715.     } IBindProtocolVtbl;
  716.  
  717.     interface IBindProtocol
  718.     {
  719.         CONST_VTBL struct IBindProtocolVtbl __RPC_FAR *lpVtbl;
  720.     };
  721.  
  722.     
  723.  
  724. #ifdef COBJMACROS
  725.  
  726.  
  727. #define IBindProtocol_QueryInterface(This,riid,ppvObject)    \
  728.     (This)->lpVtbl -> QueryInterface(This,riid,ppvObject)
  729.  
  730. #define IBindProtocol_AddRef(This)    \
  731.     (This)->lpVtbl -> AddRef(This)
  732.  
  733. #define IBindProtocol_Release(This)    \
  734.     (This)->lpVtbl -> Release(This)
  735.  
  736.  
  737. #define IBindProtocol_CreateBinding(This,szUrl,pbc,ppb)    \
  738.     (This)->lpVtbl -> CreateBinding(This,szUrl,pbc,ppb)
  739.  
  740. #endif /* COBJMACROS */
  741.  
  742.  
  743. #endif     /* C style interface */
  744.  
  745.  
  746.  
  747. HRESULT STDMETHODCALLTYPE IBindProtocol_CreateBinding_Proxy( 
  748.     IBindProtocol __RPC_FAR * This,
  749.     /* [in] */ LPCWSTR szUrl,
  750.     /* [in] */ IBindCtx __RPC_FAR *pbc,
  751.     /* [out] */ IBinding __RPC_FAR *__RPC_FAR *ppb);
  752.  
  753.  
  754. void __RPC_STUB IBindProtocol_CreateBinding_Stub(
  755.     IRpcStubBuffer *This,
  756.     IRpcChannelBuffer *_pRpcChannelBuffer,
  757.     PRPC_MESSAGE _pRpcMessage,
  758.     DWORD *_pdwStubPhase);
  759.  
  760.  
  761.  
  762. #endif     /* __IBindProtocol_INTERFACE_DEFINED__ */
  763.  
  764.  
  765. /* interface __MIDL_itf_urlmon_0169 */
  766. /* [local] */ 
  767.  
  768. #endif
  769. #ifndef _LPBINDING_DEFINED
  770. #define _LPBINDING_DEFINED
  771.  
  772.  
  773. extern RPC_IF_HANDLE __MIDL_itf_urlmon_0169_v0_0_c_ifspec;
  774. extern RPC_IF_HANDLE __MIDL_itf_urlmon_0169_v0_0_s_ifspec;
  775.  
  776. #ifndef __IBinding_INTERFACE_DEFINED__
  777. #define __IBinding_INTERFACE_DEFINED__
  778.  
  779. /* interface IBinding */
  780. /* [unique][uuid][object] */ 
  781.  
  782. typedef /* [unique] */ IBinding __RPC_FAR *LPBINDING;
  783.  
  784.  
  785. EXTERN_C const IID IID_IBinding;
  786.  
  787. #if defined(__cplusplus) && !defined(CINTERFACE)
  788.     
  789.     MIDL_INTERFACE("79eac9c0-baf9-11ce-8c82-00aa004ba90b")
  790.     IBinding : public IUnknown
  791.     {
  792.     public:
  793.         virtual HRESULT STDMETHODCALLTYPE Abort( void) = 0;
  794.         
  795.         virtual HRESULT STDMETHODCALLTYPE Suspend( void) = 0;
  796.         
  797.         virtual HRESULT STDMETHODCALLTYPE Resume( void) = 0;
  798.         
  799.         virtual HRESULT STDMETHODCALLTYPE SetPriority( 
  800.             /* [in] */ LONG nPriority) = 0;
  801.         
  802.         virtual HRESULT STDMETHODCALLTYPE GetPriority( 
  803.             /* [out] */ LONG __RPC_FAR *pnPriority) = 0;
  804.         
  805.         virtual /* [local] */ HRESULT STDMETHODCALLTYPE GetBindResult( 
  806.             /* [out] */ CLSID __RPC_FAR *pclsidProtocol,
  807.             /* [out] */ DWORD __RPC_FAR *pdwResult,
  808.             /* [out] */ LPOLESTR __RPC_FAR *pszResult,
  809.             /* [out][in] */ DWORD __RPC_FAR *pdwReserved) = 0;
  810.         
  811.     };
  812.     
  813. #else     /* C style interface */
  814.  
  815.     typedef struct IBindingVtbl
  816.     {
  817.         BEGIN_INTERFACE
  818.         
  819.         HRESULT ( STDMETHODCALLTYPE __RPC_FAR *QueryInterface )( 
  820.             IBinding __RPC_FAR * This,
  821.             /* [in] */ REFIID riid,
  822.             /* [iid_is][out] */ void __RPC_FAR *__RPC_FAR *ppvObject);
  823.         
  824.         ULONG ( STDMETHODCALLTYPE __RPC_FAR *AddRef )( 
  825.             IBinding __RPC_FAR * This);
  826.         
  827.         ULONG ( STDMETHODCALLTYPE __RPC_FAR *Release )( 
  828.             IBinding __RPC_FAR * This);
  829.         
  830.         HRESULT ( STDMETHODCALLTYPE __RPC_FAR *Abort )( 
  831.             IBinding __RPC_FAR * This);
  832.         
  833.         HRESULT ( STDMETHODCALLTYPE __RPC_FAR *Suspend )( 
  834.             IBinding __RPC_FAR * This);
  835.         
  836.         HRESULT ( STDMETHODCALLTYPE __RPC_FAR *Resume )( 
  837.             IBinding __RPC_FAR * This);
  838.         
  839.         HRESULT ( STDMETHODCALLTYPE __RPC_FAR *SetPriority )( 
  840.             IBinding __RPC_FAR * This,
  841.             /* [in] */ LONG nPriority);
  842.         
  843.         HRESULT ( STDMETHODCALLTYPE __RPC_FAR *GetPriority )( 
  844.             IBinding __RPC_FAR * This,
  845.             /* [out] */ LONG __RPC_FAR *pnPriority);
  846.         
  847.         /* [local] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *GetBindResult )( 
  848.             IBinding __RPC_FAR * This,
  849.             /* [out] */ CLSID __RPC_FAR *pclsidProtocol,
  850.             /* [out] */ DWORD __RPC_FAR *pdwResult,
  851.             /* [out] */ LPOLESTR __RPC_FAR *pszResult,
  852.             /* [out][in] */ DWORD __RPC_FAR *pdwReserved);
  853.         
  854.         END_INTERFACE
  855.     } IBindingVtbl;
  856.  
  857.     interface IBinding
  858.     {
  859.         CONST_VTBL struct IBindingVtbl __RPC_FAR *lpVtbl;
  860.     };
  861.  
  862.     
  863.  
  864. #ifdef COBJMACROS
  865.  
  866.  
  867. #define IBinding_QueryInterface(This,riid,ppvObject)    \
  868.     (This)->lpVtbl -> QueryInterface(This,riid,ppvObject)
  869.  
  870. #define IBinding_AddRef(This)    \
  871.     (This)->lpVtbl -> AddRef(This)
  872.  
  873. #define IBinding_Release(This)    \
  874.     (This)->lpVtbl -> Release(This)
  875.  
  876.  
  877. #define IBinding_Abort(This)    \
  878.     (This)->lpVtbl -> Abort(This)
  879.  
  880. #define IBinding_Suspend(This)    \
  881.     (This)->lpVtbl -> Suspend(This)
  882.  
  883. #define IBinding_Resume(This)    \
  884.     (This)->lpVtbl -> Resume(This)
  885.  
  886. #define IBinding_SetPriority(This,nPriority)    \
  887.     (This)->lpVtbl -> SetPriority(This,nPriority)
  888.  
  889. #define IBinding_GetPriority(This,pnPriority)    \
  890.     (This)->lpVtbl -> GetPriority(This,pnPriority)
  891.  
  892. #define IBinding_GetBindResult(This,pclsidProtocol,pdwResult,pszResult,pdwReserved)    \
  893.     (This)->lpVtbl -> GetBindResult(This,pclsidProtocol,pdwResult,pszResult,pdwReserved)
  894.  
  895. #endif /* COBJMACROS */
  896.  
  897.  
  898. #endif     /* C style interface */
  899.  
  900.  
  901.  
  902. HRESULT STDMETHODCALLTYPE IBinding_Abort_Proxy( 
  903.     IBinding __RPC_FAR * This);
  904.  
  905.  
  906. void __RPC_STUB IBinding_Abort_Stub(
  907.     IRpcStubBuffer *This,
  908.     IRpcChannelBuffer *_pRpcChannelBuffer,
  909.     PRPC_MESSAGE _pRpcMessage,
  910.     DWORD *_pdwStubPhase);
  911.  
  912.  
  913. HRESULT STDMETHODCALLTYPE IBinding_Suspend_Proxy( 
  914.     IBinding __RPC_FAR * This);
  915.  
  916.  
  917. void __RPC_STUB IBinding_Suspend_Stub(
  918.     IRpcStubBuffer *This,
  919.     IRpcChannelBuffer *_pRpcChannelBuffer,
  920.     PRPC_MESSAGE _pRpcMessage,
  921.     DWORD *_pdwStubPhase);
  922.  
  923.  
  924. HRESULT STDMETHODCALLTYPE IBinding_Resume_Proxy( 
  925.     IBinding __RPC_FAR * This);
  926.  
  927.  
  928. void __RPC_STUB IBinding_Resume_Stub(
  929.     IRpcStubBuffer *This,
  930.     IRpcChannelBuffer *_pRpcChannelBuffer,
  931.     PRPC_MESSAGE _pRpcMessage,
  932.     DWORD *_pdwStubPhase);
  933.  
  934.  
  935. HRESULT STDMETHODCALLTYPE IBinding_SetPriority_Proxy( 
  936.     IBinding __RPC_FAR * This,
  937.     /* [in] */ LONG nPriority);
  938.  
  939.  
  940. void __RPC_STUB IBinding_SetPriority_Stub(
  941.     IRpcStubBuffer *This,
  942.     IRpcChannelBuffer *_pRpcChannelBuffer,
  943.     PRPC_MESSAGE _pRpcMessage,
  944.     DWORD *_pdwStubPhase);
  945.  
  946.  
  947. HRESULT STDMETHODCALLTYPE IBinding_GetPriority_Proxy( 
  948.     IBinding __RPC_FAR * This,
  949.     /* [out] */ LONG __RPC_FAR *pnPriority);
  950.  
  951.  
  952. void __RPC_STUB IBinding_GetPriority_Stub(
  953.     IRpcStubBuffer *This,
  954.     IRpcChannelBuffer *_pRpcChannelBuffer,
  955.     PRPC_MESSAGE _pRpcMessage,
  956.     DWORD *_pdwStubPhase);
  957.  
  958.  
  959. /* [call_as] */ HRESULT STDMETHODCALLTYPE IBinding_RemoteGetBindResult_Proxy( 
  960.     IBinding __RPC_FAR * This,
  961.     /* [out] */ CLSID __RPC_FAR *pclsidProtocol,
  962.     /* [out] */ DWORD __RPC_FAR *pdwResult,
  963.     /* [out] */ LPOLESTR __RPC_FAR *pszResult,
  964.     /* [in] */ DWORD dwReserved);
  965.  
  966.  
  967. void __RPC_STUB IBinding_RemoteGetBindResult_Stub(
  968.     IRpcStubBuffer *This,
  969.     IRpcChannelBuffer *_pRpcChannelBuffer,
  970.     PRPC_MESSAGE _pRpcMessage,
  971.     DWORD *_pdwStubPhase);
  972.  
  973.  
  974.  
  975. #endif     /* __IBinding_INTERFACE_DEFINED__ */
  976.  
  977.  
  978. /* interface __MIDL_itf_urlmon_0170 */
  979. /* [local] */ 
  980.  
  981. #endif
  982. #ifndef _LPBINDSTATUSCALLBACK_DEFINED
  983. #define _LPBINDSTATUSCALLBACK_DEFINED
  984.  
  985.  
  986. extern RPC_IF_HANDLE __MIDL_itf_urlmon_0170_v0_0_c_ifspec;
  987. extern RPC_IF_HANDLE __MIDL_itf_urlmon_0170_v0_0_s_ifspec;
  988.  
  989. #ifndef __IBindStatusCallback_INTERFACE_DEFINED__
  990. #define __IBindStatusCallback_INTERFACE_DEFINED__
  991.  
  992. /* interface IBindStatusCallback */
  993. /* [unique][uuid][object] */ 
  994.  
  995. typedef /* [unique] */ IBindStatusCallback __RPC_FAR *LPBINDSTATUSCALLBACK;
  996.  
  997. typedef /* [public] */ 
  998. enum __MIDL_IBindStatusCallback_0001
  999.     {    BINDVERB_GET    = 0,
  1000.     BINDVERB_POST    = 0x1,
  1001.     BINDVERB_PUT    = 0x2,
  1002.     BINDVERB_CUSTOM    = 0x3
  1003.     }    BINDVERB;
  1004.  
  1005. typedef /* [public] */ 
  1006. enum __MIDL_IBindStatusCallback_0002
  1007.     {    BINDINFOF_URLENCODESTGMEDDATA    = 0x1,
  1008.     BINDINFOF_URLENCODEDEXTRAINFO    = 0x2
  1009.     }    BINDINFOF;
  1010.  
  1011. typedef /* [public] */ 
  1012. enum __MIDL_IBindStatusCallback_0003
  1013.     {    BINDF_ASYNCHRONOUS    = 0x1,
  1014.     BINDF_ASYNCSTORAGE    = 0x2,
  1015.     BINDF_NOPROGRESSIVERENDERING    = 0x4,
  1016.     BINDF_OFFLINEOPERATION    = 0x8,
  1017.     BINDF_GETNEWESTVERSION    = 0x10,
  1018.     BINDF_NOWRITECACHE    = 0x20,
  1019.     BINDF_NEEDFILE    = 0x40,
  1020.     BINDF_PULLDATA    = 0x80,
  1021.     BINDF_IGNORESECURITYPROBLEM    = 0x100,
  1022.     BINDF_RESYNCHRONIZE    = 0x200,
  1023.     BINDF_HYPERLINK    = 0x400,
  1024.     BINDF_NO_UI    = 0x800,
  1025.     BINDF_SILENTOPERATION    = 0x1000,
  1026.     BINDF_PRAGMA_NO_CACHE    = 0x2000,
  1027.     BINDF_GETCLASSOBJECT    = 0x4000,
  1028.     BINDF_RESERVED_1    = 0x8000,
  1029.     BINDF_FREE_THREADED    = 0x10000,
  1030.     BINDF_DIRECT_READ    = 0x20000,
  1031.     BINDF_FORMS_SUBMIT    = 0x40000,
  1032.     BINDF_GETFROMCACHE_IF_NET_FAIL    = 0x80000,
  1033.     BINDF_FROMURLMON    = 0x100000,
  1034.     BINDF_FWD_BACK    = 0x200000,
  1035.     BINDF_RESERVED_2    = 0x400000,
  1036.     BINDF_RESERVED_3    = 0x800000
  1037.     }    BINDF;
  1038.  
  1039. typedef /* [public] */ 
  1040. enum __MIDL_IBindStatusCallback_0004
  1041.     {    URL_ENCODING_NONE    = 0,
  1042.     URL_ENCODING_ENABLE_UTF8    = 0x10000000,
  1043.     URL_ENCODING_DISABLE_UTF8    = 0x20000000
  1044.     }    URL_ENCODING;
  1045.  
  1046. typedef struct _tagBINDINFO
  1047.     {
  1048.     ULONG cbSize;
  1049.     LPWSTR szExtraInfo;
  1050.     STGMEDIUM stgmedData;
  1051.     DWORD grfBindInfoF;
  1052.     DWORD dwBindVerb;
  1053.     LPWSTR szCustomVerb;
  1054.     DWORD cbstgmedData;
  1055.     DWORD dwOptions;
  1056.     DWORD dwOptionsFlags;
  1057.     DWORD dwCodePage;
  1058.     SECURITY_ATTRIBUTES securityAttributes;
  1059.     IID iid;
  1060.     IUnknown __RPC_FAR *pUnk;
  1061.     DWORD dwReserved;
  1062.     }    BINDINFO;
  1063.  
  1064. typedef struct _REMSECURITY_ATTRIBUTES
  1065.     {
  1066.     DWORD nLength;
  1067.     DWORD lpSecurityDescriptor;
  1068.     BOOL bInheritHandle;
  1069.     }    REMSECURITY_ATTRIBUTES;
  1070.  
  1071. typedef struct _REMSECURITY_ATTRIBUTES __RPC_FAR *PREMSECURITY_ATTRIBUTES;
  1072.  
  1073. typedef struct _REMSECURITY_ATTRIBUTES __RPC_FAR *LPREMSECURITY_ATTRIBUTES;
  1074.  
  1075. typedef struct _tagRemBINDINFO
  1076.     {
  1077.     ULONG cbSize;
  1078.     LPWSTR szExtraInfo;
  1079.     DWORD grfBindInfoF;
  1080.     DWORD dwBindVerb;
  1081.     LPWSTR szCustomVerb;
  1082.     DWORD cbstgmedData;
  1083.     DWORD dwOptions;
  1084.     DWORD dwOptionsFlags;
  1085.     DWORD dwCodePage;
  1086.     REMSECURITY_ATTRIBUTES securityAttributes;
  1087.     IID iid;
  1088.     IUnknown __RPC_FAR *pUnk;
  1089.     DWORD dwReserved;
  1090.     }    RemBINDINFO;
  1091.  
  1092. typedef struct tagRemFORMATETC
  1093.     {
  1094.     DWORD cfFormat;
  1095.     DWORD ptd;
  1096.     DWORD dwAspect;
  1097.     LONG lindex;
  1098.     DWORD tymed;
  1099.     }    RemFORMATETC;
  1100.  
  1101. typedef struct tagRemFORMATETC __RPC_FAR *LPREMFORMATETC;
  1102.  
  1103. typedef /* [public] */ 
  1104. enum __MIDL_IBindStatusCallback_0005
  1105.     {    BINDINFO_OPTIONS_WININETFLAG    = 0x10000,
  1106.     BINDINFO_OPTIONS_ENABLE_UTF8    = 0x20000,
  1107.     BINDINFO_OPTIONS_DISABLE_UTF8    = 0x40000,
  1108.     BINDINFO_OPTIONS_USE_IE_ENCODING    = 0x80000,
  1109.     BINDINFO_OPTIONS_BINDTOOBJECT    = 0x100000
  1110.     }    BINDINFO_OPTIONS;
  1111.  
  1112. typedef /* [public] */ 
  1113. enum __MIDL_IBindStatusCallback_0006
  1114.     {    BSCF_FIRSTDATANOTIFICATION    = 0x1,
  1115.     BSCF_INTERMEDIATEDATANOTIFICATION    = 0x2,
  1116.     BSCF_LASTDATANOTIFICATION    = 0x4,
  1117.     BSCF_DATAFULLYAVAILABLE    = 0x8,
  1118.     BSCF_AVAILABLEDATASIZEUNKNOWN    = 0x10
  1119.     }    BSCF;
  1120.  
  1121. typedef 
  1122. enum tagBINDSTATUS
  1123.     {    BINDSTATUS_FINDINGRESOURCE    = 1,
  1124.     BINDSTATUS_CONNECTING    = BINDSTATUS_FINDINGRESOURCE + 1,
  1125.     BINDSTATUS_REDIRECTING    = BINDSTATUS_CONNECTING + 1,
  1126.     BINDSTATUS_BEGINDOWNLOADDATA    = BINDSTATUS_REDIRECTING + 1,
  1127.     BINDSTATUS_DOWNLOADINGDATA    = BINDSTATUS_BEGINDOWNLOADDATA + 1,
  1128.     BINDSTATUS_ENDDOWNLOADDATA    = BINDSTATUS_DOWNLOADINGDATA + 1,
  1129.     BINDSTATUS_BEGINDOWNLOADCOMPONENTS    = BINDSTATUS_ENDDOWNLOADDATA + 1,
  1130.     BINDSTATUS_INSTALLINGCOMPONENTS    = BINDSTATUS_BEGINDOWNLOADCOMPONENTS + 1,
  1131.     BINDSTATUS_ENDDOWNLOADCOMPONENTS    = BINDSTATUS_INSTALLINGCOMPONENTS + 1,
  1132.     BINDSTATUS_USINGCACHEDCOPY    = BINDSTATUS_ENDDOWNLOADCOMPONENTS + 1,
  1133.     BINDSTATUS_SENDINGREQUEST    = BINDSTATUS_USINGCACHEDCOPY + 1,
  1134.     BINDSTATUS_CLASSIDAVAILABLE    = BINDSTATUS_SENDINGREQUEST + 1,
  1135.     BINDSTATUS_MIMETYPEAVAILABLE    = BINDSTATUS_CLASSIDAVAILABLE + 1,
  1136.     BINDSTATUS_CACHEFILENAMEAVAILABLE    = BINDSTATUS_MIMETYPEAVAILABLE + 1,
  1137.     BINDSTATUS_BEGINSYNCOPERATION    = BINDSTATUS_CACHEFILENAMEAVAILABLE + 1,
  1138.     BINDSTATUS_ENDSYNCOPERATION    = BINDSTATUS_BEGINSYNCOPERATION + 1,
  1139.     BINDSTATUS_BEGINUPLOADDATA    = BINDSTATUS_ENDSYNCOPERATION + 1,
  1140.     BINDSTATUS_UPLOADINGDATA    = BINDSTATUS_BEGINUPLOADDATA + 1,
  1141.     BINDSTATUS_ENDUPLOADDATA    = BINDSTATUS_UPLOADINGDATA + 1,
  1142.     BINDSTATUS_PROTOCOLCLASSID    = BINDSTATUS_ENDUPLOADDATA + 1,
  1143.     BINDSTATUS_ENCODING    = BINDSTATUS_PROTOCOLCLASSID + 1,
  1144.     BINDSTATUS_VERIFIEDMIMETYPEAVAILABLE    = BINDSTATUS_ENCODING + 1,
  1145.     BINDSTATUS_CLASSINSTALLLOCATION    = BINDSTATUS_VERIFIEDMIMETYPEAVAILABLE + 1,
  1146.     BINDSTATUS_DECODING    = BINDSTATUS_CLASSINSTALLLOCATION + 1,
  1147.     BINDSTATUS_LOADINGMIMEHANDLER    = BINDSTATUS_DECODING + 1,
  1148.     BINDSTATUS_CONTENTDISPOSITIONATTACH    = BINDSTATUS_LOADINGMIMEHANDLER + 1,
  1149.     BINDSTATUS_FILTERREPORTMIMETYPE    = BINDSTATUS_CONTENTDISPOSITIONATTACH + 1,
  1150.     BINDSTATUS_CLSIDCANINSTANTIATE    = BINDSTATUS_FILTERREPORTMIMETYPE + 1,
  1151.     BINDSTATUS_IUNKNOWNAVAILABLE    = BINDSTATUS_CLSIDCANINSTANTIATE + 1,
  1152.     BINDSTATUS_DIRECTBIND    = BINDSTATUS_IUNKNOWNAVAILABLE + 1,
  1153.     BINDSTATUS_RAWMIMETYPE    = BINDSTATUS_DIRECTBIND + 1,
  1154.     BINDSTATUS_PROXYDETECTING    = BINDSTATUS_RAWMIMETYPE + 1,
  1155.     BINDSTATUS_ACCEPTRANGES    = BINDSTATUS_PROXYDETECTING + 1
  1156.     }    BINDSTATUS;
  1157.  
  1158.  
  1159. EXTERN_C const IID IID_IBindStatusCallback;
  1160.  
  1161. #if defined(__cplusplus) && !defined(CINTERFACE)
  1162.     
  1163.     MIDL_INTERFACE("79eac9c1-baf9-11ce-8c82-00aa004ba90b")
  1164.     IBindStatusCallback : public IUnknown
  1165.     {
  1166.     public:
  1167.         virtual HRESULT STDMETHODCALLTYPE OnStartBinding( 
  1168.             /* [in] */ DWORD dwReserved,
  1169.             /* [in] */ IBinding __RPC_FAR *pib) = 0;
  1170.         
  1171.         virtual HRESULT STDMETHODCALLTYPE GetPriority( 
  1172.             /* [out] */ LONG __RPC_FAR *pnPriority) = 0;
  1173.         
  1174.         virtual HRESULT STDMETHODCALLTYPE OnLowResource( 
  1175.             /* [in] */ DWORD reserved) = 0;
  1176.         
  1177.         virtual HRESULT STDMETHODCALLTYPE OnProgress( 
  1178.             /* [in] */ ULONG ulProgress,
  1179.             /* [in] */ ULONG ulProgressMax,
  1180.             /* [in] */ ULONG ulStatusCode,
  1181.             /* [in] */ LPCWSTR szStatusText) = 0;
  1182.         
  1183.         virtual HRESULT STDMETHODCALLTYPE OnStopBinding( 
  1184.             /* [in] */ HRESULT hresult,
  1185.             /* [unique][in] */ LPCWSTR szError) = 0;
  1186.         
  1187.         virtual /* [local] */ HRESULT STDMETHODCALLTYPE GetBindInfo( 
  1188.             /* [out] */ DWORD __RPC_FAR *grfBINDF,
  1189.             /* [unique][out][in] */ BINDINFO __RPC_FAR *pbindinfo) = 0;
  1190.         
  1191.         virtual /* [local] */ HRESULT STDMETHODCALLTYPE OnDataAvailable( 
  1192.             /* [in] */ DWORD grfBSCF,
  1193.             /* [in] */ DWORD dwSize,
  1194.             /* [in] */ FORMATETC __RPC_FAR *pformatetc,
  1195.             /* [in] */ STGMEDIUM __RPC_FAR *pstgmed) = 0;
  1196.         
  1197.         virtual HRESULT STDMETHODCALLTYPE OnObjectAvailable( 
  1198.             /* [in] */ REFIID riid,
  1199.             /* [iid_is][in] */ IUnknown __RPC_FAR *punk) = 0;
  1200.         
  1201.     };
  1202.     
  1203. #else     /* C style interface */
  1204.  
  1205.     typedef struct IBindStatusCallbackVtbl
  1206.     {
  1207.         BEGIN_INTERFACE
  1208.         
  1209.         HRESULT ( STDMETHODCALLTYPE __RPC_FAR *QueryInterface )( 
  1210.             IBindStatusCallback __RPC_FAR * This,
  1211.             /* [in] */ REFIID riid,
  1212.             /* [iid_is][out] */ void __RPC_FAR *__RPC_FAR *ppvObject);
  1213.         
  1214.         ULONG ( STDMETHODCALLTYPE __RPC_FAR *AddRef )( 
  1215.             IBindStatusCallback __RPC_FAR * This);
  1216.         
  1217.         ULONG ( STDMETHODCALLTYPE __RPC_FAR *Release )( 
  1218.             IBindStatusCallback __RPC_FAR * This);
  1219.         
  1220.         HRESULT ( STDMETHODCALLTYPE __RPC_FAR *OnStartBinding )( 
  1221.             IBindStatusCallback __RPC_FAR * This,
  1222.             /* [in] */ DWORD dwReserved,
  1223.             /* [in] */ IBinding __RPC_FAR *pib);
  1224.         
  1225.         HRESULT ( STDMETHODCALLTYPE __RPC_FAR *GetPriority )( 
  1226.             IBindStatusCallback __RPC_FAR * This,
  1227.             /* [out] */ LONG __RPC_FAR *pnPriority);
  1228.         
  1229.         HRESULT ( STDMETHODCALLTYPE __RPC_FAR *OnLowResource )( 
  1230.             IBindStatusCallback __RPC_FAR * This,
  1231.             /* [in] */ DWORD reserved);
  1232.         
  1233.         HRESULT ( STDMETHODCALLTYPE __RPC_FAR *OnProgress )( 
  1234.             IBindStatusCallback __RPC_FAR * This,
  1235.             /* [in] */ ULONG ulProgress,
  1236.             /* [in] */ ULONG ulProgressMax,
  1237.             /* [in] */ ULONG ulStatusCode,
  1238.             /* [in] */ LPCWSTR szStatusText);
  1239.         
  1240.         HRESULT ( STDMETHODCALLTYPE __RPC_FAR *OnStopBinding )( 
  1241.             IBindStatusCallback __RPC_FAR * This,
  1242.             /* [in] */ HRESULT hresult,
  1243.             /* [unique][in] */ LPCWSTR szError);
  1244.         
  1245.         /* [local] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *GetBindInfo )( 
  1246.             IBindStatusCallback __RPC_FAR * This,
  1247.             /* [out] */ DWORD __RPC_FAR *grfBINDF,
  1248.             /* [unique][out][in] */ BINDINFO __RPC_FAR *pbindinfo);
  1249.         
  1250.         /* [local] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *OnDataAvailable )( 
  1251.             IBindStatusCallback __RPC_FAR * This,
  1252.             /* [in] */ DWORD grfBSCF,
  1253.             /* [in] */ DWORD dwSize,
  1254.             /* [in] */ FORMATETC __RPC_FAR *pformatetc,
  1255.             /* [in] */ STGMEDIUM __RPC_FAR *pstgmed);
  1256.         
  1257.         HRESULT ( STDMETHODCALLTYPE __RPC_FAR *OnObjectAvailable )( 
  1258.             IBindStatusCallback __RPC_FAR * This,
  1259.             /* [in] */ REFIID riid,
  1260.             /* [iid_is][in] */ IUnknown __RPC_FAR *punk);
  1261.         
  1262.         END_INTERFACE
  1263.     } IBindStatusCallbackVtbl;
  1264.  
  1265.     interface IBindStatusCallback
  1266.     {
  1267.         CONST_VTBL struct IBindStatusCallbackVtbl __RPC_FAR *lpVtbl;
  1268.     };
  1269.  
  1270.     
  1271.  
  1272. #ifdef COBJMACROS
  1273.  
  1274.  
  1275. #define IBindStatusCallback_QueryInterface(This,riid,ppvObject)    \
  1276.     (This)->lpVtbl -> QueryInterface(This,riid,ppvObject)
  1277.  
  1278. #define IBindStatusCallback_AddRef(This)    \
  1279.     (This)->lpVtbl -> AddRef(This)
  1280.  
  1281. #define IBindStatusCallback_Release(This)    \
  1282.     (This)->lpVtbl -> Release(This)
  1283.  
  1284.  
  1285. #define IBindStatusCallback_OnStartBinding(This,dwReserved,pib)    \
  1286.     (This)->lpVtbl -> OnStartBinding(This,dwReserved,pib)
  1287.  
  1288. #define IBindStatusCallback_GetPriority(This,pnPriority)    \
  1289.     (This)->lpVtbl -> GetPriority(This,pnPriority)
  1290.  
  1291. #define IBindStatusCallback_OnLowResource(This,reserved)    \
  1292.     (This)->lpVtbl -> OnLowResource(This,reserved)
  1293.  
  1294. #define IBindStatusCallback_OnProgress(This,ulProgress,ulProgressMax,ulStatusCode,szStatusText)    \
  1295.     (This)->lpVtbl -> OnProgress(This,ulProgress,ulProgressMax,ulStatusCode,szStatusText)
  1296.  
  1297. #define IBindStatusCallback_OnStopBinding(This,hresult,szError)    \
  1298.     (This)->lpVtbl -> OnStopBinding(This,hresult,szError)
  1299.  
  1300. #define IBindStatusCallback_GetBindInfo(This,grfBINDF,pbindinfo)    \
  1301.     (This)->lpVtbl -> GetBindInfo(This,grfBINDF,pbindinfo)
  1302.  
  1303. #define IBindStatusCallback_OnDataAvailable(This,grfBSCF,dwSize,pformatetc,pstgmed)    \
  1304.     (This)->lpVtbl -> OnDataAvailable(This,grfBSCF,dwSize,pformatetc,pstgmed)
  1305.  
  1306. #define IBindStatusCallback_OnObjectAvailable(This,riid,punk)    \
  1307.     (This)->lpVtbl -> OnObjectAvailable(This,riid,punk)
  1308.  
  1309. #endif /* COBJMACROS */
  1310.  
  1311.  
  1312. #endif     /* C style interface */
  1313.  
  1314.  
  1315.  
  1316. HRESULT STDMETHODCALLTYPE IBindStatusCallback_OnStartBinding_Proxy( 
  1317.     IBindStatusCallback __RPC_FAR * This,
  1318.     /* [in] */ DWORD dwReserved,
  1319.     /* [in] */ IBinding __RPC_FAR *pib);
  1320.  
  1321.  
  1322. void __RPC_STUB IBindStatusCallback_OnStartBinding_Stub(
  1323.     IRpcStubBuffer *This,
  1324.     IRpcChannelBuffer *_pRpcChannelBuffer,
  1325.     PRPC_MESSAGE _pRpcMessage,
  1326.     DWORD *_pdwStubPhase);
  1327.  
  1328.  
  1329. HRESULT STDMETHODCALLTYPE IBindStatusCallback_GetPriority_Proxy( 
  1330.     IBindStatusCallback __RPC_FAR * This,
  1331.     /* [out] */ LONG __RPC_FAR *pnPriority);
  1332.  
  1333.  
  1334. void __RPC_STUB IBindStatusCallback_GetPriority_Stub(
  1335.     IRpcStubBuffer *This,
  1336.     IRpcChannelBuffer *_pRpcChannelBuffer,
  1337.     PRPC_MESSAGE _pRpcMessage,
  1338.     DWORD *_pdwStubPhase);
  1339.  
  1340.  
  1341. HRESULT STDMETHODCALLTYPE IBindStatusCallback_OnLowResource_Proxy( 
  1342.     IBindStatusCallback __RPC_FAR * This,
  1343.     /* [in] */ DWORD reserved);
  1344.  
  1345.  
  1346. void __RPC_STUB IBindStatusCallback_OnLowResource_Stub(
  1347.     IRpcStubBuffer *This,
  1348.     IRpcChannelBuffer *_pRpcChannelBuffer,
  1349.     PRPC_MESSAGE _pRpcMessage,
  1350.     DWORD *_pdwStubPhase);
  1351.  
  1352.  
  1353. HRESULT STDMETHODCALLTYPE IBindStatusCallback_OnProgress_Proxy( 
  1354.     IBindStatusCallback __RPC_FAR * This,
  1355.     /* [in] */ ULONG ulProgress,
  1356.     /* [in] */ ULONG ulProgressMax,
  1357.     /* [in] */ ULONG ulStatusCode,
  1358.     /* [in] */ LPCWSTR szStatusText);
  1359.  
  1360.  
  1361. void __RPC_STUB IBindStatusCallback_OnProgress_Stub(
  1362.     IRpcStubBuffer *This,
  1363.     IRpcChannelBuffer *_pRpcChannelBuffer,
  1364.     PRPC_MESSAGE _pRpcMessage,
  1365.     DWORD *_pdwStubPhase);
  1366.  
  1367.  
  1368. HRESULT STDMETHODCALLTYPE IBindStatusCallback_OnStopBinding_Proxy( 
  1369.     IBindStatusCallback __RPC_FAR * This,
  1370.     /* [in] */ HRESULT hresult,
  1371.     /* [unique][in] */ LPCWSTR szError);
  1372.  
  1373.  
  1374. void __RPC_STUB IBindStatusCallback_OnStopBinding_Stub(
  1375.     IRpcStubBuffer *This,
  1376.     IRpcChannelBuffer *_pRpcChannelBuffer,
  1377.     PRPC_MESSAGE _pRpcMessage,
  1378.     DWORD *_pdwStubPhase);
  1379.  
  1380.  
  1381. /* [call_as] */ HRESULT STDMETHODCALLTYPE IBindStatusCallback_RemoteGetBindInfo_Proxy( 
  1382.     IBindStatusCallback __RPC_FAR * This,
  1383.     /* [out] */ DWORD __RPC_FAR *grfBINDF,
  1384.     /* [unique][out][in] */ RemBINDINFO __RPC_FAR *pbindinfo,
  1385.     /* [unique][out][in] */ RemSTGMEDIUM __RPC_FAR *pstgmed);
  1386.  
  1387.  
  1388. void __RPC_STUB IBindStatusCallback_RemoteGetBindInfo_Stub(
  1389.     IRpcStubBuffer *This,
  1390.     IRpcChannelBuffer *_pRpcChannelBuffer,
  1391.     PRPC_MESSAGE _pRpcMessage,
  1392.     DWORD *_pdwStubPhase);
  1393.  
  1394.  
  1395. /* [call_as] */ HRESULT STDMETHODCALLTYPE IBindStatusCallback_RemoteOnDataAvailable_Proxy( 
  1396.     IBindStatusCallback __RPC_FAR * This,
  1397.     /* [in] */ DWORD grfBSCF,
  1398.     /* [in] */ DWORD dwSize,
  1399.     /* [in] */ RemFORMATETC __RPC_FAR *pformatetc,
  1400.     /* [in] */ RemSTGMEDIUM __RPC_FAR *pstgmed);
  1401.  
  1402.  
  1403. void __RPC_STUB IBindStatusCallback_RemoteOnDataAvailable_Stub(
  1404.     IRpcStubBuffer *This,
  1405.     IRpcChannelBuffer *_pRpcChannelBuffer,
  1406.     PRPC_MESSAGE _pRpcMessage,
  1407.     DWORD *_pdwStubPhase);
  1408.  
  1409.  
  1410. HRESULT STDMETHODCALLTYPE IBindStatusCallback_OnObjectAvailable_Proxy( 
  1411.     IBindStatusCallback __RPC_FAR * This,
  1412.     /* [in] */ REFIID riid,
  1413.     /* [iid_is][in] */ IUnknown __RPC_FAR *punk);
  1414.  
  1415.  
  1416. void __RPC_STUB IBindStatusCallback_OnObjectAvailable_Stub(
  1417.     IRpcStubBuffer *This,
  1418.     IRpcChannelBuffer *_pRpcChannelBuffer,
  1419.     PRPC_MESSAGE _pRpcMessage,
  1420.     DWORD *_pdwStubPhase);
  1421.  
  1422.  
  1423.  
  1424. #endif     /* __IBindStatusCallback_INTERFACE_DEFINED__ */
  1425.  
  1426.  
  1427. /* interface __MIDL_itf_urlmon_0171 */
  1428. /* [local] */ 
  1429.  
  1430. #endif
  1431. #ifndef _LPAUTHENTICATION_DEFINED
  1432. #define _LPAUTHENTICATION_DEFINED
  1433.  
  1434.  
  1435. extern RPC_IF_HANDLE __MIDL_itf_urlmon_0171_v0_0_c_ifspec;
  1436. extern RPC_IF_HANDLE __MIDL_itf_urlmon_0171_v0_0_s_ifspec;
  1437.  
  1438. #ifndef __IAuthenticate_INTERFACE_DEFINED__
  1439. #define __IAuthenticate_INTERFACE_DEFINED__
  1440.  
  1441. /* interface IAuthenticate */
  1442. /* [unique][uuid][object] */ 
  1443.  
  1444. typedef /* [unique] */ IAuthenticate __RPC_FAR *LPAUTHENTICATION;
  1445.  
  1446.  
  1447. EXTERN_C const IID IID_IAuthenticate;
  1448.  
  1449. #if defined(__cplusplus) && !defined(CINTERFACE)
  1450.     
  1451.     MIDL_INTERFACE("79eac9d0-baf9-11ce-8c82-00aa004ba90b")
  1452.     IAuthenticate : public IUnknown
  1453.     {
  1454.     public:
  1455.         virtual HRESULT STDMETHODCALLTYPE Authenticate( 
  1456.             /* [out] */ HWND __RPC_FAR *phwnd,
  1457.             /* [out] */ LPWSTR __RPC_FAR *pszUsername,
  1458.             /* [out] */ LPWSTR __RPC_FAR *pszPassword) = 0;
  1459.         
  1460.     };
  1461.     
  1462. #else     /* C style interface */
  1463.  
  1464.     typedef struct IAuthenticateVtbl
  1465.     {
  1466.         BEGIN_INTERFACE
  1467.         
  1468.         HRESULT ( STDMETHODCALLTYPE __RPC_FAR *QueryInterface )( 
  1469.             IAuthenticate __RPC_FAR * This,
  1470.             /* [in] */ REFIID riid,
  1471.             /* [iid_is][out] */ void __RPC_FAR *__RPC_FAR *ppvObject);
  1472.         
  1473.         ULONG ( STDMETHODCALLTYPE __RPC_FAR *AddRef )( 
  1474.             IAuthenticate __RPC_FAR * This);
  1475.         
  1476.         ULONG ( STDMETHODCALLTYPE __RPC_FAR *Release )( 
  1477.             IAuthenticate __RPC_FAR * This);
  1478.         
  1479.         HRESULT ( STDMETHODCALLTYPE __RPC_FAR *Authenticate )( 
  1480.             IAuthenticate __RPC_FAR * This,
  1481.             /* [out] */ HWND __RPC_FAR *phwnd,
  1482.             /* [out] */ LPWSTR __RPC_FAR *pszUsername,
  1483.             /* [out] */ LPWSTR __RPC_FAR *pszPassword);
  1484.         
  1485.         END_INTERFACE
  1486.     } IAuthenticateVtbl;
  1487.  
  1488.     interface IAuthenticate
  1489.     {
  1490.         CONST_VTBL struct IAuthenticateVtbl __RPC_FAR *lpVtbl;
  1491.     };
  1492.  
  1493.     
  1494.  
  1495. #ifdef COBJMACROS
  1496.  
  1497.  
  1498. #define IAuthenticate_QueryInterface(This,riid,ppvObject)    \
  1499.     (This)->lpVtbl -> QueryInterface(This,riid,ppvObject)
  1500.  
  1501. #define IAuthenticate_AddRef(This)    \
  1502.     (This)->lpVtbl -> AddRef(This)
  1503.  
  1504. #define IAuthenticate_Release(This)    \
  1505.     (This)->lpVtbl -> Release(This)
  1506.  
  1507.  
  1508. #define IAuthenticate_Authenticate(This,phwnd,pszUsername,pszPassword)    \
  1509.     (This)->lpVtbl -> Authenticate(This,phwnd,pszUsername,pszPassword)
  1510.  
  1511. #endif /* COBJMACROS */
  1512.  
  1513.  
  1514. #endif     /* C style interface */
  1515.  
  1516.  
  1517.  
  1518. HRESULT STDMETHODCALLTYPE IAuthenticate_Authenticate_Proxy( 
  1519.     IAuthenticate __RPC_FAR * This,
  1520.     /* [out] */ HWND __RPC_FAR *phwnd,
  1521.     /* [out] */ LPWSTR __RPC_FAR *pszUsername,
  1522.     /* [out] */ LPWSTR __RPC_FAR *pszPassword);
  1523.  
  1524.  
  1525. void __RPC_STUB IAuthenticate_Authenticate_Stub(
  1526.     IRpcStubBuffer *This,
  1527.     IRpcChannelBuffer *_pRpcChannelBuffer,
  1528.     PRPC_MESSAGE _pRpcMessage,
  1529.     DWORD *_pdwStubPhase);
  1530.  
  1531.  
  1532.  
  1533. #endif     /* __IAuthenticate_INTERFACE_DEFINED__ */
  1534.  
  1535.  
  1536. /* interface __MIDL_itf_urlmon_0172 */
  1537. /* [local] */ 
  1538.  
  1539. #endif
  1540. #ifndef _LPHTTPNEGOTIATE_DEFINED
  1541. #define _LPHTTPNEGOTIATE_DEFINED
  1542.  
  1543.  
  1544. extern RPC_IF_HANDLE __MIDL_itf_urlmon_0172_v0_0_c_ifspec;
  1545. extern RPC_IF_HANDLE __MIDL_itf_urlmon_0172_v0_0_s_ifspec;
  1546.  
  1547. #ifndef __IHttpNegotiate_INTERFACE_DEFINED__
  1548. #define __IHttpNegotiate_INTERFACE_DEFINED__
  1549.  
  1550. /* interface IHttpNegotiate */
  1551. /* [unique][uuid][object] */ 
  1552.  
  1553. typedef /* [unique] */ IHttpNegotiate __RPC_FAR *LPHTTPNEGOTIATE;
  1554.  
  1555.  
  1556. EXTERN_C const IID IID_IHttpNegotiate;
  1557.  
  1558. #if defined(__cplusplus) && !defined(CINTERFACE)
  1559.     
  1560.     MIDL_INTERFACE("79eac9d2-baf9-11ce-8c82-00aa004ba90b")
  1561.     IHttpNegotiate : public IUnknown
  1562.     {
  1563.     public:
  1564.         virtual HRESULT STDMETHODCALLTYPE BeginningTransaction( 
  1565.             /* [in] */ LPCWSTR szURL,
  1566.             /* [unique][in] */ LPCWSTR szHeaders,
  1567.             /* [in] */ DWORD dwReserved,
  1568.             /* [out] */ LPWSTR __RPC_FAR *pszAdditionalHeaders) = 0;
  1569.         
  1570.         virtual HRESULT STDMETHODCALLTYPE OnResponse( 
  1571.             /* [in] */ DWORD dwResponseCode,
  1572.             /* [unique][in] */ LPCWSTR szResponseHeaders,
  1573.             /* [unique][in] */ LPCWSTR szRequestHeaders,
  1574.             /* [out] */ LPWSTR __RPC_FAR *pszAdditionalRequestHeaders) = 0;
  1575.         
  1576.     };
  1577.     
  1578. #else     /* C style interface */
  1579.  
  1580.     typedef struct IHttpNegotiateVtbl
  1581.     {
  1582.         BEGIN_INTERFACE
  1583.         
  1584.         HRESULT ( STDMETHODCALLTYPE __RPC_FAR *QueryInterface )( 
  1585.             IHttpNegotiate __RPC_FAR * This,
  1586.             /* [in] */ REFIID riid,
  1587.             /* [iid_is][out] */ void __RPC_FAR *__RPC_FAR *ppvObject);
  1588.         
  1589.         ULONG ( STDMETHODCALLTYPE __RPC_FAR *AddRef )( 
  1590.             IHttpNegotiate __RPC_FAR * This);
  1591.         
  1592.         ULONG ( STDMETHODCALLTYPE __RPC_FAR *Release )( 
  1593.             IHttpNegotiate __RPC_FAR * This);
  1594.         
  1595.         HRESULT ( STDMETHODCALLTYPE __RPC_FAR *BeginningTransaction )( 
  1596.             IHttpNegotiate __RPC_FAR * This,
  1597.             /* [in] */ LPCWSTR szURL,
  1598.             /* [unique][in] */ LPCWSTR szHeaders,
  1599.             /* [in] */ DWORD dwReserved,
  1600.             /* [out] */ LPWSTR __RPC_FAR *pszAdditionalHeaders);
  1601.         
  1602.         HRESULT ( STDMETHODCALLTYPE __RPC_FAR *OnResponse )( 
  1603.             IHttpNegotiate __RPC_FAR * This,
  1604.             /* [in] */ DWORD dwResponseCode,
  1605.             /* [unique][in] */ LPCWSTR szResponseHeaders,
  1606.             /* [unique][in] */ LPCWSTR szRequestHeaders,
  1607.             /* [out] */ LPWSTR __RPC_FAR *pszAdditionalRequestHeaders);
  1608.         
  1609.         END_INTERFACE
  1610.     } IHttpNegotiateVtbl;
  1611.  
  1612.     interface IHttpNegotiate
  1613.     {
  1614.         CONST_VTBL struct IHttpNegotiateVtbl __RPC_FAR *lpVtbl;
  1615.     };
  1616.  
  1617.     
  1618.  
  1619. #ifdef COBJMACROS
  1620.  
  1621.  
  1622. #define IHttpNegotiate_QueryInterface(This,riid,ppvObject)    \
  1623.     (This)->lpVtbl -> QueryInterface(This,riid,ppvObject)
  1624.  
  1625. #define IHttpNegotiate_AddRef(This)    \
  1626.     (This)->lpVtbl -> AddRef(This)
  1627.  
  1628. #define IHttpNegotiate_Release(This)    \
  1629.     (This)->lpVtbl -> Release(This)
  1630.  
  1631.  
  1632. #define IHttpNegotiate_BeginningTransaction(This,szURL,szHeaders,dwReserved,pszAdditionalHeaders)    \
  1633.     (This)->lpVtbl -> BeginningTransaction(This,szURL,szHeaders,dwReserved,pszAdditionalHeaders)
  1634.  
  1635. #define IHttpNegotiate_OnResponse(This,dwResponseCode,szResponseHeaders,szRequestHeaders,pszAdditionalRequestHeaders)    \
  1636.     (This)->lpVtbl -> OnResponse(This,dwResponseCode,szResponseHeaders,szRequestHeaders,pszAdditionalRequestHeaders)
  1637.  
  1638. #endif /* COBJMACROS */
  1639.  
  1640.  
  1641. #endif     /* C style interface */
  1642.  
  1643.  
  1644.  
  1645. HRESULT STDMETHODCALLTYPE IHttpNegotiate_BeginningTransaction_Proxy( 
  1646.     IHttpNegotiate __RPC_FAR * This,
  1647.     /* [in] */ LPCWSTR szURL,
  1648.     /* [unique][in] */ LPCWSTR szHeaders,
  1649.     /* [in] */ DWORD dwReserved,
  1650.     /* [out] */ LPWSTR __RPC_FAR *pszAdditionalHeaders);
  1651.  
  1652.  
  1653. void __RPC_STUB IHttpNegotiate_BeginningTransaction_Stub(
  1654.     IRpcStubBuffer *This,
  1655.     IRpcChannelBuffer *_pRpcChannelBuffer,
  1656.     PRPC_MESSAGE _pRpcMessage,
  1657.     DWORD *_pdwStubPhase);
  1658.  
  1659.  
  1660. HRESULT STDMETHODCALLTYPE IHttpNegotiate_OnResponse_Proxy( 
  1661.     IHttpNegotiate __RPC_FAR * This,
  1662.     /* [in] */ DWORD dwResponseCode,
  1663.     /* [unique][in] */ LPCWSTR szResponseHeaders,
  1664.     /* [unique][in] */ LPCWSTR szRequestHeaders,
  1665.     /* [out] */ LPWSTR __RPC_FAR *pszAdditionalRequestHeaders);
  1666.  
  1667.  
  1668. void __RPC_STUB IHttpNegotiate_OnResponse_Stub(
  1669.     IRpcStubBuffer *This,
  1670.     IRpcChannelBuffer *_pRpcChannelBuffer,
  1671.     PRPC_MESSAGE _pRpcMessage,
  1672.     DWORD *_pdwStubPhase);
  1673.  
  1674.  
  1675.  
  1676. #endif     /* __IHttpNegotiate_INTERFACE_DEFINED__ */
  1677.  
  1678.  
  1679. /* interface __MIDL_itf_urlmon_0173 */
  1680. /* [local] */ 
  1681.  
  1682. #endif
  1683. #ifndef _LPWINDOWFORBINDINGUI_DEFINED
  1684. #define _LPWINDOWFORBINDINGUI_DEFINED
  1685.  
  1686.  
  1687. extern RPC_IF_HANDLE __MIDL_itf_urlmon_0173_v0_0_c_ifspec;
  1688. extern RPC_IF_HANDLE __MIDL_itf_urlmon_0173_v0_0_s_ifspec;
  1689.  
  1690. #ifndef __IWindowForBindingUI_INTERFACE_DEFINED__
  1691. #define __IWindowForBindingUI_INTERFACE_DEFINED__
  1692.  
  1693. /* interface IWindowForBindingUI */
  1694. /* [unique][uuid][object][local] */ 
  1695.  
  1696. typedef /* [unique] */ IWindowForBindingUI __RPC_FAR *LPWINDOWFORBINDINGUI;
  1697.  
  1698.  
  1699. EXTERN_C const IID IID_IWindowForBindingUI;
  1700.  
  1701. #if defined(__cplusplus) && !defined(CINTERFACE)
  1702.     
  1703.     MIDL_INTERFACE("79eac9d5-bafa-11ce-8c82-00aa004ba90b")
  1704.     IWindowForBindingUI : public IUnknown
  1705.     {
  1706.     public:
  1707.         virtual HRESULT STDMETHODCALLTYPE GetWindow( 
  1708.             /* [in] */ REFGUID rguidReason,
  1709.             /* [out] */ HWND __RPC_FAR *phwnd) = 0;
  1710.         
  1711.     };
  1712.     
  1713. #else     /* C style interface */
  1714.  
  1715.     typedef struct IWindowForBindingUIVtbl
  1716.     {
  1717.         BEGIN_INTERFACE
  1718.         
  1719.         HRESULT ( STDMETHODCALLTYPE __RPC_FAR *QueryInterface )( 
  1720.             IWindowForBindingUI __RPC_FAR * This,
  1721.             /* [in] */ REFIID riid,
  1722.             /* [iid_is][out] */ void __RPC_FAR *__RPC_FAR *ppvObject);
  1723.         
  1724.         ULONG ( STDMETHODCALLTYPE __RPC_FAR *AddRef )( 
  1725.             IWindowForBindingUI __RPC_FAR * This);
  1726.         
  1727.         ULONG ( STDMETHODCALLTYPE __RPC_FAR *Release )( 
  1728.             IWindowForBindingUI __RPC_FAR * This);
  1729.         
  1730.         HRESULT ( STDMETHODCALLTYPE __RPC_FAR *GetWindow )( 
  1731.             IWindowForBindingUI __RPC_FAR * This,
  1732.             /* [in] */ REFGUID rguidReason,
  1733.             /* [out] */ HWND __RPC_FAR *phwnd);
  1734.         
  1735.         END_INTERFACE
  1736.     } IWindowForBindingUIVtbl;
  1737.  
  1738.     interface IWindowForBindingUI
  1739.     {
  1740.         CONST_VTBL struct IWindowForBindingUIVtbl __RPC_FAR *lpVtbl;
  1741.     };
  1742.  
  1743.     
  1744.  
  1745. #ifdef COBJMACROS
  1746.  
  1747.  
  1748. #define IWindowForBindingUI_QueryInterface(This,riid,ppvObject)    \
  1749.     (This)->lpVtbl -> QueryInterface(This,riid,ppvObject)
  1750.  
  1751. #define IWindowForBindingUI_AddRef(This)    \
  1752.     (This)->lpVtbl -> AddRef(This)
  1753.  
  1754. #define IWindowForBindingUI_Release(This)    \
  1755.     (This)->lpVtbl -> Release(This)
  1756.  
  1757.  
  1758. #define IWindowForBindingUI_GetWindow(This,rguidReason,phwnd)    \
  1759.     (This)->lpVtbl -> GetWindow(This,rguidReason,phwnd)
  1760.  
  1761. #endif /* COBJMACROS */
  1762.  
  1763.  
  1764. #endif     /* C style interface */
  1765.  
  1766.  
  1767.  
  1768. HRESULT STDMETHODCALLTYPE IWindowForBindingUI_GetWindow_Proxy( 
  1769.     IWindowForBindingUI __RPC_FAR * This,
  1770.     /* [in] */ REFGUID rguidReason,
  1771.     /* [out] */ HWND __RPC_FAR *phwnd);
  1772.  
  1773.  
  1774. void __RPC_STUB IWindowForBindingUI_GetWindow_Stub(
  1775.     IRpcStubBuffer *This,
  1776.     IRpcChannelBuffer *_pRpcChannelBuffer,
  1777.     PRPC_MESSAGE _pRpcMessage,
  1778.     DWORD *_pdwStubPhase);
  1779.  
  1780.  
  1781.  
  1782. #endif     /* __IWindowForBindingUI_INTERFACE_DEFINED__ */
  1783.  
  1784.  
  1785. /* interface __MIDL_itf_urlmon_0174 */
  1786. /* [local] */ 
  1787.  
  1788. #endif
  1789. #ifndef _LPCODEINSTALL_DEFINED
  1790. #define _LPCODEINSTALL_DEFINED
  1791.  
  1792.  
  1793. extern RPC_IF_HANDLE __MIDL_itf_urlmon_0174_v0_0_c_ifspec;
  1794. extern RPC_IF_HANDLE __MIDL_itf_urlmon_0174_v0_0_s_ifspec;
  1795.  
  1796. #ifndef __ICodeInstall_INTERFACE_DEFINED__
  1797. #define __ICodeInstall_INTERFACE_DEFINED__
  1798.  
  1799. /* interface ICodeInstall */
  1800. /* [unique][uuid][object][local] */ 
  1801.  
  1802. typedef /* [unique] */ ICodeInstall __RPC_FAR *LPCODEINSTALL;
  1803.  
  1804. typedef /* [public] */ 
  1805. enum __MIDL_ICodeInstall_0001
  1806.     {    CIP_DISK_FULL    = 0,
  1807.     CIP_ACCESS_DENIED    = CIP_DISK_FULL + 1,
  1808.     CIP_NEWER_VERSION_EXISTS    = CIP_ACCESS_DENIED + 1,
  1809.     CIP_OLDER_VERSION_EXISTS    = CIP_NEWER_VERSION_EXISTS + 1,
  1810.     CIP_NAME_CONFLICT    = CIP_OLDER_VERSION_EXISTS + 1,
  1811.     CIP_TRUST_VERIFICATION_COMPONENT_MISSING    = CIP_NAME_CONFLICT + 1,
  1812.     CIP_EXE_SELF_REGISTERATION_TIMEOUT    = CIP_TRUST_VERIFICATION_COMPONENT_MISSING + 1,
  1813.     CIP_UNSAFE_TO_ABORT    = CIP_EXE_SELF_REGISTERATION_TIMEOUT + 1,
  1814.     CIP_NEED_REBOOT    = CIP_UNSAFE_TO_ABORT + 1
  1815.     }    CIP_STATUS;
  1816.  
  1817.  
  1818. EXTERN_C const IID IID_ICodeInstall;
  1819.  
  1820. #if defined(__cplusplus) && !defined(CINTERFACE)
  1821.     
  1822.     MIDL_INTERFACE("79eac9d1-baf9-11ce-8c82-00aa004ba90b")
  1823.     ICodeInstall : public IWindowForBindingUI
  1824.     {
  1825.     public:
  1826.         virtual HRESULT STDMETHODCALLTYPE OnCodeInstallProblem( 
  1827.             /* [in] */ ULONG ulStatusCode,
  1828.             /* [unique][in] */ LPCWSTR szDestination,
  1829.             /* [unique][in] */ LPCWSTR szSource,
  1830.             /* [in] */ DWORD dwReserved) = 0;
  1831.         
  1832.     };
  1833.     
  1834. #else     /* C style interface */
  1835.  
  1836.     typedef struct ICodeInstallVtbl
  1837.     {
  1838.         BEGIN_INTERFACE
  1839.         
  1840.         HRESULT ( STDMETHODCALLTYPE __RPC_FAR *QueryInterface )( 
  1841.             ICodeInstall __RPC_FAR * This,
  1842.             /* [in] */ REFIID riid,
  1843.             /* [iid_is][out] */ void __RPC_FAR *__RPC_FAR *ppvObject);
  1844.         
  1845.         ULONG ( STDMETHODCALLTYPE __RPC_FAR *AddRef )( 
  1846.             ICodeInstall __RPC_FAR * This);
  1847.         
  1848.         ULONG ( STDMETHODCALLTYPE __RPC_FAR *Release )( 
  1849.             ICodeInstall __RPC_FAR * This);
  1850.         
  1851.         HRESULT ( STDMETHODCALLTYPE __RPC_FAR *GetWindow )( 
  1852.             ICodeInstall __RPC_FAR * This,
  1853.             /* [in] */ REFGUID rguidReason,
  1854.             /* [out] */ HWND __RPC_FAR *phwnd);
  1855.         
  1856.         HRESULT ( STDMETHODCALLTYPE __RPC_FAR *OnCodeInstallProblem )( 
  1857.             ICodeInstall __RPC_FAR * This,
  1858.             /* [in] */ ULONG ulStatusCode,
  1859.             /* [unique][in] */ LPCWSTR szDestination,
  1860.             /* [unique][in] */ LPCWSTR szSource,
  1861.             /* [in] */ DWORD dwReserved);
  1862.         
  1863.         END_INTERFACE
  1864.     } ICodeInstallVtbl;
  1865.  
  1866.     interface ICodeInstall
  1867.     {
  1868.         CONST_VTBL struct ICodeInstallVtbl __RPC_FAR *lpVtbl;
  1869.     };
  1870.  
  1871.     
  1872.  
  1873. #ifdef COBJMACROS
  1874.  
  1875.  
  1876. #define ICodeInstall_QueryInterface(This,riid,ppvObject)    \
  1877.     (This)->lpVtbl -> QueryInterface(This,riid,ppvObject)
  1878.  
  1879. #define ICodeInstall_AddRef(This)    \
  1880.     (This)->lpVtbl -> AddRef(This)
  1881.  
  1882. #define ICodeInstall_Release(This)    \
  1883.     (This)->lpVtbl -> Release(This)
  1884.  
  1885.  
  1886. #define ICodeInstall_GetWindow(This,rguidReason,phwnd)    \
  1887.     (This)->lpVtbl -> GetWindow(This,rguidReason,phwnd)
  1888.  
  1889.  
  1890. #define ICodeInstall_OnCodeInstallProblem(This,ulStatusCode,szDestination,szSource,dwReserved)    \
  1891.     (This)->lpVtbl -> OnCodeInstallProblem(This,ulStatusCode,szDestination,szSource,dwReserved)
  1892.  
  1893. #endif /* COBJMACROS */
  1894.  
  1895.  
  1896. #endif     /* C style interface */
  1897.  
  1898.  
  1899.  
  1900. HRESULT STDMETHODCALLTYPE ICodeInstall_OnCodeInstallProblem_Proxy( 
  1901.     ICodeInstall __RPC_FAR * This,
  1902.     /* [in] */ ULONG ulStatusCode,
  1903.     /* [unique][in] */ LPCWSTR szDestination,
  1904.     /* [unique][in] */ LPCWSTR szSource,
  1905.     /* [in] */ DWORD dwReserved);
  1906.  
  1907.  
  1908. void __RPC_STUB ICodeInstall_OnCodeInstallProblem_Stub(
  1909.     IRpcStubBuffer *This,
  1910.     IRpcChannelBuffer *_pRpcChannelBuffer,
  1911.     PRPC_MESSAGE _pRpcMessage,
  1912.     DWORD *_pdwStubPhase);
  1913.  
  1914.  
  1915.  
  1916. #endif     /* __ICodeInstall_INTERFACE_DEFINED__ */
  1917.  
  1918.  
  1919. /* interface __MIDL_itf_urlmon_0175 */
  1920. /* [local] */ 
  1921.  
  1922. #endif
  1923. #ifndef _LPWININETINFO_DEFINED
  1924. #define _LPWININETINFO_DEFINED
  1925.  
  1926.  
  1927. extern RPC_IF_HANDLE __MIDL_itf_urlmon_0175_v0_0_c_ifspec;
  1928. extern RPC_IF_HANDLE __MIDL_itf_urlmon_0175_v0_0_s_ifspec;
  1929.  
  1930. #ifndef __IWinInetInfo_INTERFACE_DEFINED__
  1931. #define __IWinInetInfo_INTERFACE_DEFINED__
  1932.  
  1933. /* interface IWinInetInfo */
  1934. /* [unique][uuid][object] */ 
  1935.  
  1936. typedef /* [unique] */ IWinInetInfo __RPC_FAR *LPWININETINFO;
  1937.  
  1938.  
  1939. EXTERN_C const IID IID_IWinInetInfo;
  1940.  
  1941. #if defined(__cplusplus) && !defined(CINTERFACE)
  1942.     
  1943.     MIDL_INTERFACE("79eac9d6-bafa-11ce-8c82-00aa004ba90b")
  1944.     IWinInetInfo : public IUnknown
  1945.     {
  1946.     public:
  1947.         virtual /* [local] */ HRESULT STDMETHODCALLTYPE QueryOption( 
  1948.             /* [in] */ DWORD dwOption,
  1949.             /* [size_is][out][in] */ LPVOID pBuffer,
  1950.             /* [out][in] */ DWORD __RPC_FAR *pcbBuf) = 0;
  1951.         
  1952.     };
  1953.     
  1954. #else     /* C style interface */
  1955.  
  1956.     typedef struct IWinInetInfoVtbl
  1957.     {
  1958.         BEGIN_INTERFACE
  1959.         
  1960.         HRESULT ( STDMETHODCALLTYPE __RPC_FAR *QueryInterface )( 
  1961.             IWinInetInfo __RPC_FAR * This,
  1962.             /* [in] */ REFIID riid,
  1963.             /* [iid_is][out] */ void __RPC_FAR *__RPC_FAR *ppvObject);
  1964.         
  1965.         ULONG ( STDMETHODCALLTYPE __RPC_FAR *AddRef )( 
  1966.             IWinInetInfo __RPC_FAR * This);
  1967.         
  1968.         ULONG ( STDMETHODCALLTYPE __RPC_FAR *Release )( 
  1969.             IWinInetInfo __RPC_FAR * This);
  1970.         
  1971.         /* [local] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *QueryOption )( 
  1972.             IWinInetInfo __RPC_FAR * This,
  1973.             /* [in] */ DWORD dwOption,
  1974.             /* [size_is][out][in] */ LPVOID pBuffer,
  1975.             /* [out][in] */ DWORD __RPC_FAR *pcbBuf);
  1976.         
  1977.         END_INTERFACE
  1978.     } IWinInetInfoVtbl;
  1979.  
  1980.     interface IWinInetInfo
  1981.     {
  1982.         CONST_VTBL struct IWinInetInfoVtbl __RPC_FAR *lpVtbl;
  1983.     };
  1984.  
  1985.     
  1986.  
  1987. #ifdef COBJMACROS
  1988.  
  1989.  
  1990. #define IWinInetInfo_QueryInterface(This,riid,ppvObject)    \
  1991.     (This)->lpVtbl -> QueryInterface(This,riid,ppvObject)
  1992.  
  1993. #define IWinInetInfo_AddRef(This)    \
  1994.     (This)->lpVtbl -> AddRef(This)
  1995.  
  1996. #define IWinInetInfo_Release(This)    \
  1997.     (This)->lpVtbl -> Release(This)
  1998.  
  1999.  
  2000. #define IWinInetInfo_QueryOption(This,dwOption,pBuffer,pcbBuf)    \
  2001.     (This)->lpVtbl -> QueryOption(This,dwOption,pBuffer,pcbBuf)
  2002.  
  2003. #endif /* COBJMACROS */
  2004.  
  2005.  
  2006. #endif     /* C style interface */
  2007.  
  2008.  
  2009.  
  2010. /* [call_as] */ HRESULT STDMETHODCALLTYPE IWinInetInfo_RemoteQueryOption_Proxy( 
  2011.     IWinInetInfo __RPC_FAR * This,
  2012.     /* [in] */ DWORD dwOption,
  2013.     /* [size_is][out][in] */ BYTE __RPC_FAR *pBuffer,
  2014.     /* [out][in] */ DWORD __RPC_FAR *pcbBuf);
  2015.  
  2016.  
  2017. void __RPC_STUB IWinInetInfo_RemoteQueryOption_Stub(
  2018.     IRpcStubBuffer *This,
  2019.     IRpcChannelBuffer *_pRpcChannelBuffer,
  2020.     PRPC_MESSAGE _pRpcMessage,
  2021.     DWORD *_pdwStubPhase);
  2022.  
  2023.  
  2024.  
  2025. #endif     /* __IWinInetInfo_INTERFACE_DEFINED__ */
  2026.  
  2027.  
  2028. /* interface __MIDL_itf_urlmon_0176 */
  2029. /* [local] */ 
  2030.  
  2031. #endif
  2032. #define WININETINFO_OPTION_LOCK_HANDLE 65534
  2033. #ifndef _LPHTTPSECURITY_DEFINED
  2034. #define _LPHTTPSECURITY_DEFINED
  2035.  
  2036.  
  2037. extern RPC_IF_HANDLE __MIDL_itf_urlmon_0176_v0_0_c_ifspec;
  2038. extern RPC_IF_HANDLE __MIDL_itf_urlmon_0176_v0_0_s_ifspec;
  2039.  
  2040. #ifndef __IHttpSecurity_INTERFACE_DEFINED__
  2041. #define __IHttpSecurity_INTERFACE_DEFINED__
  2042.  
  2043. /* interface IHttpSecurity */
  2044. /* [unique][uuid][object][local] */ 
  2045.  
  2046. typedef /* [unique] */ IHttpSecurity __RPC_FAR *LPHTTPSECURITY;
  2047.  
  2048.  
  2049. EXTERN_C const IID IID_IHttpSecurity;
  2050.  
  2051. #if defined(__cplusplus) && !defined(CINTERFACE)
  2052.     
  2053.     MIDL_INTERFACE("79eac9d7-bafa-11ce-8c82-00aa004ba90b")
  2054.     IHttpSecurity : public IWindowForBindingUI
  2055.     {
  2056.     public:
  2057.         virtual HRESULT STDMETHODCALLTYPE OnSecurityProblem( 
  2058.             /* [in] */ DWORD dwProblem) = 0;
  2059.         
  2060.     };
  2061.     
  2062. #else     /* C style interface */
  2063.  
  2064.     typedef struct IHttpSecurityVtbl
  2065.     {
  2066.         BEGIN_INTERFACE
  2067.         
  2068.         HRESULT ( STDMETHODCALLTYPE __RPC_FAR *QueryInterface )( 
  2069.             IHttpSecurity __RPC_FAR * This,
  2070.             /* [in] */ REFIID riid,
  2071.             /* [iid_is][out] */ void __RPC_FAR *__RPC_FAR *ppvObject);
  2072.         
  2073.         ULONG ( STDMETHODCALLTYPE __RPC_FAR *AddRef )( 
  2074.             IHttpSecurity __RPC_FAR * This);
  2075.         
  2076.         ULONG ( STDMETHODCALLTYPE __RPC_FAR *Release )( 
  2077.             IHttpSecurity __RPC_FAR * This);
  2078.         
  2079.         HRESULT ( STDMETHODCALLTYPE __RPC_FAR *GetWindow )( 
  2080.             IHttpSecurity __RPC_FAR * This,
  2081.             /* [in] */ REFGUID rguidReason,
  2082.             /* [out] */ HWND __RPC_FAR *phwnd);
  2083.         
  2084.         HRESULT ( STDMETHODCALLTYPE __RPC_FAR *OnSecurityProblem )( 
  2085.             IHttpSecurity __RPC_FAR * This,
  2086.             /* [in] */ DWORD dwProblem);
  2087.         
  2088.         END_INTERFACE
  2089.     } IHttpSecurityVtbl;
  2090.  
  2091.     interface IHttpSecurity
  2092.     {
  2093.         CONST_VTBL struct IHttpSecurityVtbl __RPC_FAR *lpVtbl;
  2094.     };
  2095.  
  2096.     
  2097.  
  2098. #ifdef COBJMACROS
  2099.  
  2100.  
  2101. #define IHttpSecurity_QueryInterface(This,riid,ppvObject)    \
  2102.     (This)->lpVtbl -> QueryInterface(This,riid,ppvObject)
  2103.  
  2104. #define IHttpSecurity_AddRef(This)    \
  2105.     (This)->lpVtbl -> AddRef(This)
  2106.  
  2107. #define IHttpSecurity_Release(This)    \
  2108.     (This)->lpVtbl -> Release(This)
  2109.  
  2110.  
  2111. #define IHttpSecurity_GetWindow(This,rguidReason,phwnd)    \
  2112.     (This)->lpVtbl -> GetWindow(This,rguidReason,phwnd)
  2113.  
  2114.  
  2115. #define IHttpSecurity_OnSecurityProblem(This,dwProblem)    \
  2116.     (This)->lpVtbl -> OnSecurityProblem(This,dwProblem)
  2117.  
  2118. #endif /* COBJMACROS */
  2119.  
  2120.  
  2121. #endif     /* C style interface */
  2122.  
  2123.  
  2124.  
  2125. HRESULT STDMETHODCALLTYPE IHttpSecurity_OnSecurityProblem_Proxy( 
  2126.     IHttpSecurity __RPC_FAR * This,
  2127.     /* [in] */ DWORD dwProblem);
  2128.  
  2129.  
  2130. void __RPC_STUB IHttpSecurity_OnSecurityProblem_Stub(
  2131.     IRpcStubBuffer *This,
  2132.     IRpcChannelBuffer *_pRpcChannelBuffer,
  2133.     PRPC_MESSAGE _pRpcMessage,
  2134.     DWORD *_pdwStubPhase);
  2135.  
  2136.  
  2137.  
  2138. #endif     /* __IHttpSecurity_INTERFACE_DEFINED__ */
  2139.  
  2140.  
  2141. /* interface __MIDL_itf_urlmon_0177 */
  2142. /* [local] */ 
  2143.  
  2144. #endif
  2145. #ifndef _LPWININETHTTPINFO_DEFINED
  2146. #define _LPWININETHTTPINFO_DEFINED
  2147.  
  2148.  
  2149. extern RPC_IF_HANDLE __MIDL_itf_urlmon_0177_v0_0_c_ifspec;
  2150. extern RPC_IF_HANDLE __MIDL_itf_urlmon_0177_v0_0_s_ifspec;
  2151.  
  2152. #ifndef __IWinInetHttpInfo_INTERFACE_DEFINED__
  2153. #define __IWinInetHttpInfo_INTERFACE_DEFINED__
  2154.  
  2155. /* interface IWinInetHttpInfo */
  2156. /* [unique][uuid][object] */ 
  2157.  
  2158. typedef /* [unique] */ IWinInetHttpInfo __RPC_FAR *LPWININETHTTPINFO;
  2159.  
  2160.  
  2161. EXTERN_C const IID IID_IWinInetHttpInfo;
  2162.  
  2163. #if defined(__cplusplus) && !defined(CINTERFACE)
  2164.     
  2165.     MIDL_INTERFACE("79eac9d8-bafa-11ce-8c82-00aa004ba90b")
  2166.     IWinInetHttpInfo : public IWinInetInfo
  2167.     {
  2168.     public:
  2169.         virtual /* [local] */ HRESULT STDMETHODCALLTYPE QueryInfo( 
  2170.             /* [in] */ DWORD dwOption,
  2171.             /* [size_is][out][in] */ LPVOID pBuffer,
  2172.             /* [out][in] */ DWORD __RPC_FAR *pcbBuf,
  2173.             /* [out][in] */ DWORD __RPC_FAR *pdwFlags,
  2174.             /* [out][in] */ DWORD __RPC_FAR *pdwReserved) = 0;
  2175.         
  2176.     };
  2177.     
  2178. #else     /* C style interface */
  2179.  
  2180.     typedef struct IWinInetHttpInfoVtbl
  2181.     {
  2182.         BEGIN_INTERFACE
  2183.         
  2184.         HRESULT ( STDMETHODCALLTYPE __RPC_FAR *QueryInterface )( 
  2185.             IWinInetHttpInfo __RPC_FAR * This,
  2186.             /* [in] */ REFIID riid,
  2187.             /* [iid_is][out] */ void __RPC_FAR *__RPC_FAR *ppvObject);
  2188.         
  2189.         ULONG ( STDMETHODCALLTYPE __RPC_FAR *AddRef )( 
  2190.             IWinInetHttpInfo __RPC_FAR * This);
  2191.         
  2192.         ULONG ( STDMETHODCALLTYPE __RPC_FAR *Release )( 
  2193.             IWinInetHttpInfo __RPC_FAR * This);
  2194.         
  2195.         /* [local] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *QueryOption )( 
  2196.             IWinInetHttpInfo __RPC_FAR * This,
  2197.             /* [in] */ DWORD dwOption,
  2198.             /* [size_is][out][in] */ LPVOID pBuffer,
  2199.             /* [out][in] */ DWORD __RPC_FAR *pcbBuf);
  2200.         
  2201.         /* [local] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *QueryInfo )( 
  2202.             IWinInetHttpInfo __RPC_FAR * This,
  2203.             /* [in] */ DWORD dwOption,
  2204.             /* [size_is][out][in] */ LPVOID pBuffer,
  2205.             /* [out][in] */ DWORD __RPC_FAR *pcbBuf,
  2206.             /* [out][in] */ DWORD __RPC_FAR *pdwFlags,
  2207.             /* [out][in] */ DWORD __RPC_FAR *pdwReserved);
  2208.         
  2209.         END_INTERFACE
  2210.     } IWinInetHttpInfoVtbl;
  2211.  
  2212.     interface IWinInetHttpInfo
  2213.     {
  2214.         CONST_VTBL struct IWinInetHttpInfoVtbl __RPC_FAR *lpVtbl;
  2215.     };
  2216.  
  2217.     
  2218.  
  2219. #ifdef COBJMACROS
  2220.  
  2221.  
  2222. #define IWinInetHttpInfo_QueryInterface(This,riid,ppvObject)    \
  2223.     (This)->lpVtbl -> QueryInterface(This,riid,ppvObject)
  2224.  
  2225. #define IWinInetHttpInfo_AddRef(This)    \
  2226.     (This)->lpVtbl -> AddRef(This)
  2227.  
  2228. #define IWinInetHttpInfo_Release(This)    \
  2229.     (This)->lpVtbl -> Release(This)
  2230.  
  2231.  
  2232. #define IWinInetHttpInfo_QueryOption(This,dwOption,pBuffer,pcbBuf)    \
  2233.     (This)->lpVtbl -> QueryOption(This,dwOption,pBuffer,pcbBuf)
  2234.  
  2235.  
  2236. #define IWinInetHttpInfo_QueryInfo(This,dwOption,pBuffer,pcbBuf,pdwFlags,pdwReserved)    \
  2237.     (This)->lpVtbl -> QueryInfo(This,dwOption,pBuffer,pcbBuf,pdwFlags,pdwReserved)
  2238.  
  2239. #endif /* COBJMACROS */
  2240.  
  2241.  
  2242. #endif     /* C style interface */
  2243.  
  2244.  
  2245.  
  2246. /* [call_as] */ HRESULT STDMETHODCALLTYPE IWinInetHttpInfo_RemoteQueryInfo_Proxy( 
  2247.     IWinInetHttpInfo __RPC_FAR * This,
  2248.     /* [in] */ DWORD dwOption,
  2249.     /* [size_is][out][in] */ BYTE __RPC_FAR *pBuffer,
  2250.     /* [out][in] */ DWORD __RPC_FAR *pcbBuf,
  2251.     /* [out][in] */ DWORD __RPC_FAR *pdwFlags,
  2252.     /* [out][in] */ DWORD __RPC_FAR *pdwReserved);
  2253.  
  2254.  
  2255. void __RPC_STUB IWinInetHttpInfo_RemoteQueryInfo_Stub(
  2256.     IRpcStubBuffer *This,
  2257.     IRpcChannelBuffer *_pRpcChannelBuffer,
  2258.     PRPC_MESSAGE _pRpcMessage,
  2259.     DWORD *_pdwStubPhase);
  2260.  
  2261.  
  2262.  
  2263. #endif     /* __IWinInetHttpInfo_INTERFACE_DEFINED__ */
  2264.  
  2265.  
  2266. /* interface __MIDL_itf_urlmon_0178 */
  2267. /* [local] */ 
  2268.  
  2269. #endif
  2270. #define SID_IBindHost IID_IBindHost
  2271. #define SID_SBindHost IID_IBindHost
  2272. #ifndef _LPBINDHOST_DEFINED
  2273. #define _LPBINDHOST_DEFINED
  2274. EXTERN_C const GUID SID_BindHost;
  2275.  
  2276.  
  2277. extern RPC_IF_HANDLE __MIDL_itf_urlmon_0178_v0_0_c_ifspec;
  2278. extern RPC_IF_HANDLE __MIDL_itf_urlmon_0178_v0_0_s_ifspec;
  2279.  
  2280. #ifndef __IBindHost_INTERFACE_DEFINED__
  2281. #define __IBindHost_INTERFACE_DEFINED__
  2282.  
  2283. /* interface IBindHost */
  2284. /* [unique][uuid][object] */ 
  2285.  
  2286. typedef /* [unique] */ IBindHost __RPC_FAR *LPBINDHOST;
  2287.  
  2288.  
  2289. EXTERN_C const IID IID_IBindHost;
  2290.  
  2291. #if defined(__cplusplus) && !defined(CINTERFACE)
  2292.     
  2293.     MIDL_INTERFACE("fc4801a1-2ba9-11cf-a229-00aa003d7352")
  2294.     IBindHost : public IUnknown
  2295.     {
  2296.     public:
  2297.         virtual HRESULT STDMETHODCALLTYPE CreateMoniker( 
  2298.             /* [in] */ LPOLESTR szName,
  2299.             /* [in] */ IBindCtx __RPC_FAR *pBC,
  2300.             /* [out] */ IMoniker __RPC_FAR *__RPC_FAR *ppmk,
  2301.             /* [in] */ DWORD dwReserved) = 0;
  2302.         
  2303.         virtual /* [local] */ HRESULT STDMETHODCALLTYPE MonikerBindToStorage( 
  2304.             /* [in] */ IMoniker __RPC_FAR *pMk,
  2305.             /* [in] */ IBindCtx __RPC_FAR *pBC,
  2306.             /* [in] */ IBindStatusCallback __RPC_FAR *pBSC,
  2307.             /* [in] */ REFIID riid,
  2308.             /* [out] */ void __RPC_FAR *__RPC_FAR *ppvObj) = 0;
  2309.         
  2310.         virtual /* [local] */ HRESULT STDMETHODCALLTYPE MonikerBindToObject( 
  2311.             /* [in] */ IMoniker __RPC_FAR *pMk,
  2312.             /* [in] */ IBindCtx __RPC_FAR *pBC,
  2313.             /* [in] */ IBindStatusCallback __RPC_FAR *pBSC,
  2314.             /* [in] */ REFIID riid,
  2315.             /* [out] */ void __RPC_FAR *__RPC_FAR *ppvObj) = 0;
  2316.         
  2317.     };
  2318.     
  2319. #else     /* C style interface */
  2320.  
  2321.     typedef struct IBindHostVtbl
  2322.     {
  2323.         BEGIN_INTERFACE
  2324.         
  2325.         HRESULT ( STDMETHODCALLTYPE __RPC_FAR *QueryInterface )( 
  2326.             IBindHost __RPC_FAR * This,
  2327.             /* [in] */ REFIID riid,
  2328.             /* [iid_is][out] */ void __RPC_FAR *__RPC_FAR *ppvObject);
  2329.         
  2330.         ULONG ( STDMETHODCALLTYPE __RPC_FAR *AddRef )( 
  2331.             IBindHost __RPC_FAR * This);
  2332.         
  2333.         ULONG ( STDMETHODCALLTYPE __RPC_FAR *Release )( 
  2334.             IBindHost __RPC_FAR * This);
  2335.         
  2336.         HRESULT ( STDMETHODCALLTYPE __RPC_FAR *CreateMoniker )( 
  2337.             IBindHost __RPC_FAR * This,
  2338.             /* [in] */ LPOLESTR szName,
  2339.             /* [in] */ IBindCtx __RPC_FAR *pBC,
  2340.             /* [out] */ IMoniker __RPC_FAR *__RPC_FAR *ppmk,
  2341.             /* [in] */ DWORD dwReserved);
  2342.         
  2343.         /* [local] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *MonikerBindToStorage )( 
  2344.             IBindHost __RPC_FAR * This,
  2345.             /* [in] */ IMoniker __RPC_FAR *pMk,
  2346.             /* [in] */ IBindCtx __RPC_FAR *pBC,
  2347.             /* [in] */ IBindStatusCallback __RPC_FAR *pBSC,
  2348.             /* [in] */ REFIID riid,
  2349.             /* [out] */ void __RPC_FAR *__RPC_FAR *ppvObj);
  2350.         
  2351.         /* [local] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *MonikerBindToObject )( 
  2352.             IBindHost __RPC_FAR * This,
  2353.             /* [in] */ IMoniker __RPC_FAR *pMk,
  2354.             /* [in] */ IBindCtx __RPC_FAR *pBC,
  2355.             /* [in] */ IBindStatusCallback __RPC_FAR *pBSC,
  2356.             /* [in] */ REFIID riid,
  2357.             /* [out] */ void __RPC_FAR *__RPC_FAR *ppvObj);
  2358.         
  2359.         END_INTERFACE
  2360.     } IBindHostVtbl;
  2361.  
  2362.     interface IBindHost
  2363.     {
  2364.         CONST_VTBL struct IBindHostVtbl __RPC_FAR *lpVtbl;
  2365.     };
  2366.  
  2367.     
  2368.  
  2369. #ifdef COBJMACROS
  2370.  
  2371.  
  2372. #define IBindHost_QueryInterface(This,riid,ppvObject)    \
  2373.     (This)->lpVtbl -> QueryInterface(This,riid,ppvObject)
  2374.  
  2375. #define IBindHost_AddRef(This)    \
  2376.     (This)->lpVtbl -> AddRef(This)
  2377.  
  2378. #define IBindHost_Release(This)    \
  2379.     (This)->lpVtbl -> Release(This)
  2380.  
  2381.  
  2382. #define IBindHost_CreateMoniker(This,szName,pBC,ppmk,dwReserved)    \
  2383.     (This)->lpVtbl -> CreateMoniker(This,szName,pBC,ppmk,dwReserved)
  2384.  
  2385. #define IBindHost_MonikerBindToStorage(This,pMk,pBC,pBSC,riid,ppvObj)    \
  2386.     (This)->lpVtbl -> MonikerBindToStorage(This,pMk,pBC,pBSC,riid,ppvObj)
  2387.  
  2388. #define IBindHost_MonikerBindToObject(This,pMk,pBC,pBSC,riid,ppvObj)    \
  2389.     (This)->lpVtbl -> MonikerBindToObject(This,pMk,pBC,pBSC,riid,ppvObj)
  2390.  
  2391. #endif /* COBJMACROS */
  2392.  
  2393.  
  2394. #endif     /* C style interface */
  2395.  
  2396.  
  2397.  
  2398. HRESULT STDMETHODCALLTYPE IBindHost_CreateMoniker_Proxy( 
  2399.     IBindHost __RPC_FAR * This,
  2400.     /* [in] */ LPOLESTR szName,
  2401.     /* [in] */ IBindCtx __RPC_FAR *pBC,
  2402.     /* [out] */ IMoniker __RPC_FAR *__RPC_FAR *ppmk,
  2403.     /* [in] */ DWORD dwReserved);
  2404.  
  2405.  
  2406. void __RPC_STUB IBindHost_CreateMoniker_Stub(
  2407.     IRpcStubBuffer *This,
  2408.     IRpcChannelBuffer *_pRpcChannelBuffer,
  2409.     PRPC_MESSAGE _pRpcMessage,
  2410.     DWORD *_pdwStubPhase);
  2411.  
  2412.  
  2413. /* [call_as] */ HRESULT STDMETHODCALLTYPE IBindHost_RemoteMonikerBindToStorage_Proxy( 
  2414.     IBindHost __RPC_FAR * This,
  2415.     /* [unique][in] */ IMoniker __RPC_FAR *pMk,
  2416.     /* [unique][in] */ IBindCtx __RPC_FAR *pBC,
  2417.     /* [unique][in] */ IBindStatusCallback __RPC_FAR *pBSC,
  2418.     /* [in] */ REFIID riid,
  2419.     /* [iid_is][out] */ IUnknown __RPC_FAR *__RPC_FAR *ppvObj);
  2420.  
  2421.  
  2422. void __RPC_STUB IBindHost_RemoteMonikerBindToStorage_Stub(
  2423.     IRpcStubBuffer *This,
  2424.     IRpcChannelBuffer *_pRpcChannelBuffer,
  2425.     PRPC_MESSAGE _pRpcMessage,
  2426.     DWORD *_pdwStubPhase);
  2427.  
  2428.  
  2429. /* [call_as] */ HRESULT STDMETHODCALLTYPE IBindHost_RemoteMonikerBindToObject_Proxy( 
  2430.     IBindHost __RPC_FAR * This,
  2431.     /* [unique][in] */ IMoniker __RPC_FAR *pMk,
  2432.     /* [unique][in] */ IBindCtx __RPC_FAR *pBC,
  2433.     /* [unique][in] */ IBindStatusCallback __RPC_FAR *pBSC,
  2434.     /* [in] */ REFIID riid,
  2435.     /* [iid_is][out] */ IUnknown __RPC_FAR *__RPC_FAR *ppvObj);
  2436.  
  2437.  
  2438. void __RPC_STUB IBindHost_RemoteMonikerBindToObject_Stub(
  2439.     IRpcStubBuffer *This,
  2440.     IRpcChannelBuffer *_pRpcChannelBuffer,
  2441.     PRPC_MESSAGE _pRpcMessage,
  2442.     DWORD *_pdwStubPhase);
  2443.  
  2444.  
  2445.  
  2446. #endif     /* __IBindHost_INTERFACE_DEFINED__ */
  2447.  
  2448.  
  2449. /* interface __MIDL_itf_urlmon_0179 */
  2450. /* [local] */ 
  2451.  
  2452. #endif
  2453.                                                                                                            
  2454. // These are for backwards compatibility with previous URLMON versions
  2455. // Flags for the UrlDownloadToCacheFile                                                                    
  2456. #define URLOSTRM_USECACHEDCOPY_ONLY             0x1      // Only get from cache                            
  2457. #define URLOSTRM_USECACHEDCOPY                  0x2      // Get from cache if available else download      
  2458. #define URLOSTRM_GETNEWESTVERSION               0x3      // Get new version only. But put it in cache too  
  2459.                                                                                                            
  2460.                                                                                                            
  2461. struct IBindStatusCallback;                                                                                
  2462. STDAPI HlinkSimpleNavigateToString(                                                                        
  2463.     /* [in] */ LPCWSTR szTarget,         // required - target document - null if local jump w/in doc       
  2464.     /* [in] */ LPCWSTR szLocation,       // optional, for navigation into middle of a doc                  
  2465.     /* [in] */ LPCWSTR szTargetFrameName,// optional, for targeting frame-sets                             
  2466.     /* [in] */ IUnknown *pUnk,           // required - we'll search this for other necessary interfaces    
  2467.     /* [in] */ IBindCtx *pbc,            // optional. caller may register an IBSC in this                  
  2468.     /* [in] */ IBindStatusCallback *,                                                                      
  2469.     /* [in] */ DWORD grfHLNF,            // flags                                                          
  2470.     /* [in] */ DWORD dwReserved          // for future use, must be NULL                                   
  2471. );                                                                                                         
  2472.                                                                                                            
  2473. STDAPI HlinkSimpleNavigateToMoniker(                                                                       
  2474.     /* [in] */ IMoniker *pmkTarget,      // required - target document - (may be null                      
  2475.     /* [in] */ LPCWSTR szLocation,       // optional, for navigation into middle of a doc                  
  2476.     /* [in] */ LPCWSTR szTargetFrameName,// optional, for targeting frame-sets                             
  2477.     /* [in] */ IUnknown *pUnk,           // required - we'll search this for other necessary interfaces    
  2478.     /* [in] */ IBindCtx *pbc,            // optional. caller may register an IBSC in this                  
  2479.     /* [in] */ IBindStatusCallback *,                                                                      
  2480.     /* [in] */ DWORD grfHLNF,            // flags                                                          
  2481.     /* [in] */ DWORD dwReserved          // for future use, must be NULL                                   
  2482. );                                                                                                         
  2483.                                                                                                            
  2484. STDAPI URLOpenStreamA(LPUNKNOWN,LPCSTR,DWORD,LPBINDSTATUSCALLBACK);                                        
  2485. STDAPI URLOpenStreamW(LPUNKNOWN,LPCWSTR,DWORD,LPBINDSTATUSCALLBACK);                                       
  2486. STDAPI URLOpenPullStreamA(LPUNKNOWN,LPCSTR,DWORD,LPBINDSTATUSCALLBACK);                                    
  2487. STDAPI URLOpenPullStreamW(LPUNKNOWN,LPCWSTR,DWORD,LPBINDSTATUSCALLBACK);                                   
  2488. STDAPI URLDownloadToFileA(LPUNKNOWN,LPCSTR,LPCSTR,DWORD,LPBINDSTATUSCALLBACK);                             
  2489. STDAPI URLDownloadToFileW(LPUNKNOWN,LPCWSTR,LPCWSTR,DWORD,LPBINDSTATUSCALLBACK);                           
  2490. STDAPI URLDownloadToCacheFileA(LPUNKNOWN,LPCSTR,LPTSTR,DWORD,DWORD,LPBINDSTATUSCALLBACK);                  
  2491. STDAPI URLDownloadToCacheFileW(LPUNKNOWN,LPCWSTR,LPWSTR,DWORD,DWORD,LPBINDSTATUSCALLBACK);                 
  2492. STDAPI URLOpenBlockingStreamA(LPUNKNOWN,LPCSTR,LPSTREAM*,DWORD,LPBINDSTATUSCALLBACK);                      
  2493. STDAPI URLOpenBlockingStreamW(LPUNKNOWN,LPCWSTR,LPSTREAM*,DWORD,LPBINDSTATUSCALLBACK);                     
  2494.                                                                                                            
  2495. #ifdef UNICODE                                                                                             
  2496. #define URLOpenStream            URLOpenStreamW                                                            
  2497. #define URLOpenPullStream        URLOpenPullStreamW                                                        
  2498. #define URLDownloadToFile        URLDownloadToFileW                                                        
  2499. #define URLDownloadToCacheFile   URLDownloadToCacheFileW                                                   
  2500. #define URLOpenBlockingStream    URLOpenBlockingStreamW                                                    
  2501. #else                                                                                                      
  2502. #define URLOpenStream            URLOpenStreamA                                                            
  2503. #define URLOpenPullStream        URLOpenPullStreamA                                                        
  2504. #define URLDownloadToFile        URLDownloadToFileA                                                        
  2505. #define URLDownloadToCacheFile   URLDownloadToCacheFileA                                                   
  2506. #define URLOpenBlockingStream    URLOpenBlockingStreamA                                                    
  2507. #endif // !UNICODE                                                                                         
  2508.                                                                                                            
  2509.                                                                                                            
  2510. STDAPI HlinkGoBack(IUnknown *pUnk);                                                                        
  2511. STDAPI HlinkGoForward(IUnknown *pUnk);                                                                     
  2512. STDAPI HlinkNavigateString(IUnknown *pUnk, LPCWSTR szTarget);                                              
  2513. STDAPI HlinkNavigateMoniker(IUnknown *pUnk, IMoniker *pmkTarget);                                          
  2514.                                                                                                            
  2515. #ifndef  _URLMON_NO_ASYNC_PLUGABLE_PROTOCOLS_   
  2516.  
  2517.  
  2518.  
  2519.  
  2520.  
  2521.  
  2522.  
  2523.  
  2524. #ifndef _LPIINTERNET
  2525. #define _LPIINTERNET
  2526.  
  2527.  
  2528. extern RPC_IF_HANDLE __MIDL_itf_urlmon_0179_v0_0_c_ifspec;
  2529. extern RPC_IF_HANDLE __MIDL_itf_urlmon_0179_v0_0_s_ifspec;
  2530.  
  2531. #ifndef __IInternet_INTERFACE_DEFINED__
  2532. #define __IInternet_INTERFACE_DEFINED__
  2533.  
  2534. /* interface IInternet */
  2535. /* [unique][uuid][object][local] */ 
  2536.  
  2537. typedef /* [unique] */ IInternet __RPC_FAR *LPIINTERNET;
  2538.  
  2539.  
  2540. EXTERN_C const IID IID_IInternet;
  2541.  
  2542. #if defined(__cplusplus) && !defined(CINTERFACE)
  2543.     
  2544.     MIDL_INTERFACE("79eac9e0-baf9-11ce-8c82-00aa004ba90b")
  2545.     IInternet : public IUnknown
  2546.     {
  2547.     public:
  2548.     };
  2549.     
  2550. #else     /* C style interface */
  2551.  
  2552.     typedef struct IInternetVtbl
  2553.     {
  2554.         BEGIN_INTERFACE
  2555.         
  2556.         HRESULT ( STDMETHODCALLTYPE __RPC_FAR *QueryInterface )( 
  2557.             IInternet __RPC_FAR * This,
  2558.             /* [in] */ REFIID riid,
  2559.             /* [iid_is][out] */ void __RPC_FAR *__RPC_FAR *ppvObject);
  2560.         
  2561.         ULONG ( STDMETHODCALLTYPE __RPC_FAR *AddRef )( 
  2562.             IInternet __RPC_FAR * This);
  2563.         
  2564.         ULONG ( STDMETHODCALLTYPE __RPC_FAR *Release )( 
  2565.             IInternet __RPC_FAR * This);
  2566.         
  2567.         END_INTERFACE
  2568.     } IInternetVtbl;
  2569.  
  2570.     interface IInternet
  2571.     {
  2572.         CONST_VTBL struct IInternetVtbl __RPC_FAR *lpVtbl;
  2573.     };
  2574.  
  2575.     
  2576.  
  2577. #ifdef COBJMACROS
  2578.  
  2579.  
  2580. #define IInternet_QueryInterface(This,riid,ppvObject)    \
  2581.     (This)->lpVtbl -> QueryInterface(This,riid,ppvObject)
  2582.  
  2583. #define IInternet_AddRef(This)    \
  2584.     (This)->lpVtbl -> AddRef(This)
  2585.  
  2586. #define IInternet_Release(This)    \
  2587.     (This)->lpVtbl -> Release(This)
  2588.  
  2589.  
  2590. #endif /* COBJMACROS */
  2591.  
  2592.  
  2593. #endif     /* C style interface */
  2594.  
  2595.  
  2596.  
  2597.  
  2598. #endif     /* __IInternet_INTERFACE_DEFINED__ */
  2599.  
  2600.  
  2601. /* interface __MIDL_itf_urlmon_0180 */
  2602. /* [local] */ 
  2603.  
  2604. #endif
  2605. #ifndef _LPIINTERNETBINDINFO
  2606. #define _LPIINTERNETBINDINFO
  2607.  
  2608.  
  2609. extern RPC_IF_HANDLE __MIDL_itf_urlmon_0180_v0_0_c_ifspec;
  2610. extern RPC_IF_HANDLE __MIDL_itf_urlmon_0180_v0_0_s_ifspec;
  2611.  
  2612. #ifndef __IInternetBindInfo_INTERFACE_DEFINED__
  2613. #define __IInternetBindInfo_INTERFACE_DEFINED__
  2614.  
  2615. /* interface IInternetBindInfo */
  2616. /* [unique][uuid][object][local] */ 
  2617.  
  2618. typedef /* [unique] */ IInternetBindInfo __RPC_FAR *LPIINTERNETBINDINFO;
  2619.  
  2620. typedef 
  2621. enum tagBINDSTRING
  2622.     {    BINDSTRING_HEADERS    = 1,
  2623.     BINDSTRING_ACCEPT_MIMES    = BINDSTRING_HEADERS + 1,
  2624.     BINDSTRING_EXTRA_URL    = BINDSTRING_ACCEPT_MIMES + 1,
  2625.     BINDSTRING_LANGUAGE    = BINDSTRING_EXTRA_URL + 1,
  2626.     BINDSTRING_USERNAME    = BINDSTRING_LANGUAGE + 1,
  2627.     BINDSTRING_PASSWORD    = BINDSTRING_USERNAME + 1,
  2628.     BINDSTRING_UA_PIXELS    = BINDSTRING_PASSWORD + 1,
  2629.     BINDSTRING_UA_COLOR    = BINDSTRING_UA_PIXELS + 1,
  2630.     BINDSTRING_OS    = BINDSTRING_UA_COLOR + 1,
  2631.     BINDSTRING_USER_AGENT    = BINDSTRING_OS + 1,
  2632.     BINDSTRING_ACCEPT_ENCODINGS    = BINDSTRING_USER_AGENT + 1,
  2633.     BINDSTRING_POST_COOKIE    = BINDSTRING_ACCEPT_ENCODINGS + 1,
  2634.     BINDSTRING_POST_DATA_MIME    = BINDSTRING_POST_COOKIE + 1,
  2635.     BINDSTRING_URL    = BINDSTRING_POST_DATA_MIME + 1,
  2636.     BINDSTRING_IID    = BINDSTRING_URL + 1,
  2637.     BINDSTRING_FLAG_BIND_TO_OBJECT    = BINDSTRING_IID + 1,
  2638.     BINDSTRING_PTR_BIND_CONTEXT    = BINDSTRING_FLAG_BIND_TO_OBJECT + 1
  2639.     }    BINDSTRING;
  2640.  
  2641.  
  2642. EXTERN_C const IID IID_IInternetBindInfo;
  2643.  
  2644. #if defined(__cplusplus) && !defined(CINTERFACE)
  2645.     
  2646.     MIDL_INTERFACE("79eac9e1-baf9-11ce-8c82-00aa004ba90b")
  2647.     IInternetBindInfo : public IUnknown
  2648.     {
  2649.     public:
  2650.         virtual HRESULT STDMETHODCALLTYPE GetBindInfo( 
  2651.             /* [out] */ DWORD __RPC_FAR *grfBINDF,
  2652.             /* [unique][out][in] */ BINDINFO __RPC_FAR *pbindinfo) = 0;
  2653.         
  2654.         virtual HRESULT STDMETHODCALLTYPE GetBindString( 
  2655.             /* [in] */ ULONG ulStringType,
  2656.             /* [out][in] */ LPOLESTR __RPC_FAR *ppwzStr,
  2657.             /* [in] */ ULONG cEl,
  2658.             /* [out][in] */ ULONG __RPC_FAR *pcElFetched) = 0;
  2659.         
  2660.     };
  2661.     
  2662. #else     /* C style interface */
  2663.  
  2664.     typedef struct IInternetBindInfoVtbl
  2665.     {
  2666.         BEGIN_INTERFACE
  2667.         
  2668.         HRESULT ( STDMETHODCALLTYPE __RPC_FAR *QueryInterface )( 
  2669.             IInternetBindInfo __RPC_FAR * This,
  2670.             /* [in] */ REFIID riid,
  2671.             /* [iid_is][out] */ void __RPC_FAR *__RPC_FAR *ppvObject);
  2672.         
  2673.         ULONG ( STDMETHODCALLTYPE __RPC_FAR *AddRef )( 
  2674.             IInternetBindInfo __RPC_FAR * This);
  2675.         
  2676.         ULONG ( STDMETHODCALLTYPE __RPC_FAR *Release )( 
  2677.             IInternetBindInfo __RPC_FAR * This);
  2678.         
  2679.         HRESULT ( STDMETHODCALLTYPE __RPC_FAR *GetBindInfo )( 
  2680.             IInternetBindInfo __RPC_FAR * This,
  2681.             /* [out] */ DWORD __RPC_FAR *grfBINDF,
  2682.             /* [unique][out][in] */ BINDINFO __RPC_FAR *pbindinfo);
  2683.         
  2684.         HRESULT ( STDMETHODCALLTYPE __RPC_FAR *GetBindString )( 
  2685.             IInternetBindInfo __RPC_FAR * This,
  2686.             /* [in] */ ULONG ulStringType,
  2687.             /* [out][in] */ LPOLESTR __RPC_FAR *ppwzStr,
  2688.             /* [in] */ ULONG cEl,
  2689.             /* [out][in] */ ULONG __RPC_FAR *pcElFetched);
  2690.         
  2691.         END_INTERFACE
  2692.     } IInternetBindInfoVtbl;
  2693.  
  2694.     interface IInternetBindInfo
  2695.     {
  2696.         CONST_VTBL struct IInternetBindInfoVtbl __RPC_FAR *lpVtbl;
  2697.     };
  2698.  
  2699.     
  2700.  
  2701. #ifdef COBJMACROS
  2702.  
  2703.  
  2704. #define IInternetBindInfo_QueryInterface(This,riid,ppvObject)    \
  2705.     (This)->lpVtbl -> QueryInterface(This,riid,ppvObject)
  2706.  
  2707. #define IInternetBindInfo_AddRef(This)    \
  2708.     (This)->lpVtbl -> AddRef(This)
  2709.  
  2710. #define IInternetBindInfo_Release(This)    \
  2711.     (This)->lpVtbl -> Release(This)
  2712.  
  2713.  
  2714. #define IInternetBindInfo_GetBindInfo(This,grfBINDF,pbindinfo)    \
  2715.     (This)->lpVtbl -> GetBindInfo(This,grfBINDF,pbindinfo)
  2716.  
  2717. #define IInternetBindInfo_GetBindString(This,ulStringType,ppwzStr,cEl,pcElFetched)    \
  2718.     (This)->lpVtbl -> GetBindString(This,ulStringType,ppwzStr,cEl,pcElFetched)
  2719.  
  2720. #endif /* COBJMACROS */
  2721.  
  2722.  
  2723. #endif     /* C style interface */
  2724.  
  2725.  
  2726.  
  2727. HRESULT STDMETHODCALLTYPE IInternetBindInfo_GetBindInfo_Proxy( 
  2728.     IInternetBindInfo __RPC_FAR * This,
  2729.     /* [out] */ DWORD __RPC_FAR *grfBINDF,
  2730.     /* [unique][out][in] */ BINDINFO __RPC_FAR *pbindinfo);
  2731.  
  2732.  
  2733. void __RPC_STUB IInternetBindInfo_GetBindInfo_Stub(
  2734.     IRpcStubBuffer *This,
  2735.     IRpcChannelBuffer *_pRpcChannelBuffer,
  2736.     PRPC_MESSAGE _pRpcMessage,
  2737.     DWORD *_pdwStubPhase);
  2738.  
  2739.  
  2740. HRESULT STDMETHODCALLTYPE IInternetBindInfo_GetBindString_Proxy( 
  2741.     IInternetBindInfo __RPC_FAR * This,
  2742.     /* [in] */ ULONG ulStringType,
  2743.     /* [out][in] */ LPOLESTR __RPC_FAR *ppwzStr,
  2744.     /* [in] */ ULONG cEl,
  2745.     /* [out][in] */ ULONG __RPC_FAR *pcElFetched);
  2746.  
  2747.  
  2748. void __RPC_STUB IInternetBindInfo_GetBindString_Stub(
  2749.     IRpcStubBuffer *This,
  2750.     IRpcChannelBuffer *_pRpcChannelBuffer,
  2751.     PRPC_MESSAGE _pRpcMessage,
  2752.     DWORD *_pdwStubPhase);
  2753.  
  2754.  
  2755.  
  2756. #endif     /* __IInternetBindInfo_INTERFACE_DEFINED__ */
  2757.  
  2758.  
  2759. /* interface __MIDL_itf_urlmon_0181 */
  2760. /* [local] */ 
  2761.  
  2762. #endif
  2763. #ifndef _LPIINTERNETPROTOCOLROOT_DEFINED
  2764. #define _LPIINTERNETPROTOCOLROOT_DEFINED
  2765.  
  2766.  
  2767. extern RPC_IF_HANDLE __MIDL_itf_urlmon_0181_v0_0_c_ifspec;
  2768. extern RPC_IF_HANDLE __MIDL_itf_urlmon_0181_v0_0_s_ifspec;
  2769.  
  2770. #ifndef __IInternetProtocolRoot_INTERFACE_DEFINED__
  2771. #define __IInternetProtocolRoot_INTERFACE_DEFINED__
  2772.  
  2773. /* interface IInternetProtocolRoot */
  2774. /* [unique][uuid][object][local] */ 
  2775.  
  2776. typedef /* [unique] */ IInternetProtocolRoot __RPC_FAR *LPIINTERNETPROTOCOLROOT;
  2777.  
  2778. typedef 
  2779. enum _tagPI_FLAGS
  2780.     {    PI_PARSE_URL    = 0x1,
  2781.     PI_FILTER_MODE    = 0x2,
  2782.     PI_FORCE_ASYNC    = 0x4,
  2783.     PI_USE_WORKERTHREAD    = 0x8,
  2784.     PI_MIMEVERIFICATION    = 0x10,
  2785.     PI_CLSIDLOOKUP    = 0x20,
  2786.     PI_DATAPROGRESS    = 0x40,
  2787.     PI_SYNCHRONOUS    = 0x80,
  2788.     PI_APARTMENTTHREADED    = 0x100,
  2789.     PI_CLASSINSTALL    = 0x200,
  2790.     PI_PASSONBINDCTX    = 0x2000,
  2791.     PI_NOMIMEHANDLER    = 0x8000,
  2792.     PI_LOADAPPDIRECT    = 0x4000,
  2793.     PD_FORCE_SWITCH    = 0x10000
  2794.     }    PI_FLAGS;
  2795.  
  2796. typedef struct _tagPROTOCOLDATA
  2797.     {
  2798.     DWORD grfFlags;
  2799.     DWORD dwState;
  2800.     LPVOID pData;
  2801.     ULONG cbData;
  2802.     }    PROTOCOLDATA;
  2803.  
  2804. typedef struct _tagStartParam
  2805.     {
  2806.     IID iid;
  2807.     IBindCtx __RPC_FAR *pIBindCtx;
  2808.     IUnknown __RPC_FAR *pItf;
  2809.     }    StartParam;
  2810.  
  2811.  
  2812. EXTERN_C const IID IID_IInternetProtocolRoot;
  2813.  
  2814. #if defined(__cplusplus) && !defined(CINTERFACE)
  2815.     
  2816.     MIDL_INTERFACE("79eac9e3-baf9-11ce-8c82-00aa004ba90b")
  2817.     IInternetProtocolRoot : public IUnknown
  2818.     {
  2819.     public:
  2820.         virtual HRESULT STDMETHODCALLTYPE Start( 
  2821.             /* [in] */ LPCWSTR szUrl,
  2822.             /* [in] */ IInternetProtocolSink __RPC_FAR *pOIProtSink,
  2823.             /* [in] */ IInternetBindInfo __RPC_FAR *pOIBindInfo,
  2824.             /* [in] */ DWORD grfPI,
  2825.             /* [in] */ HANDLE_PTR dwReserved) = 0;
  2826.         
  2827.         virtual HRESULT STDMETHODCALLTYPE Continue( 
  2828.             /* [in] */ PROTOCOLDATA __RPC_FAR *pProtocolData) = 0;
  2829.         
  2830.         virtual HRESULT STDMETHODCALLTYPE Abort( 
  2831.             /* [in] */ HRESULT hrReason,
  2832.             /* [in] */ DWORD dwOptions) = 0;
  2833.         
  2834.         virtual HRESULT STDMETHODCALLTYPE Terminate( 
  2835.             /* [in] */ DWORD dwOptions) = 0;
  2836.         
  2837.         virtual HRESULT STDMETHODCALLTYPE Suspend( void) = 0;
  2838.         
  2839.         virtual HRESULT STDMETHODCALLTYPE Resume( void) = 0;
  2840.         
  2841.     };
  2842.     
  2843. #else     /* C style interface */
  2844.  
  2845.     typedef struct IInternetProtocolRootVtbl
  2846.     {
  2847.         BEGIN_INTERFACE
  2848.         
  2849.         HRESULT ( STDMETHODCALLTYPE __RPC_FAR *QueryInterface )( 
  2850.             IInternetProtocolRoot __RPC_FAR * This,
  2851.             /* [in] */ REFIID riid,
  2852.             /* [iid_is][out] */ void __RPC_FAR *__RPC_FAR *ppvObject);
  2853.         
  2854.         ULONG ( STDMETHODCALLTYPE __RPC_FAR *AddRef )( 
  2855.             IInternetProtocolRoot __RPC_FAR * This);
  2856.         
  2857.         ULONG ( STDMETHODCALLTYPE __RPC_FAR *Release )( 
  2858.             IInternetProtocolRoot __RPC_FAR * This);
  2859.         
  2860.         HRESULT ( STDMETHODCALLTYPE __RPC_FAR *Start )( 
  2861.             IInternetProtocolRoot __RPC_FAR * This,
  2862.             /* [in] */ LPCWSTR szUrl,
  2863.             /* [in] */ IInternetProtocolSink __RPC_FAR *pOIProtSink,
  2864.             /* [in] */ IInternetBindInfo __RPC_FAR *pOIBindInfo,
  2865.             /* [in] */ DWORD grfPI,
  2866.             /* [in] */ HANDLE_PTR dwReserved);
  2867.         
  2868.         HRESULT ( STDMETHODCALLTYPE __RPC_FAR *Continue )( 
  2869.             IInternetProtocolRoot __RPC_FAR * This,
  2870.             /* [in] */ PROTOCOLDATA __RPC_FAR *pProtocolData);
  2871.         
  2872.         HRESULT ( STDMETHODCALLTYPE __RPC_FAR *Abort )( 
  2873.             IInternetProtocolRoot __RPC_FAR * This,
  2874.             /* [in] */ HRESULT hrReason,
  2875.             /* [in] */ DWORD dwOptions);
  2876.         
  2877.         HRESULT ( STDMETHODCALLTYPE __RPC_FAR *Terminate )( 
  2878.             IInternetProtocolRoot __RPC_FAR * This,
  2879.             /* [in] */ DWORD dwOptions);
  2880.         
  2881.         HRESULT ( STDMETHODCALLTYPE __RPC_FAR *Suspend )( 
  2882.             IInternetProtocolRoot __RPC_FAR * This);
  2883.         
  2884.         HRESULT ( STDMETHODCALLTYPE __RPC_FAR *Resume )( 
  2885.             IInternetProtocolRoot __RPC_FAR * This);
  2886.         
  2887.         END_INTERFACE
  2888.     } IInternetProtocolRootVtbl;
  2889.  
  2890.     interface IInternetProtocolRoot
  2891.     {
  2892.         CONST_VTBL struct IInternetProtocolRootVtbl __RPC_FAR *lpVtbl;
  2893.     };
  2894.  
  2895.     
  2896.  
  2897. #ifdef COBJMACROS
  2898.  
  2899.  
  2900. #define IInternetProtocolRoot_QueryInterface(This,riid,ppvObject)    \
  2901.     (This)->lpVtbl -> QueryInterface(This,riid,ppvObject)
  2902.  
  2903. #define IInternetProtocolRoot_AddRef(This)    \
  2904.     (This)->lpVtbl -> AddRef(This)
  2905.  
  2906. #define IInternetProtocolRoot_Release(This)    \
  2907.     (This)->lpVtbl -> Release(This)
  2908.  
  2909.  
  2910. #define IInternetProtocolRoot_Start(This,szUrl,pOIProtSink,pOIBindInfo,grfPI,dwReserved)    \
  2911.     (This)->lpVtbl -> Start(This,szUrl,pOIProtSink,pOIBindInfo,grfPI,dwReserved)
  2912.  
  2913. #define IInternetProtocolRoot_Continue(This,pProtocolData)    \
  2914.     (This)->lpVtbl -> Continue(This,pProtocolData)
  2915.  
  2916. #define IInternetProtocolRoot_Abort(This,hrReason,dwOptions)    \
  2917.     (This)->lpVtbl -> Abort(This,hrReason,dwOptions)
  2918.  
  2919. #define IInternetProtocolRoot_Terminate(This,dwOptions)    \
  2920.     (This)->lpVtbl -> Terminate(This,dwOptions)
  2921.  
  2922. #define IInternetProtocolRoot_Suspend(This)    \
  2923.     (This)->lpVtbl -> Suspend(This)
  2924.  
  2925. #define IInternetProtocolRoot_Resume(This)    \
  2926.     (This)->lpVtbl -> Resume(This)
  2927.  
  2928. #endif /* COBJMACROS */
  2929.  
  2930.  
  2931. #endif     /* C style interface */
  2932.  
  2933.  
  2934.  
  2935. HRESULT STDMETHODCALLTYPE IInternetProtocolRoot_Start_Proxy( 
  2936.     IInternetProtocolRoot __RPC_FAR * This,
  2937.     /* [in] */ LPCWSTR szUrl,
  2938.     /* [in] */ IInternetProtocolSink __RPC_FAR *pOIProtSink,
  2939.     /* [in] */ IInternetBindInfo __RPC_FAR *pOIBindInfo,
  2940.     /* [in] */ DWORD grfPI,
  2941.     /* [in] */ HANDLE_PTR dwReserved);
  2942.  
  2943.  
  2944. void __RPC_STUB IInternetProtocolRoot_Start_Stub(
  2945.     IRpcStubBuffer *This,
  2946.     IRpcChannelBuffer *_pRpcChannelBuffer,
  2947.     PRPC_MESSAGE _pRpcMessage,
  2948.     DWORD *_pdwStubPhase);
  2949.  
  2950.  
  2951. HRESULT STDMETHODCALLTYPE IInternetProtocolRoot_Continue_Proxy( 
  2952.     IInternetProtocolRoot __RPC_FAR * This,
  2953.     /* [in] */ PROTOCOLDATA __RPC_FAR *pProtocolData);
  2954.  
  2955.  
  2956. void __RPC_STUB IInternetProtocolRoot_Continue_Stub(
  2957.     IRpcStubBuffer *This,
  2958.     IRpcChannelBuffer *_pRpcChannelBuffer,
  2959.     PRPC_MESSAGE _pRpcMessage,
  2960.     DWORD *_pdwStubPhase);
  2961.  
  2962.  
  2963. HRESULT STDMETHODCALLTYPE IInternetProtocolRoot_Abort_Proxy( 
  2964.     IInternetProtocolRoot __RPC_FAR * This,
  2965.     /* [in] */ HRESULT hrReason,
  2966.     /* [in] */ DWORD dwOptions);
  2967.  
  2968.  
  2969. void __RPC_STUB IInternetProtocolRoot_Abort_Stub(
  2970.     IRpcStubBuffer *This,
  2971.     IRpcChannelBuffer *_pRpcChannelBuffer,
  2972.     PRPC_MESSAGE _pRpcMessage,
  2973.     DWORD *_pdwStubPhase);
  2974.  
  2975.  
  2976. HRESULT STDMETHODCALLTYPE IInternetProtocolRoot_Terminate_Proxy( 
  2977.     IInternetProtocolRoot __RPC_FAR * This,
  2978.     /* [in] */ DWORD dwOptions);
  2979.  
  2980.  
  2981. void __RPC_STUB IInternetProtocolRoot_Terminate_Stub(
  2982.     IRpcStubBuffer *This,
  2983.     IRpcChannelBuffer *_pRpcChannelBuffer,
  2984.     PRPC_MESSAGE _pRpcMessage,
  2985.     DWORD *_pdwStubPhase);
  2986.  
  2987.  
  2988. HRESULT STDMETHODCALLTYPE IInternetProtocolRoot_Suspend_Proxy( 
  2989.     IInternetProtocolRoot __RPC_FAR * This);
  2990.  
  2991.  
  2992. void __RPC_STUB IInternetProtocolRoot_Suspend_Stub(
  2993.     IRpcStubBuffer *This,
  2994.     IRpcChannelBuffer *_pRpcChannelBuffer,
  2995.     PRPC_MESSAGE _pRpcMessage,
  2996.     DWORD *_pdwStubPhase);
  2997.  
  2998.  
  2999. HRESULT STDMETHODCALLTYPE IInternetProtocolRoot_Resume_Proxy( 
  3000.     IInternetProtocolRoot __RPC_FAR * This);
  3001.  
  3002.  
  3003. void __RPC_STUB IInternetProtocolRoot_Resume_Stub(
  3004.     IRpcStubBuffer *This,
  3005.     IRpcChannelBuffer *_pRpcChannelBuffer,
  3006.     PRPC_MESSAGE _pRpcMessage,
  3007.     DWORD *_pdwStubPhase);
  3008.  
  3009.  
  3010.  
  3011. #endif     /* __IInternetProtocolRoot_INTERFACE_DEFINED__ */
  3012.  
  3013.  
  3014. /* interface __MIDL_itf_urlmon_0182 */
  3015. /* [local] */ 
  3016.  
  3017. #endif
  3018. #ifndef _LPIINTERNETPROTOCOL_DEFINED
  3019. #define _LPIINTERNETPROTOCOL_DEFINED
  3020.  
  3021.  
  3022. extern RPC_IF_HANDLE __MIDL_itf_urlmon_0182_v0_0_c_ifspec;
  3023. extern RPC_IF_HANDLE __MIDL_itf_urlmon_0182_v0_0_s_ifspec;
  3024.  
  3025. #ifndef __IInternetProtocol_INTERFACE_DEFINED__
  3026. #define __IInternetProtocol_INTERFACE_DEFINED__
  3027.  
  3028. /* interface IInternetProtocol */
  3029. /* [unique][uuid][object][local] */ 
  3030.  
  3031. typedef /* [unique] */ IInternetProtocol __RPC_FAR *LPIINTERNETPROTOCOL;
  3032.  
  3033.  
  3034. EXTERN_C const IID IID_IInternetProtocol;
  3035.  
  3036. #if defined(__cplusplus) && !defined(CINTERFACE)
  3037.     
  3038.     MIDL_INTERFACE("79eac9e4-baf9-11ce-8c82-00aa004ba90b")
  3039.     IInternetProtocol : public IInternetProtocolRoot
  3040.     {
  3041.     public:
  3042.         virtual HRESULT STDMETHODCALLTYPE Read( 
  3043.             /* [length_is][size_is][out][in] */ void __RPC_FAR *pv,
  3044.             /* [in] */ ULONG cb,
  3045.             /* [out] */ ULONG __RPC_FAR *pcbRead) = 0;
  3046.         
  3047.         virtual HRESULT STDMETHODCALLTYPE Seek( 
  3048.             /* [in] */ LARGE_INTEGER dlibMove,
  3049.             /* [in] */ DWORD dwOrigin,
  3050.             /* [out] */ ULARGE_INTEGER __RPC_FAR *plibNewPosition) = 0;
  3051.         
  3052.         virtual HRESULT STDMETHODCALLTYPE LockRequest( 
  3053.             /* [in] */ DWORD dwOptions) = 0;
  3054.         
  3055.         virtual HRESULT STDMETHODCALLTYPE UnlockRequest( void) = 0;
  3056.         
  3057.     };
  3058.     
  3059. #else     /* C style interface */
  3060.  
  3061.     typedef struct IInternetProtocolVtbl
  3062.     {
  3063.         BEGIN_INTERFACE
  3064.         
  3065.         HRESULT ( STDMETHODCALLTYPE __RPC_FAR *QueryInterface )( 
  3066.             IInternetProtocol __RPC_FAR * This,
  3067.             /* [in] */ REFIID riid,
  3068.             /* [iid_is][out] */ void __RPC_FAR *__RPC_FAR *ppvObject);
  3069.         
  3070.         ULONG ( STDMETHODCALLTYPE __RPC_FAR *AddRef )( 
  3071.             IInternetProtocol __RPC_FAR * This);
  3072.         
  3073.         ULONG ( STDMETHODCALLTYPE __RPC_FAR *Release )( 
  3074.             IInternetProtocol __RPC_FAR * This);
  3075.         
  3076.         HRESULT ( STDMETHODCALLTYPE __RPC_FAR *Start )( 
  3077.             IInternetProtocol __RPC_FAR * This,
  3078.             /* [in] */ LPCWSTR szUrl,
  3079.             /* [in] */ IInternetProtocolSink __RPC_FAR *pOIProtSink,
  3080.             /* [in] */ IInternetBindInfo __RPC_FAR *pOIBindInfo,
  3081.             /* [in] */ DWORD grfPI,
  3082.             /* [in] */ HANDLE_PTR dwReserved);
  3083.         
  3084.         HRESULT ( STDMETHODCALLTYPE __RPC_FAR *Continue )( 
  3085.             IInternetProtocol __RPC_FAR * This,
  3086.             /* [in] */ PROTOCOLDATA __RPC_FAR *pProtocolData);
  3087.         
  3088.         HRESULT ( STDMETHODCALLTYPE __RPC_FAR *Abort )( 
  3089.             IInternetProtocol __RPC_FAR * This,
  3090.             /* [in] */ HRESULT hrReason,
  3091.             /* [in] */ DWORD dwOptions);
  3092.         
  3093.         HRESULT ( STDMETHODCALLTYPE __RPC_FAR *Terminate )( 
  3094.             IInternetProtocol __RPC_FAR * This,
  3095.             /* [in] */ DWORD dwOptions);
  3096.         
  3097.         HRESULT ( STDMETHODCALLTYPE __RPC_FAR *Suspend )( 
  3098.             IInternetProtocol __RPC_FAR * This);
  3099.         
  3100.         HRESULT ( STDMETHODCALLTYPE __RPC_FAR *Resume )( 
  3101.             IInternetProtocol __RPC_FAR * This);
  3102.         
  3103.         HRESULT ( STDMETHODCALLTYPE __RPC_FAR *Read )( 
  3104.             IInternetProtocol __RPC_FAR * This,
  3105.             /* [length_is][size_is][out][in] */ void __RPC_FAR *pv,
  3106.             /* [in] */ ULONG cb,
  3107.             /* [out] */ ULONG __RPC_FAR *pcbRead);
  3108.         
  3109.         HRESULT ( STDMETHODCALLTYPE __RPC_FAR *Seek )( 
  3110.             IInternetProtocol __RPC_FAR * This,
  3111.             /* [in] */ LARGE_INTEGER dlibMove,
  3112.             /* [in] */ DWORD dwOrigin,
  3113.             /* [out] */ ULARGE_INTEGER __RPC_FAR *plibNewPosition);
  3114.         
  3115.         HRESULT ( STDMETHODCALLTYPE __RPC_FAR *LockRequest )( 
  3116.             IInternetProtocol __RPC_FAR * This,
  3117.             /* [in] */ DWORD dwOptions);
  3118.         
  3119.         HRESULT ( STDMETHODCALLTYPE __RPC_FAR *UnlockRequest )( 
  3120.             IInternetProtocol __RPC_FAR * This);
  3121.         
  3122.         END_INTERFACE
  3123.     } IInternetProtocolVtbl;
  3124.  
  3125.     interface IInternetProtocol
  3126.     {
  3127.         CONST_VTBL struct IInternetProtocolVtbl __RPC_FAR *lpVtbl;
  3128.     };
  3129.  
  3130.     
  3131.  
  3132. #ifdef COBJMACROS
  3133.  
  3134.  
  3135. #define IInternetProtocol_QueryInterface(This,riid,ppvObject)    \
  3136.     (This)->lpVtbl -> QueryInterface(This,riid,ppvObject)
  3137.  
  3138. #define IInternetProtocol_AddRef(This)    \
  3139.     (This)->lpVtbl -> AddRef(This)
  3140.  
  3141. #define IInternetProtocol_Release(This)    \
  3142.     (This)->lpVtbl -> Release(This)
  3143.  
  3144.  
  3145. #define IInternetProtocol_Start(This,szUrl,pOIProtSink,pOIBindInfo,grfPI,dwReserved)    \
  3146.     (This)->lpVtbl -> Start(This,szUrl,pOIProtSink,pOIBindInfo,grfPI,dwReserved)
  3147.  
  3148. #define IInternetProtocol_Continue(This,pProtocolData)    \
  3149.     (This)->lpVtbl -> Continue(This,pProtocolData)
  3150.  
  3151. #define IInternetProtocol_Abort(This,hrReason,dwOptions)    \
  3152.     (This)->lpVtbl -> Abort(This,hrReason,dwOptions)
  3153.  
  3154. #define IInternetProtocol_Terminate(This,dwOptions)    \
  3155.     (This)->lpVtbl -> Terminate(This,dwOptions)
  3156.  
  3157. #define IInternetProtocol_Suspend(This)    \
  3158.     (This)->lpVtbl -> Suspend(This)
  3159.  
  3160. #define IInternetProtocol_Resume(This)    \
  3161.     (This)->lpVtbl -> Resume(This)
  3162.  
  3163.  
  3164. #define IInternetProtocol_Read(This,pv,cb,pcbRead)    \
  3165.     (This)->lpVtbl -> Read(This,pv,cb,pcbRead)
  3166.  
  3167. #define IInternetProtocol_Seek(This,dlibMove,dwOrigin,plibNewPosition)    \
  3168.     (This)->lpVtbl -> Seek(This,dlibMove,dwOrigin,plibNewPosition)
  3169.  
  3170. #define IInternetProtocol_LockRequest(This,dwOptions)    \
  3171.     (This)->lpVtbl -> LockRequest(This,dwOptions)
  3172.  
  3173. #define IInternetProtocol_UnlockRequest(This)    \
  3174.     (This)->lpVtbl -> UnlockRequest(This)
  3175.  
  3176. #endif /* COBJMACROS */
  3177.  
  3178.  
  3179. #endif     /* C style interface */
  3180.  
  3181.  
  3182.  
  3183. HRESULT STDMETHODCALLTYPE IInternetProtocol_Read_Proxy( 
  3184.     IInternetProtocol __RPC_FAR * This,
  3185.     /* [length_is][size_is][out][in] */ void __RPC_FAR *pv,
  3186.     /* [in] */ ULONG cb,
  3187.     /* [out] */ ULONG __RPC_FAR *pcbRead);
  3188.  
  3189.  
  3190. void __RPC_STUB IInternetProtocol_Read_Stub(
  3191.     IRpcStubBuffer *This,
  3192.     IRpcChannelBuffer *_pRpcChannelBuffer,
  3193.     PRPC_MESSAGE _pRpcMessage,
  3194.     DWORD *_pdwStubPhase);
  3195.  
  3196.  
  3197. HRESULT STDMETHODCALLTYPE IInternetProtocol_Seek_Proxy( 
  3198.     IInternetProtocol __RPC_FAR * This,
  3199.     /* [in] */ LARGE_INTEGER dlibMove,
  3200.     /* [in] */ DWORD dwOrigin,
  3201.     /* [out] */ ULARGE_INTEGER __RPC_FAR *plibNewPosition);
  3202.  
  3203.  
  3204. void __RPC_STUB IInternetProtocol_Seek_Stub(
  3205.     IRpcStubBuffer *This,
  3206.     IRpcChannelBuffer *_pRpcChannelBuffer,
  3207.     PRPC_MESSAGE _pRpcMessage,
  3208.     DWORD *_pdwStubPhase);
  3209.  
  3210.  
  3211. HRESULT STDMETHODCALLTYPE IInternetProtocol_LockRequest_Proxy( 
  3212.     IInternetProtocol __RPC_FAR * This,
  3213.     /* [in] */ DWORD dwOptions);
  3214.  
  3215.  
  3216. void __RPC_STUB IInternetProtocol_LockRequest_Stub(
  3217.     IRpcStubBuffer *This,
  3218.     IRpcChannelBuffer *_pRpcChannelBuffer,
  3219.     PRPC_MESSAGE _pRpcMessage,
  3220.     DWORD *_pdwStubPhase);
  3221.  
  3222.  
  3223. HRESULT STDMETHODCALLTYPE IInternetProtocol_UnlockRequest_Proxy( 
  3224.     IInternetProtocol __RPC_FAR * This);
  3225.  
  3226.  
  3227. void __RPC_STUB IInternetProtocol_UnlockRequest_Stub(
  3228.     IRpcStubBuffer *This,
  3229.     IRpcChannelBuffer *_pRpcChannelBuffer,
  3230.     PRPC_MESSAGE _pRpcMessage,
  3231.     DWORD *_pdwStubPhase);
  3232.  
  3233.  
  3234.  
  3235. #endif     /* __IInternetProtocol_INTERFACE_DEFINED__ */
  3236.  
  3237.  
  3238. /* interface __MIDL_itf_urlmon_0183 */
  3239. /* [local] */ 
  3240.  
  3241. #endif
  3242. #ifndef _LPIINTERNETPROTOCOLSINK_DEFINED
  3243. #define _LPIINTERNETPROTOCOLSINK_DEFINED
  3244.  
  3245.  
  3246. extern RPC_IF_HANDLE __MIDL_itf_urlmon_0183_v0_0_c_ifspec;
  3247. extern RPC_IF_HANDLE __MIDL_itf_urlmon_0183_v0_0_s_ifspec;
  3248.  
  3249. #ifndef __IInternetProtocolSink_INTERFACE_DEFINED__
  3250. #define __IInternetProtocolSink_INTERFACE_DEFINED__
  3251.  
  3252. /* interface IInternetProtocolSink */
  3253. /* [unique][uuid][object][local] */ 
  3254.  
  3255. typedef /* [unique] */ IInternetProtocolSink __RPC_FAR *LPIINTERNETPROTOCOLSINK;
  3256.  
  3257.  
  3258. EXTERN_C const IID IID_IInternetProtocolSink;
  3259.  
  3260. #if defined(__cplusplus) && !defined(CINTERFACE)
  3261.     
  3262.     MIDL_INTERFACE("79eac9e5-baf9-11ce-8c82-00aa004ba90b")
  3263.     IInternetProtocolSink : public IUnknown
  3264.     {
  3265.     public:
  3266.         virtual HRESULT STDMETHODCALLTYPE Switch( 
  3267.             /* [in] */ PROTOCOLDATA __RPC_FAR *pProtocolData) = 0;
  3268.         
  3269.         virtual HRESULT STDMETHODCALLTYPE ReportProgress( 
  3270.             /* [in] */ ULONG ulStatusCode,
  3271.             /* [in] */ LPCWSTR szStatusText) = 0;
  3272.         
  3273.         virtual HRESULT STDMETHODCALLTYPE ReportData( 
  3274.             /* [in] */ DWORD grfBSCF,
  3275.             /* [in] */ ULONG ulProgress,
  3276.             /* [in] */ ULONG ulProgressMax) = 0;
  3277.         
  3278.         virtual HRESULT STDMETHODCALLTYPE ReportResult( 
  3279.             /* [in] */ HRESULT hrResult,
  3280.             /* [in] */ DWORD dwError,
  3281.             /* [in] */ LPCWSTR szResult) = 0;
  3282.         
  3283.     };
  3284.     
  3285. #else     /* C style interface */
  3286.  
  3287.     typedef struct IInternetProtocolSinkVtbl
  3288.     {
  3289.         BEGIN_INTERFACE
  3290.         
  3291.         HRESULT ( STDMETHODCALLTYPE __RPC_FAR *QueryInterface )( 
  3292.             IInternetProtocolSink __RPC_FAR * This,
  3293.             /* [in] */ REFIID riid,
  3294.             /* [iid_is][out] */ void __RPC_FAR *__RPC_FAR *ppvObject);
  3295.         
  3296.         ULONG ( STDMETHODCALLTYPE __RPC_FAR *AddRef )( 
  3297.             IInternetProtocolSink __RPC_FAR * This);
  3298.         
  3299.         ULONG ( STDMETHODCALLTYPE __RPC_FAR *Release )( 
  3300.             IInternetProtocolSink __RPC_FAR * This);
  3301.         
  3302.         HRESULT ( STDMETHODCALLTYPE __RPC_FAR *Switch )( 
  3303.             IInternetProtocolSink __RPC_FAR * This,
  3304.             /* [in] */ PROTOCOLDATA __RPC_FAR *pProtocolData);
  3305.         
  3306.         HRESULT ( STDMETHODCALLTYPE __RPC_FAR *ReportProgress )( 
  3307.             IInternetProtocolSink __RPC_FAR * This,
  3308.             /* [in] */ ULONG ulStatusCode,
  3309.             /* [in] */ LPCWSTR szStatusText);
  3310.         
  3311.         HRESULT ( STDMETHODCALLTYPE __RPC_FAR *ReportData )( 
  3312.             IInternetProtocolSink __RPC_FAR * This,
  3313.             /* [in] */ DWORD grfBSCF,
  3314.             /* [in] */ ULONG ulProgress,
  3315.             /* [in] */ ULONG ulProgressMax);
  3316.         
  3317.         HRESULT ( STDMETHODCALLTYPE __RPC_FAR *ReportResult )( 
  3318.             IInternetProtocolSink __RPC_FAR * This,
  3319.             /* [in] */ HRESULT hrResult,
  3320.             /* [in] */ DWORD dwError,
  3321.             /* [in] */ LPCWSTR szResult);
  3322.         
  3323.         END_INTERFACE
  3324.     } IInternetProtocolSinkVtbl;
  3325.  
  3326.     interface IInternetProtocolSink
  3327.     {
  3328.         CONST_VTBL struct IInternetProtocolSinkVtbl __RPC_FAR *lpVtbl;
  3329.     };
  3330.  
  3331.     
  3332.  
  3333. #ifdef COBJMACROS
  3334.  
  3335.  
  3336. #define IInternetProtocolSink_QueryInterface(This,riid,ppvObject)    \
  3337.     (This)->lpVtbl -> QueryInterface(This,riid,ppvObject)
  3338.  
  3339. #define IInternetProtocolSink_AddRef(This)    \
  3340.     (This)->lpVtbl -> AddRef(This)
  3341.  
  3342. #define IInternetProtocolSink_Release(This)    \
  3343.     (This)->lpVtbl -> Release(This)
  3344.  
  3345.  
  3346. #define IInternetProtocolSink_Switch(This,pProtocolData)    \
  3347.     (This)->lpVtbl -> Switch(This,pProtocolData)
  3348.  
  3349. #define IInternetProtocolSink_ReportProgress(This,ulStatusCode,szStatusText)    \
  3350.     (This)->lpVtbl -> ReportProgress(This,ulStatusCode,szStatusText)
  3351.  
  3352. #define IInternetProtocolSink_ReportData(This,grfBSCF,ulProgress,ulProgressMax)    \
  3353.     (This)->lpVtbl -> ReportData(This,grfBSCF,ulProgress,ulProgressMax)
  3354.  
  3355. #define IInternetProtocolSink_ReportResult(This,hrResult,dwError,szResult)    \
  3356.     (This)->lpVtbl -> ReportResult(This,hrResult,dwError,szResult)
  3357.  
  3358. #endif /* COBJMACROS */
  3359.  
  3360.  
  3361. #endif     /* C style interface */
  3362.  
  3363.  
  3364.  
  3365. HRESULT STDMETHODCALLTYPE IInternetProtocolSink_Switch_Proxy( 
  3366.     IInternetProtocolSink __RPC_FAR * This,
  3367.     /* [in] */ PROTOCOLDATA __RPC_FAR *pProtocolData);
  3368.  
  3369.  
  3370. void __RPC_STUB IInternetProtocolSink_Switch_Stub(
  3371.     IRpcStubBuffer *This,
  3372.     IRpcChannelBuffer *_pRpcChannelBuffer,
  3373.     PRPC_MESSAGE _pRpcMessage,
  3374.     DWORD *_pdwStubPhase);
  3375.  
  3376.  
  3377. HRESULT STDMETHODCALLTYPE IInternetProtocolSink_ReportProgress_Proxy( 
  3378.     IInternetProtocolSink __RPC_FAR * This,
  3379.     /* [in] */ ULONG ulStatusCode,
  3380.     /* [in] */ LPCWSTR szStatusText);
  3381.  
  3382.  
  3383. void __RPC_STUB IInternetProtocolSink_ReportProgress_Stub(
  3384.     IRpcStubBuffer *This,
  3385.     IRpcChannelBuffer *_pRpcChannelBuffer,
  3386.     PRPC_MESSAGE _pRpcMessage,
  3387.     DWORD *_pdwStubPhase);
  3388.  
  3389.  
  3390. HRESULT STDMETHODCALLTYPE IInternetProtocolSink_ReportData_Proxy( 
  3391.     IInternetProtocolSink __RPC_FAR * This,
  3392.     /* [in] */ DWORD grfBSCF,
  3393.     /* [in] */ ULONG ulProgress,
  3394.     /* [in] */ ULONG ulProgressMax);
  3395.  
  3396.  
  3397. void __RPC_STUB IInternetProtocolSink_ReportData_Stub(
  3398.     IRpcStubBuffer *This,
  3399.     IRpcChannelBuffer *_pRpcChannelBuffer,
  3400.     PRPC_MESSAGE _pRpcMessage,
  3401.     DWORD *_pdwStubPhase);
  3402.  
  3403.  
  3404. HRESULT STDMETHODCALLTYPE IInternetProtocolSink_ReportResult_Proxy( 
  3405.     IInternetProtocolSink __RPC_FAR * This,
  3406.     /* [in] */ HRESULT hrResult,
  3407.     /* [in] */ DWORD dwError,
  3408.     /* [in] */ LPCWSTR szResult);
  3409.  
  3410.  
  3411. void __RPC_STUB IInternetProtocolSink_ReportResult_Stub(
  3412.     IRpcStubBuffer *This,
  3413.     IRpcChannelBuffer *_pRpcChannelBuffer,
  3414.     PRPC_MESSAGE _pRpcMessage,
  3415.     DWORD *_pdwStubPhase);
  3416.  
  3417.  
  3418.  
  3419. #endif     /* __IInternetProtocolSink_INTERFACE_DEFINED__ */
  3420.  
  3421.  
  3422. /* interface __MIDL_itf_urlmon_0184 */
  3423. /* [local] */ 
  3424.  
  3425. #endif
  3426. #ifndef _LPIINTERNETPROTOCOLSINKSTACKABLE_DEFINED
  3427. #define _LPIINTERNETPROTOCOLSINKSTACKABLE_DEFINED
  3428.  
  3429.  
  3430. extern RPC_IF_HANDLE __MIDL_itf_urlmon_0184_v0_0_c_ifspec;
  3431. extern RPC_IF_HANDLE __MIDL_itf_urlmon_0184_v0_0_s_ifspec;
  3432.  
  3433. #ifndef __IInternetProtocolSinkStackable_INTERFACE_DEFINED__
  3434. #define __IInternetProtocolSinkStackable_INTERFACE_DEFINED__
  3435.  
  3436. /* interface IInternetProtocolSinkStackable */
  3437. /* [unique][uuid][object][local] */ 
  3438.  
  3439. typedef /* [unique] */ IInternetProtocolSinkStackable __RPC_FAR *LPIINTERNETPROTOCOLSINKStackable;
  3440.  
  3441.  
  3442. EXTERN_C const IID IID_IInternetProtocolSinkStackable;
  3443.  
  3444. #if defined(__cplusplus) && !defined(CINTERFACE)
  3445.     
  3446.     MIDL_INTERFACE("79eac9f0-baf9-11ce-8c82-00aa004ba90b")
  3447.     IInternetProtocolSinkStackable : public IUnknown
  3448.     {
  3449.     public:
  3450.         virtual HRESULT STDMETHODCALLTYPE SwitchSink( 
  3451.             /* [in] */ IInternetProtocolSink __RPC_FAR *pOIProtSink) = 0;
  3452.         
  3453.         virtual HRESULT STDMETHODCALLTYPE CommitSwitch( void) = 0;
  3454.         
  3455.         virtual HRESULT STDMETHODCALLTYPE RollbackSwitch( void) = 0;
  3456.         
  3457.     };
  3458.     
  3459. #else     /* C style interface */
  3460.  
  3461.     typedef struct IInternetProtocolSinkStackableVtbl
  3462.     {
  3463.         BEGIN_INTERFACE
  3464.         
  3465.         HRESULT ( STDMETHODCALLTYPE __RPC_FAR *QueryInterface )( 
  3466.             IInternetProtocolSinkStackable __RPC_FAR * This,
  3467.             /* [in] */ REFIID riid,
  3468.             /* [iid_is][out] */ void __RPC_FAR *__RPC_FAR *ppvObject);
  3469.         
  3470.         ULONG ( STDMETHODCALLTYPE __RPC_FAR *AddRef )( 
  3471.             IInternetProtocolSinkStackable __RPC_FAR * This);
  3472.         
  3473.         ULONG ( STDMETHODCALLTYPE __RPC_FAR *Release )( 
  3474.             IInternetProtocolSinkStackable __RPC_FAR * This);
  3475.         
  3476.         HRESULT ( STDMETHODCALLTYPE __RPC_FAR *SwitchSink )( 
  3477.             IInternetProtocolSinkStackable __RPC_FAR * This,
  3478.             /* [in] */ IInternetProtocolSink __RPC_FAR *pOIProtSink);
  3479.         
  3480.         HRESULT ( STDMETHODCALLTYPE __RPC_FAR *CommitSwitch )( 
  3481.             IInternetProtocolSinkStackable __RPC_FAR * This);
  3482.         
  3483.         HRESULT ( STDMETHODCALLTYPE __RPC_FAR *RollbackSwitch )( 
  3484.             IInternetProtocolSinkStackable __RPC_FAR * This);
  3485.         
  3486.         END_INTERFACE
  3487.     } IInternetProtocolSinkStackableVtbl;
  3488.  
  3489.     interface IInternetProtocolSinkStackable
  3490.     {
  3491.         CONST_VTBL struct IInternetProtocolSinkStackableVtbl __RPC_FAR *lpVtbl;
  3492.     };
  3493.  
  3494.     
  3495.  
  3496. #ifdef COBJMACROS
  3497.  
  3498.  
  3499. #define IInternetProtocolSinkStackable_QueryInterface(This,riid,ppvObject)    \
  3500.     (This)->lpVtbl -> QueryInterface(This,riid,ppvObject)
  3501.  
  3502. #define IInternetProtocolSinkStackable_AddRef(This)    \
  3503.     (This)->lpVtbl -> AddRef(This)
  3504.  
  3505. #define IInternetProtocolSinkStackable_Release(This)    \
  3506.     (This)->lpVtbl -> Release(This)
  3507.  
  3508.  
  3509. #define IInternetProtocolSinkStackable_SwitchSink(This,pOIProtSink)    \
  3510.     (This)->lpVtbl -> SwitchSink(This,pOIProtSink)
  3511.  
  3512. #define IInternetProtocolSinkStackable_CommitSwitch(This)    \
  3513.     (This)->lpVtbl -> CommitSwitch(This)
  3514.  
  3515. #define IInternetProtocolSinkStackable_RollbackSwitch(This)    \
  3516.     (This)->lpVtbl -> RollbackSwitch(This)
  3517.  
  3518. #endif /* COBJMACROS */
  3519.  
  3520.  
  3521. #endif     /* C style interface */
  3522.  
  3523.  
  3524.  
  3525. HRESULT STDMETHODCALLTYPE IInternetProtocolSinkStackable_SwitchSink_Proxy( 
  3526.     IInternetProtocolSinkStackable __RPC_FAR * This,
  3527.     /* [in] */ IInternetProtocolSink __RPC_FAR *pOIProtSink);
  3528.  
  3529.  
  3530. void __RPC_STUB IInternetProtocolSinkStackable_SwitchSink_Stub(
  3531.     IRpcStubBuffer *This,
  3532.     IRpcChannelBuffer *_pRpcChannelBuffer,
  3533.     PRPC_MESSAGE _pRpcMessage,
  3534.     DWORD *_pdwStubPhase);
  3535.  
  3536.  
  3537. HRESULT STDMETHODCALLTYPE IInternetProtocolSinkStackable_CommitSwitch_Proxy( 
  3538.     IInternetProtocolSinkStackable __RPC_FAR * This);
  3539.  
  3540.  
  3541. void __RPC_STUB IInternetProtocolSinkStackable_CommitSwitch_Stub(
  3542.     IRpcStubBuffer *This,
  3543.     IRpcChannelBuffer *_pRpcChannelBuffer,
  3544.     PRPC_MESSAGE _pRpcMessage,
  3545.     DWORD *_pdwStubPhase);
  3546.  
  3547.  
  3548. HRESULT STDMETHODCALLTYPE IInternetProtocolSinkStackable_RollbackSwitch_Proxy( 
  3549.     IInternetProtocolSinkStackable __RPC_FAR * This);
  3550.  
  3551.  
  3552. void __RPC_STUB IInternetProtocolSinkStackable_RollbackSwitch_Stub(
  3553.     IRpcStubBuffer *This,
  3554.     IRpcChannelBuffer *_pRpcChannelBuffer,
  3555.     PRPC_MESSAGE _pRpcMessage,
  3556.     DWORD *_pdwStubPhase);
  3557.  
  3558.  
  3559.  
  3560. #endif     /* __IInternetProtocolSinkStackable_INTERFACE_DEFINED__ */
  3561.  
  3562.  
  3563. /* interface __MIDL_itf_urlmon_0185 */
  3564. /* [local] */ 
  3565.  
  3566. #endif
  3567. #ifndef _LPIINTERNETSESSION_DEFINED
  3568. #define _LPIINTERNETSESSION_DEFINED
  3569.  
  3570.  
  3571. extern RPC_IF_HANDLE __MIDL_itf_urlmon_0185_v0_0_c_ifspec;
  3572. extern RPC_IF_HANDLE __MIDL_itf_urlmon_0185_v0_0_s_ifspec;
  3573.  
  3574. #ifndef __IInternetSession_INTERFACE_DEFINED__
  3575. #define __IInternetSession_INTERFACE_DEFINED__
  3576.  
  3577. /* interface IInternetSession */
  3578. /* [unique][uuid][object][local] */ 
  3579.  
  3580. typedef /* [unique] */ IInternetSession __RPC_FAR *LPIINTERNETSESSION;
  3581.  
  3582. typedef 
  3583. enum _tagOIBDG_FLAGS
  3584.     {    OIBDG_APARTMENTTHREADED    = 0x100,
  3585.     OIBDG_DATAONLY    = 0x1000
  3586.     }    OIBDG_FLAGS;
  3587.  
  3588.  
  3589. EXTERN_C const IID IID_IInternetSession;
  3590.  
  3591. #if defined(__cplusplus) && !defined(CINTERFACE)
  3592.     
  3593.     MIDL_INTERFACE("79eac9e7-baf9-11ce-8c82-00aa004ba90b")
  3594.     IInternetSession : public IUnknown
  3595.     {
  3596.     public:
  3597.         virtual HRESULT STDMETHODCALLTYPE RegisterNameSpace( 
  3598.             /* [in] */ IClassFactory __RPC_FAR *pCF,
  3599.             /* [in] */ REFCLSID rclsid,
  3600.             /* [in] */ LPCWSTR pwzProtocol,
  3601.             /* [in] */ ULONG cPatterns,
  3602.             /* [in] */ const LPCWSTR __RPC_FAR *ppwzPatterns,
  3603.             /* [in] */ DWORD dwReserved) = 0;
  3604.         
  3605.         virtual HRESULT STDMETHODCALLTYPE UnregisterNameSpace( 
  3606.             /* [in] */ IClassFactory __RPC_FAR *pCF,
  3607.             /* [in] */ LPCWSTR pszProtocol) = 0;
  3608.         
  3609.         virtual HRESULT STDMETHODCALLTYPE RegisterMimeFilter( 
  3610.             /* [in] */ IClassFactory __RPC_FAR *pCF,
  3611.             /* [in] */ REFCLSID rclsid,
  3612.             /* [in] */ LPCWSTR pwzType) = 0;
  3613.         
  3614.         virtual HRESULT STDMETHODCALLTYPE UnregisterMimeFilter( 
  3615.             /* [in] */ IClassFactory __RPC_FAR *pCF,
  3616.             /* [in] */ LPCWSTR pwzType) = 0;
  3617.         
  3618.         virtual HRESULT STDMETHODCALLTYPE CreateBinding( 
  3619.             /* [in] */ LPBC pBC,
  3620.             /* [in] */ LPCWSTR szUrl,
  3621.             /* [in] */ IUnknown __RPC_FAR *pUnkOuter,
  3622.             /* [unique][out] */ IUnknown __RPC_FAR *__RPC_FAR *ppUnk,
  3623.             /* [unique][out] */ IInternetProtocol __RPC_FAR *__RPC_FAR *ppOInetProt,
  3624.             /* [in] */ DWORD dwOption) = 0;
  3625.         
  3626.         virtual HRESULT STDMETHODCALLTYPE SetSessionOption( 
  3627.             /* [in] */ DWORD dwOption,
  3628.             /* [in] */ LPVOID pBuffer,
  3629.             /* [in] */ DWORD dwBufferLength,
  3630.             /* [in] */ DWORD dwReserved) = 0;
  3631.         
  3632.         virtual HRESULT STDMETHODCALLTYPE GetSessionOption( 
  3633.             /* [in] */ DWORD dwOption,
  3634.             /* [out][in] */ LPVOID pBuffer,
  3635.             /* [out][in] */ DWORD __RPC_FAR *pdwBufferLength,
  3636.             /* [in] */ DWORD dwReserved) = 0;
  3637.         
  3638.     };
  3639.     
  3640. #else     /* C style interface */
  3641.  
  3642.     typedef struct IInternetSessionVtbl
  3643.     {
  3644.         BEGIN_INTERFACE
  3645.         
  3646.         HRESULT ( STDMETHODCALLTYPE __RPC_FAR *QueryInterface )( 
  3647.             IInternetSession __RPC_FAR * This,
  3648.             /* [in] */ REFIID riid,
  3649.             /* [iid_is][out] */ void __RPC_FAR *__RPC_FAR *ppvObject);
  3650.         
  3651.         ULONG ( STDMETHODCALLTYPE __RPC_FAR *AddRef )( 
  3652.             IInternetSession __RPC_FAR * This);
  3653.         
  3654.         ULONG ( STDMETHODCALLTYPE __RPC_FAR *Release )( 
  3655.             IInternetSession __RPC_FAR * This);
  3656.         
  3657.         HRESULT ( STDMETHODCALLTYPE __RPC_FAR *RegisterNameSpace )( 
  3658.             IInternetSession __RPC_FAR * This,
  3659.             /* [in] */ IClassFactory __RPC_FAR *pCF,
  3660.             /* [in] */ REFCLSID rclsid,
  3661.             /* [in] */ LPCWSTR pwzProtocol,
  3662.             /* [in] */ ULONG cPatterns,
  3663.             /* [in] */ const LPCWSTR __RPC_FAR *ppwzPatterns,
  3664.             /* [in] */ DWORD dwReserved);
  3665.         
  3666.         HRESULT ( STDMETHODCALLTYPE __RPC_FAR *UnregisterNameSpace )( 
  3667.             IInternetSession __RPC_FAR * This,
  3668.             /* [in] */ IClassFactory __RPC_FAR *pCF,
  3669.             /* [in] */ LPCWSTR pszProtocol);
  3670.         
  3671.         HRESULT ( STDMETHODCALLTYPE __RPC_FAR *RegisterMimeFilter )( 
  3672.             IInternetSession __RPC_FAR * This,
  3673.             /* [in] */ IClassFactory __RPC_FAR *pCF,
  3674.             /* [in] */ REFCLSID rclsid,
  3675.             /* [in] */ LPCWSTR pwzType);
  3676.         
  3677.         HRESULT ( STDMETHODCALLTYPE __RPC_FAR *UnregisterMimeFilter )( 
  3678.             IInternetSession __RPC_FAR * This,
  3679.             /* [in] */ IClassFactory __RPC_FAR *pCF,
  3680.             /* [in] */ LPCWSTR pwzType);
  3681.         
  3682.         HRESULT ( STDMETHODCALLTYPE __RPC_FAR *CreateBinding )( 
  3683.             IInternetSession __RPC_FAR * This,
  3684.             /* [in] */ LPBC pBC,
  3685.             /* [in] */ LPCWSTR szUrl,
  3686.             /* [in] */ IUnknown __RPC_FAR *pUnkOuter,
  3687.             /* [unique][out] */ IUnknown __RPC_FAR *__RPC_FAR *ppUnk,
  3688.             /* [unique][out] */ IInternetProtocol __RPC_FAR *__RPC_FAR *ppOInetProt,
  3689.             /* [in] */ DWORD dwOption);
  3690.         
  3691.         HRESULT ( STDMETHODCALLTYPE __RPC_FAR *SetSessionOption )( 
  3692.             IInternetSession __RPC_FAR * This,
  3693.             /* [in] */ DWORD dwOption,
  3694.             /* [in] */ LPVOID pBuffer,
  3695.             /* [in] */ DWORD dwBufferLength,
  3696.             /* [in] */ DWORD dwReserved);
  3697.         
  3698.         HRESULT ( STDMETHODCALLTYPE __RPC_FAR *GetSessionOption )( 
  3699.             IInternetSession __RPC_FAR * This,
  3700.             /* [in] */ DWORD dwOption,
  3701.             /* [out][in] */ LPVOID pBuffer,
  3702.             /* [out][in] */ DWORD __RPC_FAR *pdwBufferLength,
  3703.             /* [in] */ DWORD dwReserved);
  3704.         
  3705.         END_INTERFACE
  3706.     } IInternetSessionVtbl;
  3707.  
  3708.     interface IInternetSession
  3709.     {
  3710.         CONST_VTBL struct IInternetSessionVtbl __RPC_FAR *lpVtbl;
  3711.     };
  3712.  
  3713.     
  3714.  
  3715. #ifdef COBJMACROS
  3716.  
  3717.  
  3718. #define IInternetSession_QueryInterface(This,riid,ppvObject)    \
  3719.     (This)->lpVtbl -> QueryInterface(This,riid,ppvObject)
  3720.  
  3721. #define IInternetSession_AddRef(This)    \
  3722.     (This)->lpVtbl -> AddRef(This)
  3723.  
  3724. #define IInternetSession_Release(This)    \
  3725.     (This)->lpVtbl -> Release(This)
  3726.  
  3727.  
  3728. #define IInternetSession_RegisterNameSpace(This,pCF,rclsid,pwzProtocol,cPatterns,ppwzPatterns,dwReserved)    \
  3729.     (This)->lpVtbl -> RegisterNameSpace(This,pCF,rclsid,pwzProtocol,cPatterns,ppwzPatterns,dwReserved)
  3730.  
  3731. #define IInternetSession_UnregisterNameSpace(This,pCF,pszProtocol)    \
  3732.     (This)->lpVtbl -> UnregisterNameSpace(This,pCF,pszProtocol)
  3733.  
  3734. #define IInternetSession_RegisterMimeFilter(This,pCF,rclsid,pwzType)    \
  3735.     (This)->lpVtbl -> RegisterMimeFilter(This,pCF,rclsid,pwzType)
  3736.  
  3737. #define IInternetSession_UnregisterMimeFilter(This,pCF,pwzType)    \
  3738.     (This)->lpVtbl -> UnregisterMimeFilter(This,pCF,pwzType)
  3739.  
  3740. #define IInternetSession_CreateBinding(This,pBC,szUrl,pUnkOuter,ppUnk,ppOInetProt,dwOption)    \
  3741.     (This)->lpVtbl -> CreateBinding(This,pBC,szUrl,pUnkOuter,ppUnk,ppOInetProt,dwOption)
  3742.  
  3743. #define IInternetSession_SetSessionOption(This,dwOption,pBuffer,dwBufferLength,dwReserved)    \
  3744.     (This)->lpVtbl -> SetSessionOption(This,dwOption,pBuffer,dwBufferLength,dwReserved)
  3745.  
  3746. #define IInternetSession_GetSessionOption(This,dwOption,pBuffer,pdwBufferLength,dwReserved)    \
  3747.     (This)->lpVtbl -> GetSessionOption(This,dwOption,pBuffer,pdwBufferLength,dwReserved)
  3748.  
  3749. #endif /* COBJMACROS */
  3750.  
  3751.  
  3752. #endif     /* C style interface */
  3753.  
  3754.  
  3755.  
  3756. HRESULT STDMETHODCALLTYPE IInternetSession_RegisterNameSpace_Proxy( 
  3757.     IInternetSession __RPC_FAR * This,
  3758.     /* [in] */ IClassFactory __RPC_FAR *pCF,
  3759.     /* [in] */ REFCLSID rclsid,
  3760.     /* [in] */ LPCWSTR pwzProtocol,
  3761.     /* [in] */ ULONG cPatterns,
  3762.     /* [in] */ const LPCWSTR __RPC_FAR *ppwzPatterns,
  3763.     /* [in] */ DWORD dwReserved);
  3764.  
  3765.  
  3766. void __RPC_STUB IInternetSession_RegisterNameSpace_Stub(
  3767.     IRpcStubBuffer *This,
  3768.     IRpcChannelBuffer *_pRpcChannelBuffer,
  3769.     PRPC_MESSAGE _pRpcMessage,
  3770.     DWORD *_pdwStubPhase);
  3771.  
  3772.  
  3773. HRESULT STDMETHODCALLTYPE IInternetSession_UnregisterNameSpace_Proxy( 
  3774.     IInternetSession __RPC_FAR * This,
  3775.     /* [in] */ IClassFactory __RPC_FAR *pCF,
  3776.     /* [in] */ LPCWSTR pszProtocol);
  3777.  
  3778.  
  3779. void __RPC_STUB IInternetSession_UnregisterNameSpace_Stub(
  3780.     IRpcStubBuffer *This,
  3781.     IRpcChannelBuffer *_pRpcChannelBuffer,
  3782.     PRPC_MESSAGE _pRpcMessage,
  3783.     DWORD *_pdwStubPhase);
  3784.  
  3785.  
  3786. HRESULT STDMETHODCALLTYPE IInternetSession_RegisterMimeFilter_Proxy( 
  3787.     IInternetSession __RPC_FAR * This,
  3788.     /* [in] */ IClassFactory __RPC_FAR *pCF,
  3789.     /* [in] */ REFCLSID rclsid,
  3790.     /* [in] */ LPCWSTR pwzType);
  3791.  
  3792.  
  3793. void __RPC_STUB IInternetSession_RegisterMimeFilter_Stub(
  3794.     IRpcStubBuffer *This,
  3795.     IRpcChannelBuffer *_pRpcChannelBuffer,
  3796.     PRPC_MESSAGE _pRpcMessage,
  3797.     DWORD *_pdwStubPhase);
  3798.  
  3799.  
  3800. HRESULT STDMETHODCALLTYPE IInternetSession_UnregisterMimeFilter_Proxy( 
  3801.     IInternetSession __RPC_FAR * This,
  3802.     /* [in] */ IClassFactory __RPC_FAR *pCF,
  3803.     /* [in] */ LPCWSTR pwzType);
  3804.  
  3805.  
  3806. void __RPC_STUB IInternetSession_UnregisterMimeFilter_Stub(
  3807.     IRpcStubBuffer *This,
  3808.     IRpcChannelBuffer *_pRpcChannelBuffer,
  3809.     PRPC_MESSAGE _pRpcMessage,
  3810.     DWORD *_pdwStubPhase);
  3811.  
  3812.  
  3813. HRESULT STDMETHODCALLTYPE IInternetSession_CreateBinding_Proxy( 
  3814.     IInternetSession __RPC_FAR * This,
  3815.     /* [in] */ LPBC pBC,
  3816.     /* [in] */ LPCWSTR szUrl,
  3817.     /* [in] */ IUnknown __RPC_FAR *pUnkOuter,
  3818.     /* [unique][out] */ IUnknown __RPC_FAR *__RPC_FAR *ppUnk,
  3819.     /* [unique][out] */ IInternetProtocol __RPC_FAR *__RPC_FAR *ppOInetProt,
  3820.     /* [in] */ DWORD dwOption);
  3821.  
  3822.  
  3823. void __RPC_STUB IInternetSession_CreateBinding_Stub(
  3824.     IRpcStubBuffer *This,
  3825.     IRpcChannelBuffer *_pRpcChannelBuffer,
  3826.     PRPC_MESSAGE _pRpcMessage,
  3827.     DWORD *_pdwStubPhase);
  3828.  
  3829.  
  3830. HRESULT STDMETHODCALLTYPE IInternetSession_SetSessionOption_Proxy( 
  3831.     IInternetSession __RPC_FAR * This,
  3832.     /* [in] */ DWORD dwOption,
  3833.     /* [in] */ LPVOID pBuffer,
  3834.     /* [in] */ DWORD dwBufferLength,
  3835.     /* [in] */ DWORD dwReserved);
  3836.  
  3837.  
  3838. void __RPC_STUB IInternetSession_SetSessionOption_Stub(
  3839.     IRpcStubBuffer *This,
  3840.     IRpcChannelBuffer *_pRpcChannelBuffer,
  3841.     PRPC_MESSAGE _pRpcMessage,
  3842.     DWORD *_pdwStubPhase);
  3843.  
  3844.  
  3845. HRESULT STDMETHODCALLTYPE IInternetSession_GetSessionOption_Proxy( 
  3846.     IInternetSession __RPC_FAR * This,
  3847.     /* [in] */ DWORD dwOption,
  3848.     /* [out][in] */ LPVOID pBuffer,
  3849.     /* [out][in] */ DWORD __RPC_FAR *pdwBufferLength,
  3850.     /* [in] */ DWORD dwReserved);
  3851.  
  3852.  
  3853. void __RPC_STUB IInternetSession_GetSessionOption_Stub(
  3854.     IRpcStubBuffer *This,
  3855.     IRpcChannelBuffer *_pRpcChannelBuffer,
  3856.     PRPC_MESSAGE _pRpcMessage,
  3857.     DWORD *_pdwStubPhase);
  3858.  
  3859.  
  3860.  
  3861. #endif     /* __IInternetSession_INTERFACE_DEFINED__ */
  3862.  
  3863.  
  3864. /* interface __MIDL_itf_urlmon_0186 */
  3865. /* [local] */ 
  3866.  
  3867. #endif
  3868. #ifndef _LPIINTERNETTHREADSWITCH_DEFINED
  3869. #define _LPIINTERNETTHREADSWITCH_DEFINED
  3870.  
  3871.  
  3872. extern RPC_IF_HANDLE __MIDL_itf_urlmon_0186_v0_0_c_ifspec;
  3873. extern RPC_IF_HANDLE __MIDL_itf_urlmon_0186_v0_0_s_ifspec;
  3874.  
  3875. #ifndef __IInternetThreadSwitch_INTERFACE_DEFINED__
  3876. #define __IInternetThreadSwitch_INTERFACE_DEFINED__
  3877.  
  3878. /* interface IInternetThreadSwitch */
  3879. /* [unique][uuid][object][local] */ 
  3880.  
  3881. typedef /* [unique] */ IInternetThreadSwitch __RPC_FAR *LPIINTERNETTHREADSWITCH;
  3882.  
  3883.  
  3884. EXTERN_C const IID IID_IInternetThreadSwitch;
  3885.  
  3886. #if defined(__cplusplus) && !defined(CINTERFACE)
  3887.     
  3888.     MIDL_INTERFACE("79eac9e8-baf9-11ce-8c82-00aa004ba90b")
  3889.     IInternetThreadSwitch : public IUnknown
  3890.     {
  3891.     public:
  3892.         virtual HRESULT STDMETHODCALLTYPE Prepare( void) = 0;
  3893.         
  3894.         virtual HRESULT STDMETHODCALLTYPE Continue( void) = 0;
  3895.         
  3896.     };
  3897.     
  3898. #else     /* C style interface */
  3899.  
  3900.     typedef struct IInternetThreadSwitchVtbl
  3901.     {
  3902.         BEGIN_INTERFACE
  3903.         
  3904.         HRESULT ( STDMETHODCALLTYPE __RPC_FAR *QueryInterface )( 
  3905.             IInternetThreadSwitch __RPC_FAR * This,
  3906.             /* [in] */ REFIID riid,
  3907.             /* [iid_is][out] */ void __RPC_FAR *__RPC_FAR *ppvObject);
  3908.         
  3909.         ULONG ( STDMETHODCALLTYPE __RPC_FAR *AddRef )( 
  3910.             IInternetThreadSwitch __RPC_FAR * This);
  3911.         
  3912.         ULONG ( STDMETHODCALLTYPE __RPC_FAR *Release )( 
  3913.             IInternetThreadSwitch __RPC_FAR * This);
  3914.         
  3915.         HRESULT ( STDMETHODCALLTYPE __RPC_FAR *Prepare )( 
  3916.             IInternetThreadSwitch __RPC_FAR * This);
  3917.         
  3918.         HRESULT ( STDMETHODCALLTYPE __RPC_FAR *Continue )( 
  3919.             IInternetThreadSwitch __RPC_FAR * This);
  3920.         
  3921.         END_INTERFACE
  3922.     } IInternetThreadSwitchVtbl;
  3923.  
  3924.     interface IInternetThreadSwitch
  3925.     {
  3926.         CONST_VTBL struct IInternetThreadSwitchVtbl __RPC_FAR *lpVtbl;
  3927.     };
  3928.  
  3929.     
  3930.  
  3931. #ifdef COBJMACROS
  3932.  
  3933.  
  3934. #define IInternetThreadSwitch_QueryInterface(This,riid,ppvObject)    \
  3935.     (This)->lpVtbl -> QueryInterface(This,riid,ppvObject)
  3936.  
  3937. #define IInternetThreadSwitch_AddRef(This)    \
  3938.     (This)->lpVtbl -> AddRef(This)
  3939.  
  3940. #define IInternetThreadSwitch_Release(This)    \
  3941.     (This)->lpVtbl -> Release(This)
  3942.  
  3943.  
  3944. #define IInternetThreadSwitch_Prepare(This)    \
  3945.     (This)->lpVtbl -> Prepare(This)
  3946.  
  3947. #define IInternetThreadSwitch_Continue(This)    \
  3948.     (This)->lpVtbl -> Continue(This)
  3949.  
  3950. #endif /* COBJMACROS */
  3951.  
  3952.  
  3953. #endif     /* C style interface */
  3954.  
  3955.  
  3956.  
  3957. HRESULT STDMETHODCALLTYPE IInternetThreadSwitch_Prepare_Proxy( 
  3958.     IInternetThreadSwitch __RPC_FAR * This);
  3959.  
  3960.  
  3961. void __RPC_STUB IInternetThreadSwitch_Prepare_Stub(
  3962.     IRpcStubBuffer *This,
  3963.     IRpcChannelBuffer *_pRpcChannelBuffer,
  3964.     PRPC_MESSAGE _pRpcMessage,
  3965.     DWORD *_pdwStubPhase);
  3966.  
  3967.  
  3968. HRESULT STDMETHODCALLTYPE IInternetThreadSwitch_Continue_Proxy( 
  3969.     IInternetThreadSwitch __RPC_FAR * This);
  3970.  
  3971.  
  3972. void __RPC_STUB IInternetThreadSwitch_Continue_Stub(
  3973.     IRpcStubBuffer *This,
  3974.     IRpcChannelBuffer *_pRpcChannelBuffer,
  3975.     PRPC_MESSAGE _pRpcMessage,
  3976.     DWORD *_pdwStubPhase);
  3977.  
  3978.  
  3979.  
  3980. #endif     /* __IInternetThreadSwitch_INTERFACE_DEFINED__ */
  3981.  
  3982.  
  3983. /* interface __MIDL_itf_urlmon_0187 */
  3984. /* [local] */ 
  3985.  
  3986. #endif
  3987. #ifndef _LPIINTERNETPRIORITY_DEFINED
  3988. #define _LPIINTERNETPRIORITY_DEFINED
  3989.  
  3990.  
  3991. extern RPC_IF_HANDLE __MIDL_itf_urlmon_0187_v0_0_c_ifspec;
  3992. extern RPC_IF_HANDLE __MIDL_itf_urlmon_0187_v0_0_s_ifspec;
  3993.  
  3994. #ifndef __IInternetPriority_INTERFACE_DEFINED__
  3995. #define __IInternetPriority_INTERFACE_DEFINED__
  3996.  
  3997. /* interface IInternetPriority */
  3998. /* [unique][uuid][object][local] */ 
  3999.  
  4000. typedef /* [unique] */ IInternetPriority __RPC_FAR *LPIINTERNETPRIORITY;
  4001.  
  4002.  
  4003. EXTERN_C const IID IID_IInternetPriority;
  4004.  
  4005. #if defined(__cplusplus) && !defined(CINTERFACE)
  4006.     
  4007.     MIDL_INTERFACE("79eac9eb-baf9-11ce-8c82-00aa004ba90b")
  4008.     IInternetPriority : public IUnknown
  4009.     {
  4010.     public:
  4011.         virtual HRESULT STDMETHODCALLTYPE SetPriority( 
  4012.             /* [in] */ LONG nPriority) = 0;
  4013.         
  4014.         virtual HRESULT STDMETHODCALLTYPE GetPriority( 
  4015.             /* [out] */ LONG __RPC_FAR *pnPriority) = 0;
  4016.         
  4017.     };
  4018.     
  4019. #else     /* C style interface */
  4020.  
  4021.     typedef struct IInternetPriorityVtbl
  4022.     {
  4023.         BEGIN_INTERFACE
  4024.         
  4025.         HRESULT ( STDMETHODCALLTYPE __RPC_FAR *QueryInterface )( 
  4026.             IInternetPriority __RPC_FAR * This,
  4027.             /* [in] */ REFIID riid,
  4028.             /* [iid_is][out] */ void __RPC_FAR *__RPC_FAR *ppvObject);
  4029.         
  4030.         ULONG ( STDMETHODCALLTYPE __RPC_FAR *AddRef )( 
  4031.             IInternetPriority __RPC_FAR * This);
  4032.         
  4033.         ULONG ( STDMETHODCALLTYPE __RPC_FAR *Release )( 
  4034.             IInternetPriority __RPC_FAR * This);
  4035.         
  4036.         HRESULT ( STDMETHODCALLTYPE __RPC_FAR *SetPriority )( 
  4037.             IInternetPriority __RPC_FAR * This,
  4038.             /* [in] */ LONG nPriority);
  4039.         
  4040.         HRESULT ( STDMETHODCALLTYPE __RPC_FAR *GetPriority )( 
  4041.             IInternetPriority __RPC_FAR * This,
  4042.             /* [out] */ LONG __RPC_FAR *pnPriority);
  4043.         
  4044.         END_INTERFACE
  4045.     } IInternetPriorityVtbl;
  4046.  
  4047.     interface IInternetPriority
  4048.     {
  4049.         CONST_VTBL struct IInternetPriorityVtbl __RPC_FAR *lpVtbl;
  4050.     };
  4051.  
  4052.     
  4053.  
  4054. #ifdef COBJMACROS
  4055.  
  4056.  
  4057. #define IInternetPriority_QueryInterface(This,riid,ppvObject)    \
  4058.     (This)->lpVtbl -> QueryInterface(This,riid,ppvObject)
  4059.  
  4060. #define IInternetPriority_AddRef(This)    \
  4061.     (This)->lpVtbl -> AddRef(This)
  4062.  
  4063. #define IInternetPriority_Release(This)    \
  4064.     (This)->lpVtbl -> Release(This)
  4065.  
  4066.  
  4067. #define IInternetPriority_SetPriority(This,nPriority)    \
  4068.     (This)->lpVtbl -> SetPriority(This,nPriority)
  4069.  
  4070. #define IInternetPriority_GetPriority(This,pnPriority)    \
  4071.     (This)->lpVtbl -> GetPriority(This,pnPriority)
  4072.  
  4073. #endif /* COBJMACROS */
  4074.  
  4075.  
  4076. #endif     /* C style interface */
  4077.  
  4078.  
  4079.  
  4080. HRESULT STDMETHODCALLTYPE IInternetPriority_SetPriority_Proxy( 
  4081.     IInternetPriority __RPC_FAR * This,
  4082.     /* [in] */ LONG nPriority);
  4083.  
  4084.  
  4085. void __RPC_STUB IInternetPriority_SetPriority_Stub(
  4086.     IRpcStubBuffer *This,
  4087.     IRpcChannelBuffer *_pRpcChannelBuffer,
  4088.     PRPC_MESSAGE _pRpcMessage,
  4089.     DWORD *_pdwStubPhase);
  4090.  
  4091.  
  4092. HRESULT STDMETHODCALLTYPE IInternetPriority_GetPriority_Proxy( 
  4093.     IInternetPriority __RPC_FAR * This,
  4094.     /* [out] */ LONG __RPC_FAR *pnPriority);
  4095.  
  4096.  
  4097. void __RPC_STUB IInternetPriority_GetPriority_Stub(
  4098.     IRpcStubBuffer *This,
  4099.     IRpcChannelBuffer *_pRpcChannelBuffer,
  4100.     PRPC_MESSAGE _pRpcMessage,
  4101.     DWORD *_pdwStubPhase);
  4102.  
  4103.  
  4104.  
  4105. #endif     /* __IInternetPriority_INTERFACE_DEFINED__ */
  4106.  
  4107.  
  4108. /* interface __MIDL_itf_urlmon_0188 */
  4109. /* [local] */ 
  4110.  
  4111. #endif
  4112. #ifndef _LPIINTERNETPROTOCOLINFO_DEFINED
  4113. #define _LPIINTERNETPROTOCOLINFO_DEFINED
  4114.  
  4115.  
  4116. extern RPC_IF_HANDLE __MIDL_itf_urlmon_0188_v0_0_c_ifspec;
  4117. extern RPC_IF_HANDLE __MIDL_itf_urlmon_0188_v0_0_s_ifspec;
  4118.  
  4119. #ifndef __IInternetProtocolInfo_INTERFACE_DEFINED__
  4120. #define __IInternetProtocolInfo_INTERFACE_DEFINED__
  4121.  
  4122. /* interface IInternetProtocolInfo */
  4123. /* [unique][uuid][object][local] */ 
  4124.  
  4125. typedef /* [unique] */ IInternetProtocolInfo __RPC_FAR *LPIINTERNETPROTOCOLINFO;
  4126.  
  4127. typedef 
  4128. enum _tagPARSEACTION
  4129.     {    PARSE_CANONICALIZE    = 1,
  4130.     PARSE_FRIENDLY    = PARSE_CANONICALIZE + 1,
  4131.     PARSE_SECURITY_URL    = PARSE_FRIENDLY + 1,
  4132.     PARSE_ROOTDOCUMENT    = PARSE_SECURITY_URL + 1,
  4133.     PARSE_DOCUMENT    = PARSE_ROOTDOCUMENT + 1,
  4134.     PARSE_ANCHOR    = PARSE_DOCUMENT + 1,
  4135.     PARSE_ENCODE    = PARSE_ANCHOR + 1,
  4136.     PARSE_DECODE    = PARSE_ENCODE + 1,
  4137.     PARSE_PATH_FROM_URL    = PARSE_DECODE + 1,
  4138.     PARSE_URL_FROM_PATH    = PARSE_PATH_FROM_URL + 1,
  4139.     PARSE_MIME    = PARSE_URL_FROM_PATH + 1,
  4140.     PARSE_SERVER    = PARSE_MIME + 1,
  4141.     PARSE_SCHEMA    = PARSE_SERVER + 1,
  4142.     PARSE_SITE    = PARSE_SCHEMA + 1,
  4143.     PARSE_DOMAIN    = PARSE_SITE + 1,
  4144.     PARSE_LOCATION    = PARSE_DOMAIN + 1,
  4145.     PARSE_SECURITY_DOMAIN    = PARSE_LOCATION + 1,
  4146.     PARSE_ESCAPE    = PARSE_SECURITY_DOMAIN + 1,
  4147.     PARSE_UNESCAPE    = PARSE_ESCAPE + 1
  4148.     }    PARSEACTION;
  4149.  
  4150. typedef 
  4151. enum _tagPSUACTION
  4152.     {    PSU_DEFAULT    = 1,
  4153.     PSU_SECURITY_URL_ONLY    = PSU_DEFAULT + 1
  4154.     }    PSUACTION;
  4155.  
  4156. typedef 
  4157. enum _tagQUERYOPTION
  4158.     {    QUERY_EXPIRATION_DATE    = 1,
  4159.     QUERY_TIME_OF_LAST_CHANGE    = QUERY_EXPIRATION_DATE + 1,
  4160.     QUERY_CONTENT_ENCODING    = QUERY_TIME_OF_LAST_CHANGE + 1,
  4161.     QUERY_CONTENT_TYPE    = QUERY_CONTENT_ENCODING + 1,
  4162.     QUERY_REFRESH    = QUERY_CONTENT_TYPE + 1,
  4163.     QUERY_RECOMBINE    = QUERY_REFRESH + 1,
  4164.     QUERY_CAN_NAVIGATE    = QUERY_RECOMBINE + 1,
  4165.     QUERY_USES_NETWORK    = QUERY_CAN_NAVIGATE + 1,
  4166.     QUERY_IS_CACHED    = QUERY_USES_NETWORK + 1,
  4167.     QUERY_IS_INSTALLEDENTRY    = QUERY_IS_CACHED + 1,
  4168.     QUERY_IS_CACHED_OR_MAPPED    = QUERY_IS_INSTALLEDENTRY + 1,
  4169.     QUERY_USES_CACHE    = QUERY_IS_CACHED_OR_MAPPED + 1,
  4170.     QUERY_IS_SECURE    = QUERY_USES_CACHE + 1,
  4171.     QUERY_IS_SAFE    = QUERY_IS_SECURE + 1
  4172.     }    QUERYOPTION;
  4173.  
  4174.  
  4175. EXTERN_C const IID IID_IInternetProtocolInfo;
  4176.  
  4177. #if defined(__cplusplus) && !defined(CINTERFACE)
  4178.     
  4179.     MIDL_INTERFACE("79eac9ec-baf9-11ce-8c82-00aa004ba90b")
  4180.     IInternetProtocolInfo : public IUnknown
  4181.     {
  4182.     public:
  4183.         virtual HRESULT STDMETHODCALLTYPE ParseUrl( 
  4184.             /* [in] */ LPCWSTR pwzUrl,
  4185.             /* [in] */ PARSEACTION ParseAction,
  4186.             /* [in] */ DWORD dwParseFlags,
  4187.             /* [out] */ LPWSTR pwzResult,
  4188.             /* [in] */ DWORD cchResult,
  4189.             /* [out] */ DWORD __RPC_FAR *pcchResult,
  4190.             /* [in] */ DWORD dwReserved) = 0;
  4191.         
  4192.         virtual HRESULT STDMETHODCALLTYPE CombineUrl( 
  4193.             /* [in] */ LPCWSTR pwzBaseUrl,
  4194.             /* [in] */ LPCWSTR pwzRelativeUrl,
  4195.             /* [in] */ DWORD dwCombineFlags,
  4196.             /* [out] */ LPWSTR pwzResult,
  4197.             /* [in] */ DWORD cchResult,
  4198.             /* [out] */ DWORD __RPC_FAR *pcchResult,
  4199.             /* [in] */ DWORD dwReserved) = 0;
  4200.         
  4201.         virtual HRESULT STDMETHODCALLTYPE CompareUrl( 
  4202.             /* [in] */ LPCWSTR pwzUrl1,
  4203.             /* [in] */ LPCWSTR pwzUrl2,
  4204.             /* [in] */ DWORD dwCompareFlags) = 0;
  4205.         
  4206.         virtual HRESULT STDMETHODCALLTYPE QueryInfo( 
  4207.             /* [in] */ LPCWSTR pwzUrl,
  4208.             /* [in] */ QUERYOPTION OueryOption,
  4209.             /* [in] */ DWORD dwQueryFlags,
  4210.             /* [size_is][out][in] */ LPVOID pBuffer,
  4211.             /* [in] */ DWORD cbBuffer,
  4212.             /* [out][in] */ DWORD __RPC_FAR *pcbBuf,
  4213.             /* [in] */ DWORD dwReserved) = 0;
  4214.         
  4215.     };
  4216.     
  4217. #else     /* C style interface */
  4218.  
  4219.     typedef struct IInternetProtocolInfoVtbl
  4220.     {
  4221.         BEGIN_INTERFACE
  4222.         
  4223.         HRESULT ( STDMETHODCALLTYPE __RPC_FAR *QueryInterface )( 
  4224.             IInternetProtocolInfo __RPC_FAR * This,
  4225.             /* [in] */ REFIID riid,
  4226.             /* [iid_is][out] */ void __RPC_FAR *__RPC_FAR *ppvObject);
  4227.         
  4228.         ULONG ( STDMETHODCALLTYPE __RPC_FAR *AddRef )( 
  4229.             IInternetProtocolInfo __RPC_FAR * This);
  4230.         
  4231.         ULONG ( STDMETHODCALLTYPE __RPC_FAR *Release )( 
  4232.             IInternetProtocolInfo __RPC_FAR * This);
  4233.         
  4234.         HRESULT ( STDMETHODCALLTYPE __RPC_FAR *ParseUrl )( 
  4235.             IInternetProtocolInfo __RPC_FAR * This,
  4236.             /* [in] */ LPCWSTR pwzUrl,
  4237.             /* [in] */ PARSEACTION ParseAction,
  4238.             /* [in] */ DWORD dwParseFlags,
  4239.             /* [out] */ LPWSTR pwzResult,
  4240.             /* [in] */ DWORD cchResult,
  4241.             /* [out] */ DWORD __RPC_FAR *pcchResult,
  4242.             /* [in] */ DWORD dwReserved);
  4243.         
  4244.         HRESULT ( STDMETHODCALLTYPE __RPC_FAR *CombineUrl )( 
  4245.             IInternetProtocolInfo __RPC_FAR * This,
  4246.             /* [in] */ LPCWSTR pwzBaseUrl,
  4247.             /* [in] */ LPCWSTR pwzRelativeUrl,
  4248.             /* [in] */ DWORD dwCombineFlags,
  4249.             /* [out] */ LPWSTR pwzResult,
  4250.             /* [in] */ DWORD cchResult,
  4251.             /* [out] */ DWORD __RPC_FAR *pcchResult,
  4252.             /* [in] */ DWORD dwReserved);
  4253.         
  4254.         HRESULT ( STDMETHODCALLTYPE __RPC_FAR *CompareUrl )( 
  4255.             IInternetProtocolInfo __RPC_FAR * This,
  4256.             /* [in] */ LPCWSTR pwzUrl1,
  4257.             /* [in] */ LPCWSTR pwzUrl2,
  4258.             /* [in] */ DWORD dwCompareFlags);
  4259.         
  4260.         HRESULT ( STDMETHODCALLTYPE __RPC_FAR *QueryInfo )( 
  4261.             IInternetProtocolInfo __RPC_FAR * This,
  4262.             /* [in] */ LPCWSTR pwzUrl,
  4263.             /* [in] */ QUERYOPTION OueryOption,
  4264.             /* [in] */ DWORD dwQueryFlags,
  4265.             /* [size_is][out][in] */ LPVOID pBuffer,
  4266.             /* [in] */ DWORD cbBuffer,
  4267.             /* [out][in] */ DWORD __RPC_FAR *pcbBuf,
  4268.             /* [in] */ DWORD dwReserved);
  4269.         
  4270.         END_INTERFACE
  4271.     } IInternetProtocolInfoVtbl;
  4272.  
  4273.     interface IInternetProtocolInfo
  4274.     {
  4275.         CONST_VTBL struct IInternetProtocolInfoVtbl __RPC_FAR *lpVtbl;
  4276.     };
  4277.  
  4278.     
  4279.  
  4280. #ifdef COBJMACROS
  4281.  
  4282.  
  4283. #define IInternetProtocolInfo_QueryInterface(This,riid,ppvObject)    \
  4284.     (This)->lpVtbl -> QueryInterface(This,riid,ppvObject)
  4285.  
  4286. #define IInternetProtocolInfo_AddRef(This)    \
  4287.     (This)->lpVtbl -> AddRef(This)
  4288.  
  4289. #define IInternetProtocolInfo_Release(This)    \
  4290.     (This)->lpVtbl -> Release(This)
  4291.  
  4292.  
  4293. #define IInternetProtocolInfo_ParseUrl(This,pwzUrl,ParseAction,dwParseFlags,pwzResult,cchResult,pcchResult,dwReserved)    \
  4294.     (This)->lpVtbl -> ParseUrl(This,pwzUrl,ParseAction,dwParseFlags,pwzResult,cchResult,pcchResult,dwReserved)
  4295.  
  4296. #define IInternetProtocolInfo_CombineUrl(This,pwzBaseUrl,pwzRelativeUrl,dwCombineFlags,pwzResult,cchResult,pcchResult,dwReserved)    \
  4297.     (This)->lpVtbl -> CombineUrl(This,pwzBaseUrl,pwzRelativeUrl,dwCombineFlags,pwzResult,cchResult,pcchResult,dwReserved)
  4298.  
  4299. #define IInternetProtocolInfo_CompareUrl(This,pwzUrl1,pwzUrl2,dwCompareFlags)    \
  4300.     (This)->lpVtbl -> CompareUrl(This,pwzUrl1,pwzUrl2,dwCompareFlags)
  4301.  
  4302. #define IInternetProtocolInfo_QueryInfo(This,pwzUrl,OueryOption,dwQueryFlags,pBuffer,cbBuffer,pcbBuf,dwReserved)    \
  4303.     (This)->lpVtbl -> QueryInfo(This,pwzUrl,OueryOption,dwQueryFlags,pBuffer,cbBuffer,pcbBuf,dwReserved)
  4304.  
  4305. #endif /* COBJMACROS */
  4306.  
  4307.  
  4308. #endif     /* C style interface */
  4309.  
  4310.  
  4311.  
  4312. HRESULT STDMETHODCALLTYPE IInternetProtocolInfo_ParseUrl_Proxy( 
  4313.     IInternetProtocolInfo __RPC_FAR * This,
  4314.     /* [in] */ LPCWSTR pwzUrl,
  4315.     /* [in] */ PARSEACTION ParseAction,
  4316.     /* [in] */ DWORD dwParseFlags,
  4317.     /* [out] */ LPWSTR pwzResult,
  4318.     /* [in] */ DWORD cchResult,
  4319.     /* [out] */ DWORD __RPC_FAR *pcchResult,
  4320.     /* [in] */ DWORD dwReserved);
  4321.  
  4322.  
  4323. void __RPC_STUB IInternetProtocolInfo_ParseUrl_Stub(
  4324.     IRpcStubBuffer *This,
  4325.     IRpcChannelBuffer *_pRpcChannelBuffer,
  4326.     PRPC_MESSAGE _pRpcMessage,
  4327.     DWORD *_pdwStubPhase);
  4328.  
  4329.  
  4330. HRESULT STDMETHODCALLTYPE IInternetProtocolInfo_CombineUrl_Proxy( 
  4331.     IInternetProtocolInfo __RPC_FAR * This,
  4332.     /* [in] */ LPCWSTR pwzBaseUrl,
  4333.     /* [in] */ LPCWSTR pwzRelativeUrl,
  4334.     /* [in] */ DWORD dwCombineFlags,
  4335.     /* [out] */ LPWSTR pwzResult,
  4336.     /* [in] */ DWORD cchResult,
  4337.     /* [out] */ DWORD __RPC_FAR *pcchResult,
  4338.     /* [in] */ DWORD dwReserved);
  4339.  
  4340.  
  4341. void __RPC_STUB IInternetProtocolInfo_CombineUrl_Stub(
  4342.     IRpcStubBuffer *This,
  4343.     IRpcChannelBuffer *_pRpcChannelBuffer,
  4344.     PRPC_MESSAGE _pRpcMessage,
  4345.     DWORD *_pdwStubPhase);
  4346.  
  4347.  
  4348. HRESULT STDMETHODCALLTYPE IInternetProtocolInfo_CompareUrl_Proxy( 
  4349.     IInternetProtocolInfo __RPC_FAR * This,
  4350.     /* [in] */ LPCWSTR pwzUrl1,
  4351.     /* [in] */ LPCWSTR pwzUrl2,
  4352.     /* [in] */ DWORD dwCompareFlags);
  4353.  
  4354.  
  4355. void __RPC_STUB IInternetProtocolInfo_CompareUrl_Stub(
  4356.     IRpcStubBuffer *This,
  4357.     IRpcChannelBuffer *_pRpcChannelBuffer,
  4358.     PRPC_MESSAGE _pRpcMessage,
  4359.     DWORD *_pdwStubPhase);
  4360.  
  4361.  
  4362. HRESULT STDMETHODCALLTYPE IInternetProtocolInfo_QueryInfo_Proxy( 
  4363.     IInternetProtocolInfo __RPC_FAR * This,
  4364.     /* [in] */ LPCWSTR pwzUrl,
  4365.     /* [in] */ QUERYOPTION OueryOption,
  4366.     /* [in] */ DWORD dwQueryFlags,
  4367.     /* [size_is][out][in] */ LPVOID pBuffer,
  4368.     /* [in] */ DWORD cbBuffer,
  4369.     /* [out][in] */ DWORD __RPC_FAR *pcbBuf,
  4370.     /* [in] */ DWORD dwReserved);
  4371.  
  4372.  
  4373. void __RPC_STUB IInternetProtocolInfo_QueryInfo_Stub(
  4374.     IRpcStubBuffer *This,
  4375.     IRpcChannelBuffer *_pRpcChannelBuffer,
  4376.     PRPC_MESSAGE _pRpcMessage,
  4377.     DWORD *_pdwStubPhase);
  4378.  
  4379.  
  4380.  
  4381. #endif     /* __IInternetProtocolInfo_INTERFACE_DEFINED__ */
  4382.  
  4383.  
  4384. /* interface __MIDL_itf_urlmon_0189 */
  4385. /* [local] */ 
  4386.  
  4387. #endif
  4388. #define IOInet               IInternet            
  4389. #define IOInetBindInfo       IInternetBindInfo    
  4390. #define IOInetProtocolRoot   IInternetProtocolRoot
  4391. #define IOInetProtocol       IInternetProtocol    
  4392. #define IOInetProtocolSink   IInternetProtocolSink
  4393. #define IOInetProtocolInfo   IInternetProtocolInfo
  4394. #define IOInetSession        IInternetSession     
  4395. #define IOInetPriority       IInternetPriority    
  4396. #define IOInetThreadSwitch   IInternetThreadSwitch
  4397. #define IOInetProtocolSinkStackable   IInternetProtocolSinkStackable
  4398. #define LPOINET              LPIINTERNET             
  4399. #define LPOINETPROTOCOLINFO  LPIINTERNETPROTOCOLINFO 
  4400. #define LPOINETBINDINFO      LPIINTERNETBINDINFO     
  4401. #define LPOINETPROTOCOLROOT  LPIINTERNETPROTOCOLROOT 
  4402. #define LPOINETPROTOCOL      LPIINTERNETPROTOCOL     
  4403. #define LPOINETPROTOCOLSINK  LPIINTERNETPROTOCOLSINK 
  4404. #define LPOINETSESSION       LPIINTERNETSESSION      
  4405. #define LPOINETTHREADSWITCH  LPIINTERNETTHREADSWITCH 
  4406. #define LPOINETPRIORITY      LPIINTERNETPRIORITY     
  4407. #define LPOINETPROTOCOLINFO  LPIINTERNETPROTOCOLINFO 
  4408. #define LPOINETPROTOCOLSINKSTACKABLE  LPIINTERNETPROTOCOLSINKSTACKABLE 
  4409. #define IID_IOInet               IID_IInternet            
  4410. #define IID_IOInetBindInfo       IID_IInternetBindInfo    
  4411. #define IID_IOInetProtocolRoot   IID_IInternetProtocolRoot
  4412. #define IID_IOInetProtocol       IID_IInternetProtocol    
  4413. #define IID_IOInetProtocolSink   IID_IInternetProtocolSink
  4414. #define IID_IOInetProtocolInfo   IID_IInternetProtocolInfo
  4415. #define IID_IOInetSession        IID_IInternetSession     
  4416. #define IID_IOInetPriority       IID_IInternetPriority    
  4417. #define IID_IOInetThreadSwitch   IID_IInternetThreadSwitch
  4418. #define IID_IOInetProtocolSinkStackable   IID_IInternetProtocolSinkStackable
  4419. STDAPI CoInternetParseUrl(               
  4420.     LPCWSTR     pwzUrl,                  
  4421.     PARSEACTION ParseAction,             
  4422.     DWORD       dwFlags,                 
  4423.     LPWSTR      pszResult,               
  4424.     DWORD       cchResult,               
  4425.     DWORD      *pcchResult,              
  4426.     DWORD       dwReserved               
  4427.     );                                   
  4428. STDAPI CoInternetCombineUrl(             
  4429.     LPCWSTR     pwzBaseUrl,              
  4430.     LPCWSTR     pwzRelativeUrl,          
  4431.     DWORD       dwCombineFlags,          
  4432.     LPWSTR      pszResult,               
  4433.     DWORD       cchResult,               
  4434.     DWORD      *pcchResult,              
  4435.     DWORD       dwReserved               
  4436.     );                                   
  4437. STDAPI CoInternetCompareUrl(             
  4438.     LPCWSTR pwzUrl1,                     
  4439.     LPCWSTR pwzUrl2,                     
  4440.     DWORD dwFlags                        
  4441.     );                                   
  4442. STDAPI CoInternetGetProtocolFlags(       
  4443.     LPCWSTR     pwzUrl,                  
  4444.     DWORD      *pdwFlags,                
  4445.     DWORD       dwReserved               
  4446.     );                                   
  4447. STDAPI CoInternetQueryInfo(              
  4448.     LPCWSTR     pwzUrl,                  
  4449.     QUERYOPTION QueryOptions,            
  4450.     DWORD       dwQueryFlags,            
  4451.     LPVOID      pvBuffer,                
  4452.     DWORD       cbBuffer,                
  4453.     DWORD      *pcbBuffer,               
  4454.     DWORD       dwReserved               
  4455.     );                                   
  4456. STDAPI CoInternetGetSession(             
  4457.     DWORD       dwSessionMode,           
  4458.     IInternetSession **ppIInternetSession,
  4459.     DWORD       dwReserved               
  4460.     );                                   
  4461. STDAPI CoInternetGetSecurityUrl(         
  4462.     LPCWSTR pwzUrl,                      
  4463.     LPWSTR  *ppwzSecUrl,                 
  4464.     PSUACTION  psuAction,                
  4465.     DWORD   dwReserved                   
  4466.     );                                   
  4467.  
  4468. STDAPI CopyStgMedium(const STGMEDIUM * pcstgmedSrc,  
  4469.                            STGMEDIUM * pstgmedDest); 
  4470. STDAPI CopyBindInfo( const BINDINFO * pcbiSrc,   
  4471.                            BINDINFO * pbiDest ); 
  4472. STDAPI_(void) ReleaseBindInfo( BINDINFO * pbindinfo );  
  4473.  
  4474. #define INET_E_USE_DEFAULT_PROTOCOLHANDLER _HRESULT_TYPEDEF_(0x800C0011L)      
  4475. #define INET_E_USE_DEFAULT_SETTING         _HRESULT_TYPEDEF_(0x800C0012L)      
  4476. #define INET_E_DEFAULT_ACTION              INET_E_USE_DEFAULT_PROTOCOLHANDLER  
  4477. #define INET_E_QUERYOPTION_UNKNOWN         _HRESULT_TYPEDEF_(0x800C0013L)      
  4478. #define INET_E_REDIRECTING                 _HRESULT_TYPEDEF_(0x800C0014L)      
  4479. #define OInetParseUrl               CoInternetParseUrl               
  4480. #define OInetCombineUrl             CoInternetCombineUrl             
  4481. #define OInetCompareUrl             CoInternetCompareUrl             
  4482. #define OInetQueryInfo              CoInternetQueryInfo              
  4483. #define OInetGetSession             CoInternetGetSession             
  4484. #endif // !_URLMON_NO_ASYNC_PLUGABLE_PROTOCOLS_ 
  4485. //
  4486. // Static Protocol flags
  4487. //
  4488. #define PROTOCOLFLAG_NO_PICS_CHECK     0x00000001
  4489.  
  4490. // Creates the security manager object. The first argument is the Service provider
  4491. // to allow for delegation
  4492. STDAPI CoInternetCreateSecurityManager(IServiceProvider *pSP, IInternetSecurityManager **ppSM, DWORD dwReserved);
  4493.  
  4494. STDAPI CoInternetCreateZoneManager(IServiceProvider *pSP, IInternetZoneManager **ppZM, DWORD dwReserved);
  4495.  
  4496.  
  4497. // Security manager CLSID's
  4498. EXTERN_C const IID CLSID_InternetSecurityManager;  
  4499. EXTERN_C const IID CLSID_InternetZoneManager;  
  4500. // This service is used for delegation support on the Security Manager interface
  4501. #define SID_SInternetSecurityManager         IID_IInternetSecurityManager
  4502.  
  4503. #define SID_SInternetHostSecurityManager     IID_IInternetHostSecurityManager
  4504.  
  4505. #ifndef _LPINTERNETSECURITYMGRSITE_DEFINED
  4506. #define _LPINTERNETSECURITYMGRSITE_DEFINED
  4507.  
  4508.  
  4509. extern RPC_IF_HANDLE __MIDL_itf_urlmon_0189_v0_0_c_ifspec;
  4510. extern RPC_IF_HANDLE __MIDL_itf_urlmon_0189_v0_0_s_ifspec;
  4511.  
  4512. #ifndef __IInternetSecurityMgrSite_INTERFACE_DEFINED__
  4513. #define __IInternetSecurityMgrSite_INTERFACE_DEFINED__
  4514.  
  4515. /* interface IInternetSecurityMgrSite */
  4516. /* [unique][helpstring][uuid][object][local] */ 
  4517.  
  4518.  
  4519. EXTERN_C const IID IID_IInternetSecurityMgrSite;
  4520.  
  4521. #if defined(__cplusplus) && !defined(CINTERFACE)
  4522.     
  4523.     MIDL_INTERFACE("79eac9ed-baf9-11ce-8c82-00aa004ba90b")
  4524.     IInternetSecurityMgrSite : public IUnknown
  4525.     {
  4526.     public:
  4527.         virtual HRESULT STDMETHODCALLTYPE GetWindow( 
  4528.             /* [out] */ HWND __RPC_FAR *phwnd) = 0;
  4529.         
  4530.         virtual HRESULT STDMETHODCALLTYPE EnableModeless( 
  4531.             /* [in] */ BOOL fEnable) = 0;
  4532.         
  4533.     };
  4534.     
  4535. #else     /* C style interface */
  4536.  
  4537.     typedef struct IInternetSecurityMgrSiteVtbl
  4538.     {
  4539.         BEGIN_INTERFACE
  4540.         
  4541.         HRESULT ( STDMETHODCALLTYPE __RPC_FAR *QueryInterface )( 
  4542.             IInternetSecurityMgrSite __RPC_FAR * This,
  4543.             /* [in] */ REFIID riid,
  4544.             /* [iid_is][out] */ void __RPC_FAR *__RPC_FAR *ppvObject);
  4545.         
  4546.         ULONG ( STDMETHODCALLTYPE __RPC_FAR *AddRef )( 
  4547.             IInternetSecurityMgrSite __RPC_FAR * This);
  4548.         
  4549.         ULONG ( STDMETHODCALLTYPE __RPC_FAR *Release )( 
  4550.             IInternetSecurityMgrSite __RPC_FAR * This);
  4551.         
  4552.         HRESULT ( STDMETHODCALLTYPE __RPC_FAR *GetWindow )( 
  4553.             IInternetSecurityMgrSite __RPC_FAR * This,
  4554.             /* [out] */ HWND __RPC_FAR *phwnd);
  4555.         
  4556.         HRESULT ( STDMETHODCALLTYPE __RPC_FAR *EnableModeless )( 
  4557.             IInternetSecurityMgrSite __RPC_FAR * This,
  4558.             /* [in] */ BOOL fEnable);
  4559.         
  4560.         END_INTERFACE
  4561.     } IInternetSecurityMgrSiteVtbl;
  4562.  
  4563.     interface IInternetSecurityMgrSite
  4564.     {
  4565.         CONST_VTBL struct IInternetSecurityMgrSiteVtbl __RPC_FAR *lpVtbl;
  4566.     };
  4567.  
  4568.     
  4569.  
  4570. #ifdef COBJMACROS
  4571.  
  4572.  
  4573. #define IInternetSecurityMgrSite_QueryInterface(This,riid,ppvObject)    \
  4574.     (This)->lpVtbl -> QueryInterface(This,riid,ppvObject)
  4575.  
  4576. #define IInternetSecurityMgrSite_AddRef(This)    \
  4577.     (This)->lpVtbl -> AddRef(This)
  4578.  
  4579. #define IInternetSecurityMgrSite_Release(This)    \
  4580.     (This)->lpVtbl -> Release(This)
  4581.  
  4582.  
  4583. #define IInternetSecurityMgrSite_GetWindow(This,phwnd)    \
  4584.     (This)->lpVtbl -> GetWindow(This,phwnd)
  4585.  
  4586. #define IInternetSecurityMgrSite_EnableModeless(This,fEnable)    \
  4587.     (This)->lpVtbl -> EnableModeless(This,fEnable)
  4588.  
  4589. #endif /* COBJMACROS */
  4590.  
  4591.  
  4592. #endif     /* C style interface */
  4593.  
  4594.  
  4595.  
  4596. HRESULT STDMETHODCALLTYPE IInternetSecurityMgrSite_GetWindow_Proxy( 
  4597.     IInternetSecurityMgrSite __RPC_FAR * This,
  4598.     /* [out] */ HWND __RPC_FAR *phwnd);
  4599.  
  4600.  
  4601. void __RPC_STUB IInternetSecurityMgrSite_GetWindow_Stub(
  4602.     IRpcStubBuffer *This,
  4603.     IRpcChannelBuffer *_pRpcChannelBuffer,
  4604.     PRPC_MESSAGE _pRpcMessage,
  4605.     DWORD *_pdwStubPhase);
  4606.  
  4607.  
  4608. HRESULT STDMETHODCALLTYPE IInternetSecurityMgrSite_EnableModeless_Proxy( 
  4609.     IInternetSecurityMgrSite __RPC_FAR * This,
  4610.     /* [in] */ BOOL fEnable);
  4611.  
  4612.  
  4613. void __RPC_STUB IInternetSecurityMgrSite_EnableModeless_Stub(
  4614.     IRpcStubBuffer *This,
  4615.     IRpcChannelBuffer *_pRpcChannelBuffer,
  4616.     PRPC_MESSAGE _pRpcMessage,
  4617.     DWORD *_pdwStubPhase);
  4618.  
  4619.  
  4620.  
  4621. #endif     /* __IInternetSecurityMgrSite_INTERFACE_DEFINED__ */
  4622.  
  4623.  
  4624. /* interface __MIDL_itf_urlmon_0190 */
  4625. /* [local] */ 
  4626.  
  4627. #endif
  4628. #ifndef _LPINTERNETSECURITYMANANGER_DEFINED
  4629. #define _LPINTERNETSECURITYMANANGER_DEFINED
  4630.  
  4631.  
  4632. extern RPC_IF_HANDLE __MIDL_itf_urlmon_0190_v0_0_c_ifspec;
  4633. extern RPC_IF_HANDLE __MIDL_itf_urlmon_0190_v0_0_s_ifspec;
  4634.  
  4635. #ifndef __IInternetSecurityManager_INTERFACE_DEFINED__
  4636. #define __IInternetSecurityManager_INTERFACE_DEFINED__
  4637.  
  4638. /* interface IInternetSecurityManager */
  4639. /* [object][unique][helpstring][uuid] */ 
  4640.  
  4641. #define MUTZ_NOSAVEDFILECHECK 0x00000001 // don't check file: for saved file comment
  4642. // MapUrlToZone returns the zone index given a URL
  4643. #define MAX_SIZE_SECURITY_ID 512 // bytes
  4644. typedef /* [public] */ 
  4645. enum __MIDL_IInternetSecurityManager_0001
  4646.     {    PUAF_DEFAULT    = 0,
  4647.     PUAF_NOUI    = 0x1,
  4648.     PUAF_ISFILE    = 0x2,
  4649.     PUAF_WARN_IF_DENIED    = 0x4,
  4650.     PUAF_FORCEUI_FOREGROUND    = 0x8,
  4651.     PUAF_CHECK_TIFS    = 0x10,
  4652.     PUAF_DONTCHECKBOXINDIALOG    = 0x20,
  4653.     PUAF_TRUSTED    = 0x40,
  4654.     PUAF_ACCEPT_WILDCARD_SCHEME    = 0x80
  4655.     }    PUAF;
  4656.  
  4657. // This is the wrapper function that most clients will use.
  4658. // It figures out the current Policy for the passed in Action,
  4659. // and puts up UI if the current Policy indicates that the user
  4660. // should be queried. It returns back the Policy which the caller
  4661. // will use to determine if the action should be allowed
  4662. // This is the wrapper function to conveniently read a custom policy.
  4663. typedef /* [public] */ 
  4664. enum __MIDL_IInternetSecurityManager_0002
  4665.     {    SZM_CREATE    = 0,
  4666.     SZM_DELETE    = 0x1
  4667.     }    SZM_FLAGS;
  4668.  
  4669. // SetZoneMapping
  4670. //    lpszPattern: string denoting a URL pattern
  4671. //        Examples of valid patterns:   
  4672. //            *://*.msn.com             
  4673. //            http://*.sony.co.jp       
  4674. //            *://et.msn.com            
  4675. //            ftp://157.54.23.41/       
  4676. //            https://localsvr          
  4677. //            file:\localsvr\share     
  4678. //            *://157.54.100-200.*      
  4679. //        Examples of invalid patterns: 
  4680. //            http://*.lcs.mit.edu      
  4681. //            ftp://*                   
  4682. //    dwFlags: SZM_FLAGS values         
  4683.  
  4684. EXTERN_C const IID IID_IInternetSecurityManager;
  4685.  
  4686. #if defined(__cplusplus) && !defined(CINTERFACE)
  4687.     
  4688.     MIDL_INTERFACE("79eac9ee-baf9-11ce-8c82-00aa004ba90b")
  4689.     IInternetSecurityManager : public IUnknown
  4690.     {
  4691.     public:
  4692.         virtual HRESULT STDMETHODCALLTYPE SetSecuritySite( 
  4693.             /* [unique][in] */ IInternetSecurityMgrSite __RPC_FAR *pSite) = 0;
  4694.         
  4695.         virtual HRESULT STDMETHODCALLTYPE GetSecuritySite( 
  4696.             /* [out] */ IInternetSecurityMgrSite __RPC_FAR *__RPC_FAR *ppSite) = 0;
  4697.         
  4698.         virtual HRESULT STDMETHODCALLTYPE MapUrlToZone( 
  4699.             /* [in] */ LPCWSTR pwszUrl,
  4700.             /* [out] */ DWORD __RPC_FAR *pdwZone,
  4701.             /* [in] */ DWORD dwFlags) = 0;
  4702.         
  4703.         virtual HRESULT STDMETHODCALLTYPE GetSecurityId( 
  4704.             /* [in] */ LPCWSTR pwszUrl,
  4705.             /* [size_is][out] */ BYTE __RPC_FAR *pbSecurityId,
  4706.             /* [out][in] */ DWORD __RPC_FAR *pcbSecurityId,
  4707.             /* [in] */ DWORD_PTR dwReserved) = 0;
  4708.         
  4709.         virtual HRESULT STDMETHODCALLTYPE ProcessUrlAction( 
  4710.             /* [in] */ LPCWSTR pwszUrl,
  4711.             /* [in] */ DWORD dwAction,
  4712.             /* [size_is][out] */ BYTE __RPC_FAR *pPolicy,
  4713.             /* [in] */ DWORD cbPolicy,
  4714.             /* [in] */ BYTE __RPC_FAR *pContext,
  4715.             /* [in] */ DWORD cbContext,
  4716.             /* [in] */ DWORD dwFlags,
  4717.             /* [in] */ DWORD dwReserved) = 0;
  4718.         
  4719.         virtual HRESULT STDMETHODCALLTYPE QueryCustomPolicy( 
  4720.             /* [in] */ LPCWSTR pwszUrl,
  4721.             /* [in] */ REFGUID guidKey,
  4722.             /* [size_is][size_is][out] */ BYTE __RPC_FAR *__RPC_FAR *ppPolicy,
  4723.             /* [out] */ DWORD __RPC_FAR *pcbPolicy,
  4724.             /* [in] */ BYTE __RPC_FAR *pContext,
  4725.             /* [in] */ DWORD cbContext,
  4726.             /* [in] */ DWORD dwReserved) = 0;
  4727.         
  4728.         virtual HRESULT STDMETHODCALLTYPE SetZoneMapping( 
  4729.             /* [in] */ DWORD dwZone,
  4730.             /* [in] */ LPCWSTR lpszPattern,
  4731.             /* [in] */ DWORD dwFlags) = 0;
  4732.         
  4733.         virtual HRESULT STDMETHODCALLTYPE GetZoneMappings( 
  4734.             /* [in] */ DWORD dwZone,
  4735.             /* [out] */ IEnumString __RPC_FAR *__RPC_FAR *ppenumString,
  4736.             /* [in] */ DWORD dwFlags) = 0;
  4737.         
  4738.     };
  4739.     
  4740. #else     /* C style interface */
  4741.  
  4742.     typedef struct IInternetSecurityManagerVtbl
  4743.     {
  4744.         BEGIN_INTERFACE
  4745.         
  4746.         HRESULT ( STDMETHODCALLTYPE __RPC_FAR *QueryInterface )( 
  4747.             IInternetSecurityManager __RPC_FAR * This,
  4748.             /* [in] */ REFIID riid,
  4749.             /* [iid_is][out] */ void __RPC_FAR *__RPC_FAR *ppvObject);
  4750.         
  4751.         ULONG ( STDMETHODCALLTYPE __RPC_FAR *AddRef )( 
  4752.             IInternetSecurityManager __RPC_FAR * This);
  4753.         
  4754.         ULONG ( STDMETHODCALLTYPE __RPC_FAR *Release )( 
  4755.             IInternetSecurityManager __RPC_FAR * This);
  4756.         
  4757.         HRESULT ( STDMETHODCALLTYPE __RPC_FAR *SetSecuritySite )( 
  4758.             IInternetSecurityManager __RPC_FAR * This,
  4759.             /* [unique][in] */ IInternetSecurityMgrSite __RPC_FAR *pSite);
  4760.         
  4761.         HRESULT ( STDMETHODCALLTYPE __RPC_FAR *GetSecuritySite )( 
  4762.             IInternetSecurityManager __RPC_FAR * This,
  4763.             /* [out] */ IInternetSecurityMgrSite __RPC_FAR *__RPC_FAR *ppSite);
  4764.         
  4765.         HRESULT ( STDMETHODCALLTYPE __RPC_FAR *MapUrlToZone )( 
  4766.             IInternetSecurityManager __RPC_FAR * This,
  4767.             /* [in] */ LPCWSTR pwszUrl,
  4768.             /* [out] */ DWORD __RPC_FAR *pdwZone,
  4769.             /* [in] */ DWORD dwFlags);
  4770.         
  4771.         HRESULT ( STDMETHODCALLTYPE __RPC_FAR *GetSecurityId )( 
  4772.             IInternetSecurityManager __RPC_FAR * This,
  4773.             /* [in] */ LPCWSTR pwszUrl,
  4774.             /* [size_is][out] */ BYTE __RPC_FAR *pbSecurityId,
  4775.             /* [out][in] */ DWORD __RPC_FAR *pcbSecurityId,
  4776.             /* [in] */ DWORD_PTR dwReserved);
  4777.         
  4778.         HRESULT ( STDMETHODCALLTYPE __RPC_FAR *ProcessUrlAction )( 
  4779.             IInternetSecurityManager __RPC_FAR * This,
  4780.             /* [in] */ LPCWSTR pwszUrl,
  4781.             /* [in] */ DWORD dwAction,
  4782.             /* [size_is][out] */ BYTE __RPC_FAR *pPolicy,
  4783.             /* [in] */ DWORD cbPolicy,
  4784.             /* [in] */ BYTE __RPC_FAR *pContext,
  4785.             /* [in] */ DWORD cbContext,
  4786.             /* [in] */ DWORD dwFlags,
  4787.             /* [in] */ DWORD dwReserved);
  4788.         
  4789.         HRESULT ( STDMETHODCALLTYPE __RPC_FAR *QueryCustomPolicy )( 
  4790.             IInternetSecurityManager __RPC_FAR * This,
  4791.             /* [in] */ LPCWSTR pwszUrl,
  4792.             /* [in] */ REFGUID guidKey,
  4793.             /* [size_is][size_is][out] */ BYTE __RPC_FAR *__RPC_FAR *ppPolicy,
  4794.             /* [out] */ DWORD __RPC_FAR *pcbPolicy,
  4795.             /* [in] */ BYTE __RPC_FAR *pContext,
  4796.             /* [in] */ DWORD cbContext,
  4797.             /* [in] */ DWORD dwReserved);
  4798.         
  4799.         HRESULT ( STDMETHODCALLTYPE __RPC_FAR *SetZoneMapping )( 
  4800.             IInternetSecurityManager __RPC_FAR * This,
  4801.             /* [in] */ DWORD dwZone,
  4802.             /* [in] */ LPCWSTR lpszPattern,
  4803.             /* [in] */ DWORD dwFlags);
  4804.         
  4805.         HRESULT ( STDMETHODCALLTYPE __RPC_FAR *GetZoneMappings )( 
  4806.             IInternetSecurityManager __RPC_FAR * This,
  4807.             /* [in] */ DWORD dwZone,
  4808.             /* [out] */ IEnumString __RPC_FAR *__RPC_FAR *ppenumString,
  4809.             /* [in] */ DWORD dwFlags);
  4810.         
  4811.         END_INTERFACE
  4812.     } IInternetSecurityManagerVtbl;
  4813.  
  4814.     interface IInternetSecurityManager
  4815.     {
  4816.         CONST_VTBL struct IInternetSecurityManagerVtbl __RPC_FAR *lpVtbl;
  4817.     };
  4818.  
  4819.     
  4820.  
  4821. #ifdef COBJMACROS
  4822.  
  4823.  
  4824. #define IInternetSecurityManager_QueryInterface(This,riid,ppvObject)    \
  4825.     (This)->lpVtbl -> QueryInterface(This,riid,ppvObject)
  4826.  
  4827. #define IInternetSecurityManager_AddRef(This)    \
  4828.     (This)->lpVtbl -> AddRef(This)
  4829.  
  4830. #define IInternetSecurityManager_Release(This)    \
  4831.     (This)->lpVtbl -> Release(This)
  4832.  
  4833.  
  4834. #define IInternetSecurityManager_SetSecuritySite(This,pSite)    \
  4835.     (This)->lpVtbl -> SetSecuritySite(This,pSite)
  4836.  
  4837. #define IInternetSecurityManager_GetSecuritySite(This,ppSite)    \
  4838.     (This)->lpVtbl -> GetSecuritySite(This,ppSite)
  4839.  
  4840. #define IInternetSecurityManager_MapUrlToZone(This,pwszUrl,pdwZone,dwFlags)    \
  4841.     (This)->lpVtbl -> MapUrlToZone(This,pwszUrl,pdwZone,dwFlags)
  4842.  
  4843. #define IInternetSecurityManager_GetSecurityId(This,pwszUrl,pbSecurityId,pcbSecurityId,dwReserved)    \
  4844.     (This)->lpVtbl -> GetSecurityId(This,pwszUrl,pbSecurityId,pcbSecurityId,dwReserved)
  4845.  
  4846. #define IInternetSecurityManager_ProcessUrlAction(This,pwszUrl,dwAction,pPolicy,cbPolicy,pContext,cbContext,dwFlags,dwReserved)    \
  4847.     (This)->lpVtbl -> ProcessUrlAction(This,pwszUrl,dwAction,pPolicy,cbPolicy,pContext,cbContext,dwFlags,dwReserved)
  4848.  
  4849. #define IInternetSecurityManager_QueryCustomPolicy(This,pwszUrl,guidKey,ppPolicy,pcbPolicy,pContext,cbContext,dwReserved)    \
  4850.     (This)->lpVtbl -> QueryCustomPolicy(This,pwszUrl,guidKey,ppPolicy,pcbPolicy,pContext,cbContext,dwReserved)
  4851.  
  4852. #define IInternetSecurityManager_SetZoneMapping(This,dwZone,lpszPattern,dwFlags)    \
  4853.     (This)->lpVtbl -> SetZoneMapping(This,dwZone,lpszPattern,dwFlags)
  4854.  
  4855. #define IInternetSecurityManager_GetZoneMappings(This,dwZone,ppenumString,dwFlags)    \
  4856.     (This)->lpVtbl -> GetZoneMappings(This,dwZone,ppenumString,dwFlags)
  4857.  
  4858. #endif /* COBJMACROS */
  4859.  
  4860.  
  4861. #endif     /* C style interface */
  4862.  
  4863.  
  4864.  
  4865. HRESULT STDMETHODCALLTYPE IInternetSecurityManager_SetSecuritySite_Proxy( 
  4866.     IInternetSecurityManager __RPC_FAR * This,
  4867.     /* [unique][in] */ IInternetSecurityMgrSite __RPC_FAR *pSite);
  4868.  
  4869.  
  4870. void __RPC_STUB IInternetSecurityManager_SetSecuritySite_Stub(
  4871.     IRpcStubBuffer *This,
  4872.     IRpcChannelBuffer *_pRpcChannelBuffer,
  4873.     PRPC_MESSAGE _pRpcMessage,
  4874.     DWORD *_pdwStubPhase);
  4875.  
  4876.  
  4877. HRESULT STDMETHODCALLTYPE IInternetSecurityManager_GetSecuritySite_Proxy( 
  4878.     IInternetSecurityManager __RPC_FAR * This,
  4879.     /* [out] */ IInternetSecurityMgrSite __RPC_FAR *__RPC_FAR *ppSite);
  4880.  
  4881.  
  4882. void __RPC_STUB IInternetSecurityManager_GetSecuritySite_Stub(
  4883.     IRpcStubBuffer *This,
  4884.     IRpcChannelBuffer *_pRpcChannelBuffer,
  4885.     PRPC_MESSAGE _pRpcMessage,
  4886.     DWORD *_pdwStubPhase);
  4887.  
  4888.  
  4889. HRESULT STDMETHODCALLTYPE IInternetSecurityManager_MapUrlToZone_Proxy( 
  4890.     IInternetSecurityManager __RPC_FAR * This,
  4891.     /* [in] */ LPCWSTR pwszUrl,
  4892.     /* [out] */ DWORD __RPC_FAR *pdwZone,
  4893.     /* [in] */ DWORD dwFlags);
  4894.  
  4895.  
  4896. void __RPC_STUB IInternetSecurityManager_MapUrlToZone_Stub(
  4897.     IRpcStubBuffer *This,
  4898.     IRpcChannelBuffer *_pRpcChannelBuffer,
  4899.     PRPC_MESSAGE _pRpcMessage,
  4900.     DWORD *_pdwStubPhase);
  4901.  
  4902.  
  4903. HRESULT STDMETHODCALLTYPE IInternetSecurityManager_GetSecurityId_Proxy( 
  4904.     IInternetSecurityManager __RPC_FAR * This,
  4905.     /* [in] */ LPCWSTR pwszUrl,
  4906.     /* [size_is][out] */ BYTE __RPC_FAR *pbSecurityId,
  4907.     /* [out][in] */ DWORD __RPC_FAR *pcbSecurityId,
  4908.     /* [in] */ DWORD_PTR dwReserved);
  4909.  
  4910.  
  4911. void __RPC_STUB IInternetSecurityManager_GetSecurityId_Stub(
  4912.     IRpcStubBuffer *This,
  4913.     IRpcChannelBuffer *_pRpcChannelBuffer,
  4914.     PRPC_MESSAGE _pRpcMessage,
  4915.     DWORD *_pdwStubPhase);
  4916.  
  4917.  
  4918. HRESULT STDMETHODCALLTYPE IInternetSecurityManager_ProcessUrlAction_Proxy( 
  4919.     IInternetSecurityManager __RPC_FAR * This,
  4920.     /* [in] */ LPCWSTR pwszUrl,
  4921.     /* [in] */ DWORD dwAction,
  4922.     /* [size_is][out] */ BYTE __RPC_FAR *pPolicy,
  4923.     /* [in] */ DWORD cbPolicy,
  4924.     /* [in] */ BYTE __RPC_FAR *pContext,
  4925.     /* [in] */ DWORD cbContext,
  4926.     /* [in] */ DWORD dwFlags,
  4927.     /* [in] */ DWORD dwReserved);
  4928.  
  4929.  
  4930. void __RPC_STUB IInternetSecurityManager_ProcessUrlAction_Stub(
  4931.     IRpcStubBuffer *This,
  4932.     IRpcChannelBuffer *_pRpcChannelBuffer,
  4933.     PRPC_MESSAGE _pRpcMessage,
  4934.     DWORD *_pdwStubPhase);
  4935.  
  4936.  
  4937. HRESULT STDMETHODCALLTYPE IInternetSecurityManager_QueryCustomPolicy_Proxy( 
  4938.     IInternetSecurityManager __RPC_FAR * This,
  4939.     /* [in] */ LPCWSTR pwszUrl,
  4940.     /* [in] */ REFGUID guidKey,
  4941.     /* [size_is][size_is][out] */ BYTE __RPC_FAR *__RPC_FAR *ppPolicy,
  4942.     /* [out] */ DWORD __RPC_FAR *pcbPolicy,
  4943.     /* [in] */ BYTE __RPC_FAR *pContext,
  4944.     /* [in] */ DWORD cbContext,
  4945.     /* [in] */ DWORD dwReserved);
  4946.  
  4947.  
  4948. void __RPC_STUB IInternetSecurityManager_QueryCustomPolicy_Stub(
  4949.     IRpcStubBuffer *This,
  4950.     IRpcChannelBuffer *_pRpcChannelBuffer,
  4951.     PRPC_MESSAGE _pRpcMessage,
  4952.     DWORD *_pdwStubPhase);
  4953.  
  4954.  
  4955. HRESULT STDMETHODCALLTYPE IInternetSecurityManager_SetZoneMapping_Proxy( 
  4956.     IInternetSecurityManager __RPC_FAR * This,
  4957.     /* [in] */ DWORD dwZone,
  4958.     /* [in] */ LPCWSTR lpszPattern,
  4959.     /* [in] */ DWORD dwFlags);
  4960.  
  4961.  
  4962. void __RPC_STUB IInternetSecurityManager_SetZoneMapping_Stub(
  4963.     IRpcStubBuffer *This,
  4964.     IRpcChannelBuffer *_pRpcChannelBuffer,
  4965.     PRPC_MESSAGE _pRpcMessage,
  4966.     DWORD *_pdwStubPhase);
  4967.  
  4968.  
  4969. HRESULT STDMETHODCALLTYPE IInternetSecurityManager_GetZoneMappings_Proxy( 
  4970.     IInternetSecurityManager __RPC_FAR * This,
  4971.     /* [in] */ DWORD dwZone,
  4972.     /* [out] */ IEnumString __RPC_FAR *__RPC_FAR *ppenumString,
  4973.     /* [in] */ DWORD dwFlags);
  4974.  
  4975.  
  4976. void __RPC_STUB IInternetSecurityManager_GetZoneMappings_Stub(
  4977.     IRpcStubBuffer *This,
  4978.     IRpcChannelBuffer *_pRpcChannelBuffer,
  4979.     PRPC_MESSAGE _pRpcMessage,
  4980.     DWORD *_pdwStubPhase);
  4981.  
  4982.  
  4983.  
  4984. #endif     /* __IInternetSecurityManager_INTERFACE_DEFINED__ */
  4985.  
  4986.  
  4987. /* interface __MIDL_itf_urlmon_0191 */
  4988. /* [local] */ 
  4989.  
  4990. #endif
  4991. #ifndef _LPINTERNETHOSTSECURITYMANANGER_DEFINED
  4992. #define _LPINTERNETHOSTSECURITYMANANGER_DEFINED
  4993. //This is the interface MSHTML exposes to its clients
  4994. //The clients need not pass in a URL to these functions
  4995. //since MSHTML maintains the notion of the current URL
  4996.  
  4997.  
  4998. extern RPC_IF_HANDLE __MIDL_itf_urlmon_0191_v0_0_c_ifspec;
  4999. extern RPC_IF_HANDLE __MIDL_itf_urlmon_0191_v0_0_s_ifspec;
  5000.  
  5001. #ifndef __IInternetHostSecurityManager_INTERFACE_DEFINED__
  5002. #define __IInternetHostSecurityManager_INTERFACE_DEFINED__
  5003.  
  5004. /* interface IInternetHostSecurityManager */
  5005. /* [unique][helpstring][uuid][object][local] */ 
  5006.  
  5007.  
  5008. EXTERN_C const IID IID_IInternetHostSecurityManager;
  5009.  
  5010. #if defined(__cplusplus) && !defined(CINTERFACE)
  5011.     
  5012.     MIDL_INTERFACE("3af280b6-cb3f-11d0-891e-00c04fb6bfc4")
  5013.     IInternetHostSecurityManager : public IUnknown
  5014.     {
  5015.     public:
  5016.         virtual HRESULT STDMETHODCALLTYPE GetSecurityId( 
  5017.             /* [size_is][out] */ BYTE __RPC_FAR *pbSecurityId,
  5018.             /* [out][in] */ DWORD __RPC_FAR *pcbSecurityId,
  5019.             /* [in] */ DWORD_PTR dwReserved) = 0;
  5020.         
  5021.         virtual HRESULT STDMETHODCALLTYPE ProcessUrlAction( 
  5022.             /* [in] */ DWORD dwAction,
  5023.             /* [size_is][out] */ BYTE __RPC_FAR *pPolicy,
  5024.             /* [in] */ DWORD cbPolicy,
  5025.             /* [in] */ BYTE __RPC_FAR *pContext,
  5026.             /* [in] */ DWORD cbContext,
  5027.             /* [in] */ DWORD dwFlags,
  5028.             /* [in] */ DWORD dwReserved) = 0;
  5029.         
  5030.         virtual HRESULT STDMETHODCALLTYPE QueryCustomPolicy( 
  5031.             /* [in] */ REFGUID guidKey,
  5032.             /* [size_is][size_is][out] */ BYTE __RPC_FAR *__RPC_FAR *ppPolicy,
  5033.             /* [out] */ DWORD __RPC_FAR *pcbPolicy,
  5034.             /* [in] */ BYTE __RPC_FAR *pContext,
  5035.             /* [in] */ DWORD cbContext,
  5036.             /* [in] */ DWORD dwReserved) = 0;
  5037.         
  5038.     };
  5039.     
  5040. #else     /* C style interface */
  5041.  
  5042.     typedef struct IInternetHostSecurityManagerVtbl
  5043.     {
  5044.         BEGIN_INTERFACE
  5045.         
  5046.         HRESULT ( STDMETHODCALLTYPE __RPC_FAR *QueryInterface )( 
  5047.             IInternetHostSecurityManager __RPC_FAR * This,
  5048.             /* [in] */ REFIID riid,
  5049.             /* [iid_is][out] */ void __RPC_FAR *__RPC_FAR *ppvObject);
  5050.         
  5051.         ULONG ( STDMETHODCALLTYPE __RPC_FAR *AddRef )( 
  5052.             IInternetHostSecurityManager __RPC_FAR * This);
  5053.         
  5054.         ULONG ( STDMETHODCALLTYPE __RPC_FAR *Release )( 
  5055.             IInternetHostSecurityManager __RPC_FAR * This);
  5056.         
  5057.         HRESULT ( STDMETHODCALLTYPE __RPC_FAR *GetSecurityId )( 
  5058.             IInternetHostSecurityManager __RPC_FAR * This,
  5059.             /* [size_is][out] */ BYTE __RPC_FAR *pbSecurityId,
  5060.             /* [out][in] */ DWORD __RPC_FAR *pcbSecurityId,
  5061.             /* [in] */ DWORD_PTR dwReserved);
  5062.         
  5063.         HRESULT ( STDMETHODCALLTYPE __RPC_FAR *ProcessUrlAction )( 
  5064.             IInternetHostSecurityManager __RPC_FAR * This,
  5065.             /* [in] */ DWORD dwAction,
  5066.             /* [size_is][out] */ BYTE __RPC_FAR *pPolicy,
  5067.             /* [in] */ DWORD cbPolicy,
  5068.             /* [in] */ BYTE __RPC_FAR *pContext,
  5069.             /* [in] */ DWORD cbContext,
  5070.             /* [in] */ DWORD dwFlags,
  5071.             /* [in] */ DWORD dwReserved);
  5072.         
  5073.         HRESULT ( STDMETHODCALLTYPE __RPC_FAR *QueryCustomPolicy )( 
  5074.             IInternetHostSecurityManager __RPC_FAR * This,
  5075.             /* [in] */ REFGUID guidKey,
  5076.             /* [size_is][size_is][out] */ BYTE __RPC_FAR *__RPC_FAR *ppPolicy,
  5077.             /* [out] */ DWORD __RPC_FAR *pcbPolicy,
  5078.             /* [in] */ BYTE __RPC_FAR *pContext,
  5079.             /* [in] */ DWORD cbContext,
  5080.             /* [in] */ DWORD dwReserved);
  5081.         
  5082.         END_INTERFACE
  5083.     } IInternetHostSecurityManagerVtbl;
  5084.  
  5085.     interface IInternetHostSecurityManager
  5086.     {
  5087.         CONST_VTBL struct IInternetHostSecurityManagerVtbl __RPC_FAR *lpVtbl;
  5088.     };
  5089.  
  5090.     
  5091.  
  5092. #ifdef COBJMACROS
  5093.  
  5094.  
  5095. #define IInternetHostSecurityManager_QueryInterface(This,riid,ppvObject)    \
  5096.     (This)->lpVtbl -> QueryInterface(This,riid,ppvObject)
  5097.  
  5098. #define IInternetHostSecurityManager_AddRef(This)    \
  5099.     (This)->lpVtbl -> AddRef(This)
  5100.  
  5101. #define IInternetHostSecurityManager_Release(This)    \
  5102.     (This)->lpVtbl -> Release(This)
  5103.  
  5104.  
  5105. #define IInternetHostSecurityManager_GetSecurityId(This,pbSecurityId,pcbSecurityId,dwReserved)    \
  5106.     (This)->lpVtbl -> GetSecurityId(This,pbSecurityId,pcbSecurityId,dwReserved)
  5107.  
  5108. #define IInternetHostSecurityManager_ProcessUrlAction(This,dwAction,pPolicy,cbPolicy,pContext,cbContext,dwFlags,dwReserved)    \
  5109.     (This)->lpVtbl -> ProcessUrlAction(This,dwAction,pPolicy,cbPolicy,pContext,cbContext,dwFlags,dwReserved)
  5110.  
  5111. #define IInternetHostSecurityManager_QueryCustomPolicy(This,guidKey,ppPolicy,pcbPolicy,pContext,cbContext,dwReserved)    \
  5112.     (This)->lpVtbl -> QueryCustomPolicy(This,guidKey,ppPolicy,pcbPolicy,pContext,cbContext,dwReserved)
  5113.  
  5114. #endif /* COBJMACROS */
  5115.  
  5116.  
  5117. #endif     /* C style interface */
  5118.  
  5119.  
  5120.  
  5121. HRESULT STDMETHODCALLTYPE IInternetHostSecurityManager_GetSecurityId_Proxy( 
  5122.     IInternetHostSecurityManager __RPC_FAR * This,
  5123.     /* [size_is][out] */ BYTE __RPC_FAR *pbSecurityId,
  5124.     /* [out][in] */ DWORD __RPC_FAR *pcbSecurityId,
  5125.     /* [in] */ DWORD_PTR dwReserved);
  5126.  
  5127.  
  5128. void __RPC_STUB IInternetHostSecurityManager_GetSecurityId_Stub(
  5129.     IRpcStubBuffer *This,
  5130.     IRpcChannelBuffer *_pRpcChannelBuffer,
  5131.     PRPC_MESSAGE _pRpcMessage,
  5132.     DWORD *_pdwStubPhase);
  5133.  
  5134.  
  5135. HRESULT STDMETHODCALLTYPE IInternetHostSecurityManager_ProcessUrlAction_Proxy( 
  5136.     IInternetHostSecurityManager __RPC_FAR * This,
  5137.     /* [in] */ DWORD dwAction,
  5138.     /* [size_is][out] */ BYTE __RPC_FAR *pPolicy,
  5139.     /* [in] */ DWORD cbPolicy,
  5140.     /* [in] */ BYTE __RPC_FAR *pContext,
  5141.     /* [in] */ DWORD cbContext,
  5142.     /* [in] */ DWORD dwFlags,
  5143.     /* [in] */ DWORD dwReserved);
  5144.  
  5145.  
  5146. void __RPC_STUB IInternetHostSecurityManager_ProcessUrlAction_Stub(
  5147.     IRpcStubBuffer *This,
  5148.     IRpcChannelBuffer *_pRpcChannelBuffer,
  5149.     PRPC_MESSAGE _pRpcMessage,
  5150.     DWORD *_pdwStubPhase);
  5151.  
  5152.  
  5153. HRESULT STDMETHODCALLTYPE IInternetHostSecurityManager_QueryCustomPolicy_Proxy( 
  5154.     IInternetHostSecurityManager __RPC_FAR * This,
  5155.     /* [in] */ REFGUID guidKey,
  5156.     /* [size_is][size_is][out] */ BYTE __RPC_FAR *__RPC_FAR *ppPolicy,
  5157.     /* [out] */ DWORD __RPC_FAR *pcbPolicy,
  5158.     /* [in] */ BYTE __RPC_FAR *pContext,
  5159.     /* [in] */ DWORD cbContext,
  5160.     /* [in] */ DWORD dwReserved);
  5161.  
  5162.  
  5163. void __RPC_STUB IInternetHostSecurityManager_QueryCustomPolicy_Stub(
  5164.     IRpcStubBuffer *This,
  5165.     IRpcChannelBuffer *_pRpcChannelBuffer,
  5166.     PRPC_MESSAGE _pRpcMessage,
  5167.     DWORD *_pdwStubPhase);
  5168.  
  5169.  
  5170.  
  5171. #endif     /* __IInternetHostSecurityManager_INTERFACE_DEFINED__ */
  5172.  
  5173.  
  5174. /* interface __MIDL_itf_urlmon_0192 */
  5175. /* [local] */ 
  5176.  
  5177. #endif
  5178.  
  5179. // The zone manager maintains policies for a set of standard actions. 
  5180. // These actions are identified by integral values (called action indexes)
  5181. // specified below.
  5182.  
  5183. // Minimum legal value for an action    
  5184. #define URLACTION_MIN                                          0x00001000
  5185.  
  5186. #define URLACTION_DOWNLOAD_MIN                                 0x00001000
  5187. #define URLACTION_DOWNLOAD_SIGNED_ACTIVEX                      0x00001001
  5188. #define URLACTION_DOWNLOAD_UNSIGNED_ACTIVEX                    0x00001004
  5189. #define URLACTION_DOWNLOAD_CURR_MAX                            0x00001004
  5190. #define URLACTION_DOWNLOAD_MAX                                 0x000011FF
  5191.  
  5192. #define URLACTION_ACTIVEX_MIN                                  0x00001200
  5193. #define URLACTION_ACTIVEX_RUN                                  0x00001200
  5194. #define URLPOLICY_ACTIVEX_CHECK_LIST                           0x00010000
  5195. #define URLACTION_ACTIVEX_OVERRIDE_OBJECT_SAFETY               0x00001201 // aggregate next four
  5196. #define URLACTION_ACTIVEX_OVERRIDE_DATA_SAFETY                 0x00001202 //
  5197. #define URLACTION_ACTIVEX_OVERRIDE_SCRIPT_SAFETY               0x00001203 //
  5198. #define URLACTION_SCRIPT_OVERRIDE_SAFETY                       0x00001401 //
  5199. #define URLACTION_ACTIVEX_CONFIRM_NOOBJECTSAFETY               0x00001204 //
  5200. #define URLACTION_ACTIVEX_TREATASUNTRUSTED                     0x00001205
  5201. #define URLACTION_ACTIVEX_CURR_MAX                             0x00001205
  5202. #define URLACTION_ACTIVEX_MAX                                  0x000013ff
  5203.  
  5204. #define URLACTION_SCRIPT_MIN                                   0x00001400
  5205. #define URLACTION_SCRIPT_RUN                                   0x00001400
  5206. #define URLACTION_SCRIPT_JAVA_USE                              0x00001402
  5207. #define URLACTION_SCRIPT_SAFE_ACTIVEX                          0x00001405
  5208. #define URLACTION_CROSS_DOMAIN_DATA                            0x00001406
  5209. #define URLACTION_SCRIPT_PASTE                                 0x00001407
  5210. #define URLACTION_SCRIPT_CURR_MAX                              0x00001407
  5211. #define URLACTION_SCRIPT_MAX                                   0x000015ff
  5212.  
  5213. #define URLACTION_HTML_MIN                                     0x00001600
  5214. #define URLACTION_HTML_SUBMIT_FORMS                            0x00001601 // aggregate next two
  5215. #define URLACTION_HTML_SUBMIT_FORMS_FROM                       0x00001602 //
  5216. #define URLACTION_HTML_SUBMIT_FORMS_TO                         0x00001603 //
  5217. #define URLACTION_HTML_FONT_DOWNLOAD                           0x00001604
  5218. #define URLACTION_HTML_JAVA_RUN                                0x00001605 // derive from Java custom policy
  5219. #define URLACTION_HTML_USERDATA_SAVE                           0x00001606
  5220. #define URLACTION_HTML_SUBFRAME_NAVIGATE                       0x00001607
  5221. #define URLACTION_HTML_CURR_MAX                                0x00001607
  5222. #define URLACTION_HTML_MAX                                     0x000017ff
  5223.  
  5224. #define URLACTION_SHELL_MIN                                    0x00001800
  5225. #define URLACTION_SHELL_INSTALL_DTITEMS                        0x00001800
  5226. #define URLACTION_SHELL_MOVE_OR_COPY                           0x00001802
  5227. #define URLACTION_SHELL_FILE_DOWNLOAD                          0x00001803
  5228. #define URLACTION_SHELL_VERB                                   0x00001804
  5229. #define URLACTION_SHELL_WEBVIEW_VERB                           0x00001805
  5230. #define URLACTION_SHELL_CURR_MAX                               0x00001805
  5231. #define URLACTION_SHELL_MAX                                    0x000019ff
  5232.  
  5233. #define URLACTION_NETWORK_MIN                                  0x00001A00
  5234.  
  5235. #define URLACTION_CREDENTIALS_USE                              0x00001A00
  5236. #define URLPOLICY_CREDENTIALS_SILENT_LOGON_OK        0x00000000
  5237. #define URLPOLICY_CREDENTIALS_MUST_PROMPT_USER       0x00010000
  5238. #define URLPOLICY_CREDENTIALS_CONDITIONAL_PROMPT     0x00020000
  5239. #define URLPOLICY_CREDENTIALS_ANONYMOUS_ONLY         0x00030000
  5240.  
  5241. #define URLACTION_AUTHENTICATE_CLIENT                          0x00001A01
  5242. #define URLPOLICY_AUTHENTICATE_CLEARTEXT_OK          0x00000000
  5243. #define URLPOLICY_AUTHENTICATE_CHALLENGE_RESPONSE    0x00010000
  5244. #define URLPOLICY_AUTHENTICATE_MUTUAL_ONLY           0x00030000
  5245.  
  5246.  
  5247. #define URLACTION_COOKIES                                      0x00001A02
  5248. #define URLACTION_COOKIES_SESSION                              0x00001A03
  5249.  
  5250. #define URLACTION_NETWORK_CURR_MAX                             0x00001A03
  5251. #define URLACTION_NETWORK_MAX                                  0x00001Bff
  5252.  
  5253.  
  5254. #define URLACTION_JAVA_MIN                                     0x00001C00
  5255. #define URLACTION_JAVA_PERMISSIONS                             0x00001C00
  5256. #define URLPOLICY_JAVA_PROHIBIT                      0x00000000
  5257. #define URLPOLICY_JAVA_HIGH                          0x00010000
  5258. #define URLPOLICY_JAVA_MEDIUM                        0x00020000
  5259. #define URLPOLICY_JAVA_LOW                           0x00030000
  5260. #define URLPOLICY_JAVA_CUSTOM                        0x00800000
  5261. #define URLACTION_JAVA_CURR_MAX                                0x00001C00
  5262. #define URLACTION_JAVA_MAX                                     0x00001Cff
  5263.  
  5264.  
  5265. // The following Infodelivery actions should have no default policies
  5266. // in the registry.  They assume that no default policy means fall
  5267. // back to the global restriction.  If an admin sets a policy per
  5268. // zone, then it overrides the global restriction.
  5269.  
  5270. #define URLACTION_INFODELIVERY_MIN                           0x00001D00
  5271. #define URLACTION_INFODELIVERY_NO_ADDING_CHANNELS            0x00001D00
  5272. #define URLACTION_INFODELIVERY_NO_EDITING_CHANNELS           0x00001D01
  5273. #define URLACTION_INFODELIVERY_NO_REMOVING_CHANNELS          0x00001D02
  5274. #define URLACTION_INFODELIVERY_NO_ADDING_SUBSCRIPTIONS       0x00001D03
  5275. #define URLACTION_INFODELIVERY_NO_EDITING_SUBSCRIPTIONS      0x00001D04
  5276. #define URLACTION_INFODELIVERY_NO_REMOVING_SUBSCRIPTIONS     0x00001D05
  5277. #define URLACTION_INFODELIVERY_NO_CHANNEL_LOGGING            0x00001D06
  5278. #define URLACTION_INFODELIVERY_CURR_MAX                      0x00001D06
  5279. #define URLACTION_INFODELIVERY_MAX                           0x00001Dff
  5280. #define URLACTION_CHANNEL_SOFTDIST_MIN                       0x00001E00
  5281. #define URLACTION_CHANNEL_SOFTDIST_PERMISSIONS               0x00001E05
  5282. #define URLPOLICY_CHANNEL_SOFTDIST_PROHIBIT          0x00010000
  5283. #define URLPOLICY_CHANNEL_SOFTDIST_PRECACHE          0x00020000
  5284. #define URLPOLICY_CHANNEL_SOFTDIST_AUTOINSTALL       0x00030000
  5285. #define URLACTION_CHANNEL_SOFTDIST_MAX                       0x00001Eff
  5286.  
  5287. // For each action specified above the system maintains
  5288. // a set of policies for the action. 
  5289. // The only policies supported currently are permissions (i.e. is something allowed)
  5290. // and logging status. 
  5291. // IMPORTANT: If you are defining your own policies don't overload the meaning of the
  5292. // loword of the policy. You can use the hiword to store any policy bits which are only
  5293. // meaningful to your action.
  5294. // For an example of how to do this look at the URLPOLICY_JAVA above
  5295.  
  5296. // Permissions 
  5297. #define URLPOLICY_ALLOW                0x00
  5298. #define URLPOLICY_QUERY                0x01
  5299. #define URLPOLICY_DISALLOW             0x03
  5300.  
  5301. // Notifications are not done when user already queried.
  5302. #define URLPOLICY_NOTIFY_ON_ALLOW      0x10
  5303. #define URLPOLICY_NOTIFY_ON_DISALLOW   0x20
  5304.  
  5305. // Logging is done regardless of whether user was queried.
  5306. #define URLPOLICY_LOG_ON_ALLOW         0x40
  5307. #define URLPOLICY_LOG_ON_DISALLOW      0x80
  5308.  
  5309. #define URLPOLICY_MASK_PERMISSIONS     0x0f
  5310. #define GetUrlPolicyPermissions(dw)        (dw & URLPOLICY_MASK_PERMISSIONS)
  5311. #define SetUrlPolicyPermissions(dw,dw2)    ((dw) = ((dw) & ~(URLPOLICY_MASK_PERMISSIONS)) | (dw2))
  5312.  
  5313.  
  5314. #define URLPOLICY_DONTCHECKDLGBOX     0x100
  5315. // The ordinal #'s that define the predefined zones internet explorer knows about. 
  5316. // When we support user-defined zones their zone numbers should be between 
  5317. // URLZONE_USER_MIN and URLZONE_USER_MAX
  5318. #ifndef _LPINTERNETZONEMANAGER_DEFINED
  5319. #define _LPINTERNETZONEMANAGER_DEFINED
  5320.  
  5321.  
  5322. extern RPC_IF_HANDLE __MIDL_itf_urlmon_0192_v0_0_c_ifspec;
  5323. extern RPC_IF_HANDLE __MIDL_itf_urlmon_0192_v0_0_s_ifspec;
  5324.  
  5325. #ifndef __IInternetZoneManager_INTERFACE_DEFINED__
  5326. #define __IInternetZoneManager_INTERFACE_DEFINED__
  5327.  
  5328. /* interface IInternetZoneManager */
  5329. /* [unique][helpstring][uuid][object][local] */ 
  5330.  
  5331. typedef /* [unique] */ IInternetZoneManager __RPC_FAR *LPURLZONEMANAGER;
  5332.  
  5333. typedef 
  5334. enum tagURLZONE
  5335.     {    URLZONE_PREDEFINED_MIN    = 0,
  5336.     URLZONE_LOCAL_MACHINE    = 0,
  5337.     URLZONE_INTRANET    = URLZONE_LOCAL_MACHINE + 1,
  5338.     URLZONE_TRUSTED    = URLZONE_INTRANET + 1,
  5339.     URLZONE_INTERNET    = URLZONE_TRUSTED + 1,
  5340.     URLZONE_UNTRUSTED    = URLZONE_INTERNET + 1,
  5341.     URLZONE_PREDEFINED_MAX    = 999,
  5342.     URLZONE_USER_MIN    = 1000,
  5343.     URLZONE_USER_MAX    = 10000
  5344.     }    URLZONE;
  5345.  
  5346. typedef 
  5347. enum tagURLTEMPLATE
  5348.     {    URLTEMPLATE_CUSTOM    = 0,
  5349.     URLTEMPLATE_PREDEFINED_MIN    = 0x10000,
  5350.     URLTEMPLATE_LOW    = 0x10000,
  5351.     URLTEMPLATE_MEDLOW    = 0x10500,
  5352.     URLTEMPLATE_MEDIUM    = 0x11000,
  5353.     URLTEMPLATE_HIGH    = 0x12000,
  5354.     URLTEMPLATE_PREDEFINED_MAX    = 0x20000
  5355.     }    URLTEMPLATE;
  5356.  
  5357.  
  5358. enum __MIDL_IInternetZoneManager_0001
  5359.     {    MAX_ZONE_PATH    = 260,
  5360.     MAX_ZONE_DESCRIPTION    = 200
  5361.     };
  5362. typedef /* [public] */ 
  5363. enum __MIDL_IInternetZoneManager_0002
  5364.     {    ZAFLAGS_CUSTOM_EDIT    = 0x1,
  5365.     ZAFLAGS_ADD_SITES    = 0x2,
  5366.     ZAFLAGS_REQUIRE_VERIFICATION    = 0x4,
  5367.     ZAFLAGS_INCLUDE_PROXY_OVERRIDE    = 0x8,
  5368.     ZAFLAGS_INCLUDE_INTRANET_SITES    = 0x10,
  5369.     ZAFLAGS_NO_UI    = 0x20,
  5370.     ZAFLAGS_SUPPORTS_VERIFICATION    = 0x40,
  5371.     ZAFLAGS_UNC_AS_INTRANET    = 0x80
  5372.     }    ZAFLAGS;
  5373.  
  5374. typedef struct _ZONEATTRIBUTES
  5375.     {
  5376.     ULONG cbSize;
  5377.     WCHAR szDisplayName[ 260 ];
  5378.     WCHAR szDescription[ 200 ];
  5379.     WCHAR szIconPath[ 260 ];
  5380.     DWORD dwTemplateMinLevel;
  5381.     DWORD dwTemplateRecommended;
  5382.     DWORD dwTemplateCurrentLevel;
  5383.     DWORD dwFlags;
  5384.     }    ZONEATTRIBUTES;
  5385.  
  5386. typedef struct _ZONEATTRIBUTES __RPC_FAR *LPZONEATTRIBUTES;
  5387.  
  5388. // Gets the zone attributes (information in registry other than actual security
  5389. // policies associated with the zone).  Zone attributes are fixed as:
  5390. // Sets the zone attributes (information in registry other than actual security
  5391. // policies associated with the zone).  Zone attributes as above.
  5392. // Returns S_OK or ??? if failed to write the zone attributes.
  5393. /* Registry Flags
  5394.  
  5395.     When reading, default behavior is:
  5396.         If HKLM allows override and HKCU value exists
  5397.             Then use HKCU value
  5398.             Else use HKLM value
  5399.     When writing, default behavior is same as HKCU
  5400.         If HKLM allows override
  5401.            Then Write to HKCU
  5402.            Else Fail
  5403. */
  5404. typedef 
  5405. enum _URLZONEREG
  5406.     {    URLZONEREG_DEFAULT    = 0,
  5407.     URLZONEREG_HKLM    = URLZONEREG_DEFAULT + 1,
  5408.     URLZONEREG_HKCU    = URLZONEREG_HKLM + 1
  5409.     }    URLZONEREG;
  5410.  
  5411. // Gets a named custom policy associated with a zone;
  5412. // e.g. the Java VM settings can be defined with a unique key such as 'Java'.
  5413. // Custom policy support is intended to allow extensibility from the predefined
  5414. // set of policies that IE4 has built in.
  5415. // 
  5416. // pwszKey is the string name designating the custom policy.  Components are
  5417. //   responsible for having unique names.
  5418. // ppPolicy is the callee allocated buffer for the policy byte blob; caller is
  5419. //   responsible for freeing this buffer eventually.
  5420. // pcbPolicy is the size of the byte blob returned.
  5421. // dwRegFlags determines how registry is accessed (see above).
  5422. // Returns S_OK if key is found and buffer allocated; ??? if key is not found (no buffer alloced).
  5423. // Sets a named custom policy associated with a zone;
  5424. // e.g. the Java VM settings can be defined with a unique key such as 'Java'.
  5425. // Custom policy support is intended to allow extensibility from the predefined
  5426. // set of policies that IE4 has built in.  
  5427. // 
  5428. // pwszKey is the string name designating the custom policy.  Components are
  5429. //   responsible for having unique names.
  5430. // ppPolicy is the caller allocated buffer for the policy byte blob.
  5431. // pcbPolicy is the size of the byte blob to be set.
  5432. // dwRegFlags determines if HTCU or HKLM is set.
  5433. // Returns S_OK or ??? if failed to write the zone custom policy.
  5434. // Gets action policy associated with a zone, the builtin, fixed-length policies info.
  5435.  
  5436. // dwAction is the action code for the action as defined above.
  5437. // pPolicy is the caller allocated buffer for the policy data.
  5438. // cbPolicy is the size of the caller allocated buffer.
  5439. // dwRegFlags determines how registry is accessed (see above).
  5440. // Returns S_OK if action is valid; ??? if action is not valid.
  5441.  
  5442. EXTERN_C const IID IID_IInternetZoneManager;
  5443.  
  5444. #if defined(__cplusplus) && !defined(CINTERFACE)
  5445.     
  5446.     MIDL_INTERFACE("79eac9ef-baf9-11ce-8c82-00aa004ba90b")
  5447.     IInternetZoneManager : public IUnknown
  5448.     {
  5449.     public:
  5450.         virtual HRESULT STDMETHODCALLTYPE GetZoneAttributes( 
  5451.             /* [in] */ DWORD dwZone,
  5452.             /* [unique][out][in] */ ZONEATTRIBUTES __RPC_FAR *pZoneAttributes) = 0;
  5453.         
  5454.         virtual HRESULT STDMETHODCALLTYPE SetZoneAttributes( 
  5455.             /* [in] */ DWORD dwZone,
  5456.             /* [in] */ ZONEATTRIBUTES __RPC_FAR *pZoneAttributes) = 0;
  5457.         
  5458.         virtual HRESULT STDMETHODCALLTYPE GetZoneCustomPolicy( 
  5459.             /* [in] */ DWORD dwZone,
  5460.             /* [in] */ REFGUID guidKey,
  5461.             /* [size_is][size_is][out] */ BYTE __RPC_FAR *__RPC_FAR *ppPolicy,
  5462.             /* [out] */ DWORD __RPC_FAR *pcbPolicy,
  5463.             /* [in] */ URLZONEREG urlZoneReg) = 0;
  5464.         
  5465.         virtual HRESULT STDMETHODCALLTYPE SetZoneCustomPolicy( 
  5466.             /* [in] */ DWORD dwZone,
  5467.             /* [in] */ REFGUID guidKey,
  5468.             /* [size_is][in] */ BYTE __RPC_FAR *pPolicy,
  5469.             /* [in] */ DWORD cbPolicy,
  5470.             /* [in] */ URLZONEREG urlZoneReg) = 0;
  5471.         
  5472.         virtual HRESULT STDMETHODCALLTYPE GetZoneActionPolicy( 
  5473.             /* [in] */ DWORD dwZone,
  5474.             /* [in] */ DWORD dwAction,
  5475.             /* [size_is][out] */ BYTE __RPC_FAR *pPolicy,
  5476.             /* [in] */ DWORD cbPolicy,
  5477.             /* [in] */ URLZONEREG urlZoneReg) = 0;
  5478.         
  5479.         virtual HRESULT STDMETHODCALLTYPE SetZoneActionPolicy( 
  5480.             /* [in] */ DWORD dwZone,
  5481.             /* [in] */ DWORD dwAction,
  5482.             /* [size_is][in] */ BYTE __RPC_FAR *pPolicy,
  5483.             /* [in] */ DWORD cbPolicy,
  5484.             /* [in] */ URLZONEREG urlZoneReg) = 0;
  5485.         
  5486.         virtual HRESULT STDMETHODCALLTYPE PromptAction( 
  5487.             /* [in] */ DWORD dwAction,
  5488.             /* [in] */ HWND hwndParent,
  5489.             /* [in] */ LPCWSTR pwszUrl,
  5490.             /* [in] */ LPCWSTR pwszText,
  5491.             /* [in] */ DWORD dwPromptFlags) = 0;
  5492.         
  5493.         virtual HRESULT STDMETHODCALLTYPE LogAction( 
  5494.             /* [in] */ DWORD dwAction,
  5495.             /* [in] */ LPCWSTR pwszUrl,
  5496.             /* [in] */ LPCWSTR pwszText,
  5497.             /* [in] */ DWORD dwLogFlags) = 0;
  5498.         
  5499.         virtual HRESULT STDMETHODCALLTYPE CreateZoneEnumerator( 
  5500.             /* [out] */ DWORD __RPC_FAR *pdwEnum,
  5501.             /* [out] */ DWORD __RPC_FAR *pdwCount,
  5502.             /* [in] */ DWORD dwFlags) = 0;
  5503.         
  5504.         virtual HRESULT STDMETHODCALLTYPE GetZoneAt( 
  5505.             /* [in] */ DWORD dwEnum,
  5506.             /* [in] */ DWORD dwIndex,
  5507.             /* [out] */ DWORD __RPC_FAR *pdwZone) = 0;
  5508.         
  5509.         virtual HRESULT STDMETHODCALLTYPE DestroyZoneEnumerator( 
  5510.             /* [in] */ DWORD dwEnum) = 0;
  5511.         
  5512.         virtual HRESULT STDMETHODCALLTYPE CopyTemplatePoliciesToZone( 
  5513.             /* [in] */ DWORD dwTemplate,
  5514.             /* [in] */ DWORD dwZone,
  5515.             /* [in] */ DWORD dwReserved) = 0;
  5516.         
  5517.     };
  5518.     
  5519. #else     /* C style interface */
  5520.  
  5521.     typedef struct IInternetZoneManagerVtbl
  5522.     {
  5523.         BEGIN_INTERFACE
  5524.         
  5525.         HRESULT ( STDMETHODCALLTYPE __RPC_FAR *QueryInterface )( 
  5526.             IInternetZoneManager __RPC_FAR * This,
  5527.             /* [in] */ REFIID riid,
  5528.             /* [iid_is][out] */ void __RPC_FAR *__RPC_FAR *ppvObject);
  5529.         
  5530.         ULONG ( STDMETHODCALLTYPE __RPC_FAR *AddRef )( 
  5531.             IInternetZoneManager __RPC_FAR * This);
  5532.         
  5533.         ULONG ( STDMETHODCALLTYPE __RPC_FAR *Release )( 
  5534.             IInternetZoneManager __RPC_FAR * This);
  5535.         
  5536.         HRESULT ( STDMETHODCALLTYPE __RPC_FAR *GetZoneAttributes )( 
  5537.             IInternetZoneManager __RPC_FAR * This,
  5538.             /* [in] */ DWORD dwZone,
  5539.             /* [unique][out][in] */ ZONEATTRIBUTES __RPC_FAR *pZoneAttributes);
  5540.         
  5541.         HRESULT ( STDMETHODCALLTYPE __RPC_FAR *SetZoneAttributes )( 
  5542.             IInternetZoneManager __RPC_FAR * This,
  5543.             /* [in] */ DWORD dwZone,
  5544.             /* [in] */ ZONEATTRIBUTES __RPC_FAR *pZoneAttributes);
  5545.         
  5546.         HRESULT ( STDMETHODCALLTYPE __RPC_FAR *GetZoneCustomPolicy )( 
  5547.             IInternetZoneManager __RPC_FAR * This,
  5548.             /* [in] */ DWORD dwZone,
  5549.             /* [in] */ REFGUID guidKey,
  5550.             /* [size_is][size_is][out] */ BYTE __RPC_FAR *__RPC_FAR *ppPolicy,
  5551.             /* [out] */ DWORD __RPC_FAR *pcbPolicy,
  5552.             /* [in] */ URLZONEREG urlZoneReg);
  5553.         
  5554.         HRESULT ( STDMETHODCALLTYPE __RPC_FAR *SetZoneCustomPolicy )( 
  5555.             IInternetZoneManager __RPC_FAR * This,
  5556.             /* [in] */ DWORD dwZone,
  5557.             /* [in] */ REFGUID guidKey,
  5558.             /* [size_is][in] */ BYTE __RPC_FAR *pPolicy,
  5559.             /* [in] */ DWORD cbPolicy,
  5560.             /* [in] */ URLZONEREG urlZoneReg);
  5561.         
  5562.         HRESULT ( STDMETHODCALLTYPE __RPC_FAR *GetZoneActionPolicy )( 
  5563.             IInternetZoneManager __RPC_FAR * This,
  5564.             /* [in] */ DWORD dwZone,
  5565.             /* [in] */ DWORD dwAction,
  5566.             /* [size_is][out] */ BYTE __RPC_FAR *pPolicy,
  5567.             /* [in] */ DWORD cbPolicy,
  5568.             /* [in] */ URLZONEREG urlZoneReg);
  5569.         
  5570.         HRESULT ( STDMETHODCALLTYPE __RPC_FAR *SetZoneActionPolicy )( 
  5571.             IInternetZoneManager __RPC_FAR * This,
  5572.             /* [in] */ DWORD dwZone,
  5573.             /* [in] */ DWORD dwAction,
  5574.             /* [size_is][in] */ BYTE __RPC_FAR *pPolicy,
  5575.             /* [in] */ DWORD cbPolicy,
  5576.             /* [in] */ URLZONEREG urlZoneReg);
  5577.         
  5578.         HRESULT ( STDMETHODCALLTYPE __RPC_FAR *PromptAction )( 
  5579.             IInternetZoneManager __RPC_FAR * This,
  5580.             /* [in] */ DWORD dwAction,
  5581.             /* [in] */ HWND hwndParent,
  5582.             /* [in] */ LPCWSTR pwszUrl,
  5583.             /* [in] */ LPCWSTR pwszText,
  5584.             /* [in] */ DWORD dwPromptFlags);
  5585.         
  5586.         HRESULT ( STDMETHODCALLTYPE __RPC_FAR *LogAction )( 
  5587.             IInternetZoneManager __RPC_FAR * This,
  5588.             /* [in] */ DWORD dwAction,
  5589.             /* [in] */ LPCWSTR pwszUrl,
  5590.             /* [in] */ LPCWSTR pwszText,
  5591.             /* [in] */ DWORD dwLogFlags);
  5592.         
  5593.         HRESULT ( STDMETHODCALLTYPE __RPC_FAR *CreateZoneEnumerator )( 
  5594.             IInternetZoneManager __RPC_FAR * This,
  5595.             /* [out] */ DWORD __RPC_FAR *pdwEnum,
  5596.             /* [out] */ DWORD __RPC_FAR *pdwCount,
  5597.             /* [in] */ DWORD dwFlags);
  5598.         
  5599.         HRESULT ( STDMETHODCALLTYPE __RPC_FAR *GetZoneAt )( 
  5600.             IInternetZoneManager __RPC_FAR * This,
  5601.             /* [in] */ DWORD dwEnum,
  5602.             /* [in] */ DWORD dwIndex,
  5603.             /* [out] */ DWORD __RPC_FAR *pdwZone);
  5604.         
  5605.         HRESULT ( STDMETHODCALLTYPE __RPC_FAR *DestroyZoneEnumerator )( 
  5606.             IInternetZoneManager __RPC_FAR * This,
  5607.             /* [in] */ DWORD dwEnum);
  5608.         
  5609.         HRESULT ( STDMETHODCALLTYPE __RPC_FAR *CopyTemplatePoliciesToZone )( 
  5610.             IInternetZoneManager __RPC_FAR * This,
  5611.             /* [in] */ DWORD dwTemplate,
  5612.             /* [in] */ DWORD dwZone,
  5613.             /* [in] */ DWORD dwReserved);
  5614.         
  5615.         END_INTERFACE
  5616.     } IInternetZoneManagerVtbl;
  5617.  
  5618.     interface IInternetZoneManager
  5619.     {
  5620.         CONST_VTBL struct IInternetZoneManagerVtbl __RPC_FAR *lpVtbl;
  5621.     };
  5622.  
  5623.     
  5624.  
  5625. #ifdef COBJMACROS
  5626.  
  5627.  
  5628. #define IInternetZoneManager_QueryInterface(This,riid,ppvObject)    \
  5629.     (This)->lpVtbl -> QueryInterface(This,riid,ppvObject)
  5630.  
  5631. #define IInternetZoneManager_AddRef(This)    \
  5632.     (This)->lpVtbl -> AddRef(This)
  5633.  
  5634. #define IInternetZoneManager_Release(This)    \
  5635.     (This)->lpVtbl -> Release(This)
  5636.  
  5637.  
  5638. #define IInternetZoneManager_GetZoneAttributes(This,dwZone,pZoneAttributes)    \
  5639.     (This)->lpVtbl -> GetZoneAttributes(This,dwZone,pZoneAttributes)
  5640.  
  5641. #define IInternetZoneManager_SetZoneAttributes(This,dwZone,pZoneAttributes)    \
  5642.     (This)->lpVtbl -> SetZoneAttributes(This,dwZone,pZoneAttributes)
  5643.  
  5644. #define IInternetZoneManager_GetZoneCustomPolicy(This,dwZone,guidKey,ppPolicy,pcbPolicy,urlZoneReg)    \
  5645.     (This)->lpVtbl -> GetZoneCustomPolicy(This,dwZone,guidKey,ppPolicy,pcbPolicy,urlZoneReg)
  5646.  
  5647. #define IInternetZoneManager_SetZoneCustomPolicy(This,dwZone,guidKey,pPolicy,cbPolicy,urlZoneReg)    \
  5648.     (This)->lpVtbl -> SetZoneCustomPolicy(This,dwZone,guidKey,pPolicy,cbPolicy,urlZoneReg)
  5649.  
  5650. #define IInternetZoneManager_GetZoneActionPolicy(This,dwZone,dwAction,pPolicy,cbPolicy,urlZoneReg)    \
  5651.     (This)->lpVtbl -> GetZoneActionPolicy(This,dwZone,dwAction,pPolicy,cbPolicy,urlZoneReg)
  5652.  
  5653. #define IInternetZoneManager_SetZoneActionPolicy(This,dwZone,dwAction,pPolicy,cbPolicy,urlZoneReg)    \
  5654.     (This)->lpVtbl -> SetZoneActionPolicy(This,dwZone,dwAction,pPolicy,cbPolicy,urlZoneReg)
  5655.  
  5656. #define IInternetZoneManager_PromptAction(This,dwAction,hwndParent,pwszUrl,pwszText,dwPromptFlags)    \
  5657.     (This)->lpVtbl -> PromptAction(This,dwAction,hwndParent,pwszUrl,pwszText,dwPromptFlags)
  5658.  
  5659. #define IInternetZoneManager_LogAction(This,dwAction,pwszUrl,pwszText,dwLogFlags)    \
  5660.     (This)->lpVtbl -> LogAction(This,dwAction,pwszUrl,pwszText,dwLogFlags)
  5661.  
  5662. #define IInternetZoneManager_CreateZoneEnumerator(This,pdwEnum,pdwCount,dwFlags)    \
  5663.     (This)->lpVtbl -> CreateZoneEnumerator(This,pdwEnum,pdwCount,dwFlags)
  5664.  
  5665. #define IInternetZoneManager_GetZoneAt(This,dwEnum,dwIndex,pdwZone)    \
  5666.     (This)->lpVtbl -> GetZoneAt(This,dwEnum,dwIndex,pdwZone)
  5667.  
  5668. #define IInternetZoneManager_DestroyZoneEnumerator(This,dwEnum)    \
  5669.     (This)->lpVtbl -> DestroyZoneEnumerator(This,dwEnum)
  5670.  
  5671. #define IInternetZoneManager_CopyTemplatePoliciesToZone(This,dwTemplate,dwZone,dwReserved)    \
  5672.     (This)->lpVtbl -> CopyTemplatePoliciesToZone(This,dwTemplate,dwZone,dwReserved)
  5673.  
  5674. #endif /* COBJMACROS */
  5675.  
  5676.  
  5677. #endif     /* C style interface */
  5678.  
  5679.  
  5680.  
  5681. HRESULT STDMETHODCALLTYPE IInternetZoneManager_GetZoneAttributes_Proxy( 
  5682.     IInternetZoneManager __RPC_FAR * This,
  5683.     /* [in] */ DWORD dwZone,
  5684.     /* [unique][out][in] */ ZONEATTRIBUTES __RPC_FAR *pZoneAttributes);
  5685.  
  5686.  
  5687. void __RPC_STUB IInternetZoneManager_GetZoneAttributes_Stub(
  5688.     IRpcStubBuffer *This,
  5689.     IRpcChannelBuffer *_pRpcChannelBuffer,
  5690.     PRPC_MESSAGE _pRpcMessage,
  5691.     DWORD *_pdwStubPhase);
  5692.  
  5693.  
  5694. HRESULT STDMETHODCALLTYPE IInternetZoneManager_SetZoneAttributes_Proxy( 
  5695.     IInternetZoneManager __RPC_FAR * This,
  5696.     /* [in] */ DWORD dwZone,
  5697.     /* [in] */ ZONEATTRIBUTES __RPC_FAR *pZoneAttributes);
  5698.  
  5699.  
  5700. void __RPC_STUB IInternetZoneManager_SetZoneAttributes_Stub(
  5701.     IRpcStubBuffer *This,
  5702.     IRpcChannelBuffer *_pRpcChannelBuffer,
  5703.     PRPC_MESSAGE _pRpcMessage,
  5704.     DWORD *_pdwStubPhase);
  5705.  
  5706.  
  5707. HRESULT STDMETHODCALLTYPE IInternetZoneManager_GetZoneCustomPolicy_Proxy( 
  5708.     IInternetZoneManager __RPC_FAR * This,
  5709.     /* [in] */ DWORD dwZone,
  5710.     /* [in] */ REFGUID guidKey,
  5711.     /* [size_is][size_is][out] */ BYTE __RPC_FAR *__RPC_FAR *ppPolicy,
  5712.     /* [out] */ DWORD __RPC_FAR *pcbPolicy,
  5713.     /* [in] */ URLZONEREG urlZoneReg);
  5714.  
  5715.  
  5716. void __RPC_STUB IInternetZoneManager_GetZoneCustomPolicy_Stub(
  5717.     IRpcStubBuffer *This,
  5718.     IRpcChannelBuffer *_pRpcChannelBuffer,
  5719.     PRPC_MESSAGE _pRpcMessage,
  5720.     DWORD *_pdwStubPhase);
  5721.  
  5722.  
  5723. HRESULT STDMETHODCALLTYPE IInternetZoneManager_SetZoneCustomPolicy_Proxy( 
  5724.     IInternetZoneManager __RPC_FAR * This,
  5725.     /* [in] */ DWORD dwZone,
  5726.     /* [in] */ REFGUID guidKey,
  5727.     /* [size_is][in] */ BYTE __RPC_FAR *pPolicy,
  5728.     /* [in] */ DWORD cbPolicy,
  5729.     /* [in] */ URLZONEREG urlZoneReg);
  5730.  
  5731.  
  5732. void __RPC_STUB IInternetZoneManager_SetZoneCustomPolicy_Stub(
  5733.     IRpcStubBuffer *This,
  5734.     IRpcChannelBuffer *_pRpcChannelBuffer,
  5735.     PRPC_MESSAGE _pRpcMessage,
  5736.     DWORD *_pdwStubPhase);
  5737.  
  5738.  
  5739. HRESULT STDMETHODCALLTYPE IInternetZoneManager_GetZoneActionPolicy_Proxy( 
  5740.     IInternetZoneManager __RPC_FAR * This,
  5741.     /* [in] */ DWORD dwZone,
  5742.     /* [in] */ DWORD dwAction,
  5743.     /* [size_is][out] */ BYTE __RPC_FAR *pPolicy,
  5744.     /* [in] */ DWORD cbPolicy,
  5745.     /* [in] */ URLZONEREG urlZoneReg);
  5746.  
  5747.  
  5748. void __RPC_STUB IInternetZoneManager_GetZoneActionPolicy_Stub(
  5749.     IRpcStubBuffer *This,
  5750.     IRpcChannelBuffer *_pRpcChannelBuffer,
  5751.     PRPC_MESSAGE _pRpcMessage,
  5752.     DWORD *_pdwStubPhase);
  5753.  
  5754.  
  5755. HRESULT STDMETHODCALLTYPE IInternetZoneManager_SetZoneActionPolicy_Proxy( 
  5756.     IInternetZoneManager __RPC_FAR * This,
  5757.     /* [in] */ DWORD dwZone,
  5758.     /* [in] */ DWORD dwAction,
  5759.     /* [size_is][in] */ BYTE __RPC_FAR *pPolicy,
  5760.     /* [in] */ DWORD cbPolicy,
  5761.     /* [in] */ URLZONEREG urlZoneReg);
  5762.  
  5763.  
  5764. void __RPC_STUB IInternetZoneManager_SetZoneActionPolicy_Stub(
  5765.     IRpcStubBuffer *This,
  5766.     IRpcChannelBuffer *_pRpcChannelBuffer,
  5767.     PRPC_MESSAGE _pRpcMessage,
  5768.     DWORD *_pdwStubPhase);
  5769.  
  5770.  
  5771. HRESULT STDMETHODCALLTYPE IInternetZoneManager_PromptAction_Proxy( 
  5772.     IInternetZoneManager __RPC_FAR * This,
  5773.     /* [in] */ DWORD dwAction,
  5774.     /* [in] */ HWND hwndParent,
  5775.     /* [in] */ LPCWSTR pwszUrl,
  5776.     /* [in] */ LPCWSTR pwszText,
  5777.     /* [in] */ DWORD dwPromptFlags);
  5778.  
  5779.  
  5780. void __RPC_STUB IInternetZoneManager_PromptAction_Stub(
  5781.     IRpcStubBuffer *This,
  5782.     IRpcChannelBuffer *_pRpcChannelBuffer,
  5783.     PRPC_MESSAGE _pRpcMessage,
  5784.     DWORD *_pdwStubPhase);
  5785.  
  5786.  
  5787. HRESULT STDMETHODCALLTYPE IInternetZoneManager_LogAction_Proxy( 
  5788.     IInternetZoneManager __RPC_FAR * This,
  5789.     /* [in] */ DWORD dwAction,
  5790.     /* [in] */ LPCWSTR pwszUrl,
  5791.     /* [in] */ LPCWSTR pwszText,
  5792.     /* [in] */ DWORD dwLogFlags);
  5793.  
  5794.  
  5795. void __RPC_STUB IInternetZoneManager_LogAction_Stub(
  5796.     IRpcStubBuffer *This,
  5797.     IRpcChannelBuffer *_pRpcChannelBuffer,
  5798.     PRPC_MESSAGE _pRpcMessage,
  5799.     DWORD *_pdwStubPhase);
  5800.  
  5801.  
  5802. HRESULT STDMETHODCALLTYPE IInternetZoneManager_CreateZoneEnumerator_Proxy( 
  5803.     IInternetZoneManager __RPC_FAR * This,
  5804.     /* [out] */ DWORD __RPC_FAR *pdwEnum,
  5805.     /* [out] */ DWORD __RPC_FAR *pdwCount,
  5806.     /* [in] */ DWORD dwFlags);
  5807.  
  5808.  
  5809. void __RPC_STUB IInternetZoneManager_CreateZoneEnumerator_Stub(
  5810.     IRpcStubBuffer *This,
  5811.     IRpcChannelBuffer *_pRpcChannelBuffer,
  5812.     PRPC_MESSAGE _pRpcMessage,
  5813.     DWORD *_pdwStubPhase);
  5814.  
  5815.  
  5816. HRESULT STDMETHODCALLTYPE IInternetZoneManager_GetZoneAt_Proxy( 
  5817.     IInternetZoneManager __RPC_FAR * This,
  5818.     /* [in] */ DWORD dwEnum,
  5819.     /* [in] */ DWORD dwIndex,
  5820.     /* [out] */ DWORD __RPC_FAR *pdwZone);
  5821.  
  5822.  
  5823. void __RPC_STUB IInternetZoneManager_GetZoneAt_Stub(
  5824.     IRpcStubBuffer *This,
  5825.     IRpcChannelBuffer *_pRpcChannelBuffer,
  5826.     PRPC_MESSAGE _pRpcMessage,
  5827.     DWORD *_pdwStubPhase);
  5828.  
  5829.  
  5830. HRESULT STDMETHODCALLTYPE IInternetZoneManager_DestroyZoneEnumerator_Proxy( 
  5831.     IInternetZoneManager __RPC_FAR * This,
  5832.     /* [in] */ DWORD dwEnum);
  5833.  
  5834.  
  5835. void __RPC_STUB IInternetZoneManager_DestroyZoneEnumerator_Stub(
  5836.     IRpcStubBuffer *This,
  5837.     IRpcChannelBuffer *_pRpcChannelBuffer,
  5838.     PRPC_MESSAGE _pRpcMessage,
  5839.     DWORD *_pdwStubPhase);
  5840.  
  5841.  
  5842. HRESULT STDMETHODCALLTYPE IInternetZoneManager_CopyTemplatePoliciesToZone_Proxy( 
  5843.     IInternetZoneManager __RPC_FAR * This,
  5844.     /* [in] */ DWORD dwTemplate,
  5845.     /* [in] */ DWORD dwZone,
  5846.     /* [in] */ DWORD dwReserved);
  5847.  
  5848.  
  5849. void __RPC_STUB IInternetZoneManager_CopyTemplatePoliciesToZone_Stub(
  5850.     IRpcStubBuffer *This,
  5851.     IRpcChannelBuffer *_pRpcChannelBuffer,
  5852.     PRPC_MESSAGE _pRpcMessage,
  5853.     DWORD *_pdwStubPhase);
  5854.  
  5855.  
  5856.  
  5857. #endif     /* __IInternetZoneManager_INTERFACE_DEFINED__ */
  5858.  
  5859.  
  5860. /* interface __MIDL_itf_urlmon_0193 */
  5861. /* [local] */ 
  5862.  
  5863. #endif
  5864. EXTERN_C const IID CLSID_SoftDistExt;  
  5865. #ifndef _LPSOFTDISTEXT_DEFINED
  5866. #define _LPSOFTDISTEXT_DEFINED
  5867.  
  5868. #define SOFTDIST_FLAG_USAGE_EMAIL        0x00000001
  5869. #define SOFTDIST_FLAG_USAGE_PRECACHE     0x00000002
  5870. #define SOFTDIST_FLAG_USAGE_AUTOINSTALL  0x00000004
  5871. #define SOFTDIST_FLAG_DELETE_SUBSCRIPTION 0x00000008
  5872.  
  5873.  
  5874. #define SOFTDIST_ADSTATE_NONE                0x00000000
  5875. #define SOFTDIST_ADSTATE_AVAILABLE       0x00000001
  5876. #define SOFTDIST_ADSTATE_DOWNLOADED      0x00000002
  5877. #define SOFTDIST_ADSTATE_INSTALLED           0x00000003
  5878.  
  5879. typedef struct _tagCODEBASEHOLD
  5880.     {
  5881.     ULONG cbSize;
  5882.     LPWSTR szDistUnit;
  5883.     LPWSTR szCodeBase;
  5884.     DWORD dwVersionMS;
  5885.     DWORD dwVersionLS;
  5886.     DWORD dwStyle;
  5887.     }    CODEBASEHOLD;
  5888.  
  5889. typedef struct _tagCODEBASEHOLD __RPC_FAR *LPCODEBASEHOLD;
  5890.  
  5891. typedef struct _tagSOFTDISTINFO
  5892.     {
  5893.     ULONG cbSize;
  5894.     DWORD dwFlags;
  5895.     DWORD dwAdState;
  5896.     LPWSTR szTitle;
  5897.     LPWSTR szAbstract;
  5898.     LPWSTR szHREF;
  5899.     DWORD dwInstalledVersionMS;
  5900.     DWORD dwInstalledVersionLS;
  5901.     DWORD dwUpdateVersionMS;
  5902.     DWORD dwUpdateVersionLS;
  5903.     DWORD dwAdvertisedVersionMS;
  5904.     DWORD dwAdvertisedVersionLS;
  5905.     DWORD dwReserved;
  5906.     }    SOFTDISTINFO;
  5907.  
  5908. typedef struct _tagSOFTDISTINFO __RPC_FAR *LPSOFTDISTINFO;
  5909.  
  5910.  
  5911.  
  5912. extern RPC_IF_HANDLE __MIDL_itf_urlmon_0193_v0_0_c_ifspec;
  5913. extern RPC_IF_HANDLE __MIDL_itf_urlmon_0193_v0_0_s_ifspec;
  5914.  
  5915. #ifndef __ISoftDistExt_INTERFACE_DEFINED__
  5916. #define __ISoftDistExt_INTERFACE_DEFINED__
  5917.  
  5918. /* interface ISoftDistExt */
  5919. /* [unique][helpstring][uuid][object][local] */ 
  5920.  
  5921.  
  5922. EXTERN_C const IID IID_ISoftDistExt;
  5923.  
  5924. #if defined(__cplusplus) && !defined(CINTERFACE)
  5925.     
  5926.     MIDL_INTERFACE("B15B8DC1-C7E1-11d0-8680-00AA00BDCB71")
  5927.     ISoftDistExt : public IUnknown
  5928.     {
  5929.     public:
  5930.         virtual HRESULT STDMETHODCALLTYPE ProcessSoftDist( 
  5931.             /* [in] */ LPCWSTR szCDFURL,
  5932.             /* [in] */ IXMLElement __RPC_FAR *pSoftDistElement,
  5933.             /* [out][in] */ LPSOFTDISTINFO lpsdi) = 0;
  5934.         
  5935.         virtual HRESULT STDMETHODCALLTYPE GetFirstCodeBase( 
  5936.             /* [in] */ LPWSTR __RPC_FAR *szCodeBase,
  5937.             /* [in] */ LPDWORD dwMaxSize) = 0;
  5938.         
  5939.         virtual HRESULT STDMETHODCALLTYPE GetNextCodeBase( 
  5940.             /* [in] */ LPWSTR __RPC_FAR *szCodeBase,
  5941.             /* [in] */ LPDWORD dwMaxSize) = 0;
  5942.         
  5943.         virtual HRESULT STDMETHODCALLTYPE AsyncInstallDistributionUnit( 
  5944.             /* [in] */ IBindCtx __RPC_FAR *pbc,
  5945.             /* [in] */ LPVOID pvReserved,
  5946.             /* [in] */ DWORD flags,
  5947.             /* [in] */ LPCODEBASEHOLD lpcbh) = 0;
  5948.         
  5949.     };
  5950.     
  5951. #else     /* C style interface */
  5952.  
  5953.     typedef struct ISoftDistExtVtbl
  5954.     {
  5955.         BEGIN_INTERFACE
  5956.         
  5957.         HRESULT ( STDMETHODCALLTYPE __RPC_FAR *QueryInterface )( 
  5958.             ISoftDistExt __RPC_FAR * This,
  5959.             /* [in] */ REFIID riid,
  5960.             /* [iid_is][out] */ void __RPC_FAR *__RPC_FAR *ppvObject);
  5961.         
  5962.         ULONG ( STDMETHODCALLTYPE __RPC_FAR *AddRef )( 
  5963.             ISoftDistExt __RPC_FAR * This);
  5964.         
  5965.         ULONG ( STDMETHODCALLTYPE __RPC_FAR *Release )( 
  5966.             ISoftDistExt __RPC_FAR * This);
  5967.         
  5968.         HRESULT ( STDMETHODCALLTYPE __RPC_FAR *ProcessSoftDist )( 
  5969.             ISoftDistExt __RPC_FAR * This,
  5970.             /* [in] */ LPCWSTR szCDFURL,
  5971.             /* [in] */ IXMLElement __RPC_FAR *pSoftDistElement,
  5972.             /* [out][in] */ LPSOFTDISTINFO lpsdi);
  5973.         
  5974.         HRESULT ( STDMETHODCALLTYPE __RPC_FAR *GetFirstCodeBase )( 
  5975.             ISoftDistExt __RPC_FAR * This,
  5976.             /* [in] */ LPWSTR __RPC_FAR *szCodeBase,
  5977.             /* [in] */ LPDWORD dwMaxSize);
  5978.         
  5979.         HRESULT ( STDMETHODCALLTYPE __RPC_FAR *GetNextCodeBase )( 
  5980.             ISoftDistExt __RPC_FAR * This,
  5981.             /* [in] */ LPWSTR __RPC_FAR *szCodeBase,
  5982.             /* [in] */ LPDWORD dwMaxSize);
  5983.         
  5984.         HRESULT ( STDMETHODCALLTYPE __RPC_FAR *AsyncInstallDistributionUnit )( 
  5985.             ISoftDistExt __RPC_FAR * This,
  5986.             /* [in] */ IBindCtx __RPC_FAR *pbc,
  5987.             /* [in] */ LPVOID pvReserved,
  5988.             /* [in] */ DWORD flags,
  5989.             /* [in] */ LPCODEBASEHOLD lpcbh);
  5990.         
  5991.         END_INTERFACE
  5992.     } ISoftDistExtVtbl;
  5993.  
  5994.     interface ISoftDistExt
  5995.     {
  5996.         CONST_VTBL struct ISoftDistExtVtbl __RPC_FAR *lpVtbl;
  5997.     };
  5998.  
  5999.     
  6000.  
  6001. #ifdef COBJMACROS
  6002.  
  6003.  
  6004. #define ISoftDistExt_QueryInterface(This,riid,ppvObject)    \
  6005.     (This)->lpVtbl -> QueryInterface(This,riid,ppvObject)
  6006.  
  6007. #define ISoftDistExt_AddRef(This)    \
  6008.     (This)->lpVtbl -> AddRef(This)
  6009.  
  6010. #define ISoftDistExt_Release(This)    \
  6011.     (This)->lpVtbl -> Release(This)
  6012.  
  6013.  
  6014. #define ISoftDistExt_ProcessSoftDist(This,szCDFURL,pSoftDistElement,lpsdi)    \
  6015.     (This)->lpVtbl -> ProcessSoftDist(This,szCDFURL,pSoftDistElement,lpsdi)
  6016.  
  6017. #define ISoftDistExt_GetFirstCodeBase(This,szCodeBase,dwMaxSize)    \
  6018.     (This)->lpVtbl -> GetFirstCodeBase(This,szCodeBase,dwMaxSize)
  6019.  
  6020. #define ISoftDistExt_GetNextCodeBase(This,szCodeBase,dwMaxSize)    \
  6021.     (This)->lpVtbl -> GetNextCodeBase(This,szCodeBase,dwMaxSize)
  6022.  
  6023. #define ISoftDistExt_AsyncInstallDistributionUnit(This,pbc,pvReserved,flags,lpcbh)    \
  6024.     (This)->lpVtbl -> AsyncInstallDistributionUnit(This,pbc,pvReserved,flags,lpcbh)
  6025.  
  6026. #endif /* COBJMACROS */
  6027.  
  6028.  
  6029. #endif     /* C style interface */
  6030.  
  6031.  
  6032.  
  6033. HRESULT STDMETHODCALLTYPE ISoftDistExt_ProcessSoftDist_Proxy( 
  6034.     ISoftDistExt __RPC_FAR * This,
  6035.     /* [in] */ LPCWSTR szCDFURL,
  6036.     /* [in] */ IXMLElement __RPC_FAR *pSoftDistElement,
  6037.     /* [out][in] */ LPSOFTDISTINFO lpsdi);
  6038.  
  6039.  
  6040. void __RPC_STUB ISoftDistExt_ProcessSoftDist_Stub(
  6041.     IRpcStubBuffer *This,
  6042.     IRpcChannelBuffer *_pRpcChannelBuffer,
  6043.     PRPC_MESSAGE _pRpcMessage,
  6044.     DWORD *_pdwStubPhase);
  6045.  
  6046.  
  6047. HRESULT STDMETHODCALLTYPE ISoftDistExt_GetFirstCodeBase_Proxy( 
  6048.     ISoftDistExt __RPC_FAR * This,
  6049.     /* [in] */ LPWSTR __RPC_FAR *szCodeBase,
  6050.     /* [in] */ LPDWORD dwMaxSize);
  6051.  
  6052.  
  6053. void __RPC_STUB ISoftDistExt_GetFirstCodeBase_Stub(
  6054.     IRpcStubBuffer *This,
  6055.     IRpcChannelBuffer *_pRpcChannelBuffer,
  6056.     PRPC_MESSAGE _pRpcMessage,
  6057.     DWORD *_pdwStubPhase);
  6058.  
  6059.  
  6060. HRESULT STDMETHODCALLTYPE ISoftDistExt_GetNextCodeBase_Proxy( 
  6061.     ISoftDistExt __RPC_FAR * This,
  6062.     /* [in] */ LPWSTR __RPC_FAR *szCodeBase,
  6063.     /* [in] */ LPDWORD dwMaxSize);
  6064.  
  6065.  
  6066. void __RPC_STUB ISoftDistExt_GetNextCodeBase_Stub(
  6067.     IRpcStubBuffer *This,
  6068.     IRpcChannelBuffer *_pRpcChannelBuffer,
  6069.     PRPC_MESSAGE _pRpcMessage,
  6070.     DWORD *_pdwStubPhase);
  6071.  
  6072.  
  6073. HRESULT STDMETHODCALLTYPE ISoftDistExt_AsyncInstallDistributionUnit_Proxy( 
  6074.     ISoftDistExt __RPC_FAR * This,
  6075.     /* [in] */ IBindCtx __RPC_FAR *pbc,
  6076.     /* [in] */ LPVOID pvReserved,
  6077.     /* [in] */ DWORD flags,
  6078.     /* [in] */ LPCODEBASEHOLD lpcbh);
  6079.  
  6080.  
  6081. void __RPC_STUB ISoftDistExt_AsyncInstallDistributionUnit_Stub(
  6082.     IRpcStubBuffer *This,
  6083.     IRpcChannelBuffer *_pRpcChannelBuffer,
  6084.     PRPC_MESSAGE _pRpcMessage,
  6085.     DWORD *_pdwStubPhase);
  6086.  
  6087.  
  6088.  
  6089. #endif     /* __ISoftDistExt_INTERFACE_DEFINED__ */
  6090.  
  6091.  
  6092. /* interface __MIDL_itf_urlmon_0194 */
  6093. /* [local] */ 
  6094.  
  6095. STDAPI GetSoftwareUpdateInfo( LPCWSTR szDistUnit, LPSOFTDISTINFO psdi );
  6096. STDAPI SetSoftwareUpdateAdvertisementState( LPCWSTR szDistUnit, DWORD dwAdState, DWORD dwAdvertisedVersionMS, DWORD dwAdvertisedVersionLS );
  6097. #endif
  6098. #ifndef _LPCATALOGFILEINFO_DEFINED
  6099. #define _LPCATALOGFILEINFO_DEFINED
  6100.  
  6101.  
  6102. extern RPC_IF_HANDLE __MIDL_itf_urlmon_0194_v0_0_c_ifspec;
  6103. extern RPC_IF_HANDLE __MIDL_itf_urlmon_0194_v0_0_s_ifspec;
  6104.  
  6105. #ifndef __ICatalogFileInfo_INTERFACE_DEFINED__
  6106. #define __ICatalogFileInfo_INTERFACE_DEFINED__
  6107.  
  6108. /* interface ICatalogFileInfo */
  6109. /* [unique][uuid][object][local] */ 
  6110.  
  6111. typedef /* [unique] */ ICatalogFileInfo __RPC_FAR *LPCATALOGFILEINFO;
  6112.  
  6113.  
  6114. EXTERN_C const IID IID_ICatalogFileInfo;
  6115.  
  6116. #if defined(__cplusplus) && !defined(CINTERFACE)
  6117.     
  6118.     MIDL_INTERFACE("711C7600-6B48-11d1-B403-00AA00B92AF1")
  6119.     ICatalogFileInfo : public IUnknown
  6120.     {
  6121.     public:
  6122.         virtual HRESULT STDMETHODCALLTYPE GetCatalogFile( 
  6123.             /* [out] */ LPSTR __RPC_FAR *ppszCatalogFile) = 0;
  6124.         
  6125.         virtual HRESULT STDMETHODCALLTYPE GetJavaTrust( 
  6126.             /* [out] */ void __RPC_FAR *__RPC_FAR *ppJavaTrust) = 0;
  6127.         
  6128.     };
  6129.     
  6130. #else     /* C style interface */
  6131.  
  6132.     typedef struct ICatalogFileInfoVtbl
  6133.     {
  6134.         BEGIN_INTERFACE
  6135.         
  6136.         HRESULT ( STDMETHODCALLTYPE __RPC_FAR *QueryInterface )( 
  6137.             ICatalogFileInfo __RPC_FAR * This,
  6138.             /* [in] */ REFIID riid,
  6139.             /* [iid_is][out] */ void __RPC_FAR *__RPC_FAR *ppvObject);
  6140.         
  6141.         ULONG ( STDMETHODCALLTYPE __RPC_FAR *AddRef )( 
  6142.             ICatalogFileInfo __RPC_FAR * This);
  6143.         
  6144.         ULONG ( STDMETHODCALLTYPE __RPC_FAR *Release )( 
  6145.             ICatalogFileInfo __RPC_FAR * This);
  6146.         
  6147.         HRESULT ( STDMETHODCALLTYPE __RPC_FAR *GetCatalogFile )( 
  6148.             ICatalogFileInfo __RPC_FAR * This,
  6149.             /* [out] */ LPSTR __RPC_FAR *ppszCatalogFile);
  6150.         
  6151.         HRESULT ( STDMETHODCALLTYPE __RPC_FAR *GetJavaTrust )( 
  6152.             ICatalogFileInfo __RPC_FAR * This,
  6153.             /* [out] */ void __RPC_FAR *__RPC_FAR *ppJavaTrust);
  6154.         
  6155.         END_INTERFACE
  6156.     } ICatalogFileInfoVtbl;
  6157.  
  6158.     interface ICatalogFileInfo
  6159.     {
  6160.         CONST_VTBL struct ICatalogFileInfoVtbl __RPC_FAR *lpVtbl;
  6161.     };
  6162.  
  6163.     
  6164.  
  6165. #ifdef COBJMACROS
  6166.  
  6167.  
  6168. #define ICatalogFileInfo_QueryInterface(This,riid,ppvObject)    \
  6169.     (This)->lpVtbl -> QueryInterface(This,riid,ppvObject)
  6170.  
  6171. #define ICatalogFileInfo_AddRef(This)    \
  6172.     (This)->lpVtbl -> AddRef(This)
  6173.  
  6174. #define ICatalogFileInfo_Release(This)    \
  6175.     (This)->lpVtbl -> Release(This)
  6176.  
  6177.  
  6178. #define ICatalogFileInfo_GetCatalogFile(This,ppszCatalogFile)    \
  6179.     (This)->lpVtbl -> GetCatalogFile(This,ppszCatalogFile)
  6180.  
  6181. #define ICatalogFileInfo_GetJavaTrust(This,ppJavaTrust)    \
  6182.     (This)->lpVtbl -> GetJavaTrust(This,ppJavaTrust)
  6183.  
  6184. #endif /* COBJMACROS */
  6185.  
  6186.  
  6187. #endif     /* C style interface */
  6188.  
  6189.  
  6190.  
  6191. HRESULT STDMETHODCALLTYPE ICatalogFileInfo_GetCatalogFile_Proxy( 
  6192.     ICatalogFileInfo __RPC_FAR * This,
  6193.     /* [out] */ LPSTR __RPC_FAR *ppszCatalogFile);
  6194.  
  6195.  
  6196. void __RPC_STUB ICatalogFileInfo_GetCatalogFile_Stub(
  6197.     IRpcStubBuffer *This,
  6198.     IRpcChannelBuffer *_pRpcChannelBuffer,
  6199.     PRPC_MESSAGE _pRpcMessage,
  6200.     DWORD *_pdwStubPhase);
  6201.  
  6202.  
  6203. HRESULT STDMETHODCALLTYPE ICatalogFileInfo_GetJavaTrust_Proxy( 
  6204.     ICatalogFileInfo __RPC_FAR * This,
  6205.     /* [out] */ void __RPC_FAR *__RPC_FAR *ppJavaTrust);
  6206.  
  6207.  
  6208. void __RPC_STUB ICatalogFileInfo_GetJavaTrust_Stub(
  6209.     IRpcStubBuffer *This,
  6210.     IRpcChannelBuffer *_pRpcChannelBuffer,
  6211.     PRPC_MESSAGE _pRpcMessage,
  6212.     DWORD *_pdwStubPhase);
  6213.  
  6214.  
  6215.  
  6216. #endif     /* __ICatalogFileInfo_INTERFACE_DEFINED__ */
  6217.  
  6218.  
  6219. /* interface __MIDL_itf_urlmon_0195 */
  6220. /* [local] */ 
  6221.  
  6222. #endif
  6223. #ifndef _LPDATAFILTER_DEFINED
  6224. #define _LPDATAFILTER_DEFINED
  6225.  
  6226.  
  6227. extern RPC_IF_HANDLE __MIDL_itf_urlmon_0195_v0_0_c_ifspec;
  6228. extern RPC_IF_HANDLE __MIDL_itf_urlmon_0195_v0_0_s_ifspec;
  6229.  
  6230. #ifndef __IDataFilter_INTERFACE_DEFINED__
  6231. #define __IDataFilter_INTERFACE_DEFINED__
  6232.  
  6233. /* interface IDataFilter */
  6234. /* [unique][uuid][object] */ 
  6235.  
  6236. typedef /* [unique] */ IDataFilter __RPC_FAR *LPDATAFILTER;
  6237.  
  6238.  
  6239. EXTERN_C const IID IID_IDataFilter;
  6240.  
  6241. #if defined(__cplusplus) && !defined(CINTERFACE)
  6242.     
  6243.     MIDL_INTERFACE("69d14c80-c18e-11d0-a9ce-006097942311")
  6244.     IDataFilter : public IUnknown
  6245.     {
  6246.     public:
  6247.         virtual HRESULT STDMETHODCALLTYPE DoEncode( 
  6248.             /* [in] */ DWORD dwFlags,
  6249.             /* [in] */ LONG lInBufferSize,
  6250.             /* [size_is][in] */ BYTE __RPC_FAR *pbInBuffer,
  6251.             /* [in] */ LONG lOutBufferSize,
  6252.             /* [size_is][out] */ BYTE __RPC_FAR *pbOutBuffer,
  6253.             /* [in] */ LONG lInBytesAvailable,
  6254.             /* [out] */ LONG __RPC_FAR *plInBytesRead,
  6255.             /* [out] */ LONG __RPC_FAR *plOutBytesWritten,
  6256.             /* [in] */ DWORD dwReserved) = 0;
  6257.         
  6258.         virtual HRESULT STDMETHODCALLTYPE DoDecode( 
  6259.             /* [in] */ DWORD dwFlags,
  6260.             /* [in] */ LONG lInBufferSize,
  6261.             /* [size_is][in] */ BYTE __RPC_FAR *pbInBuffer,
  6262.             /* [in] */ LONG lOutBufferSize,
  6263.             /* [size_is][out] */ BYTE __RPC_FAR *pbOutBuffer,
  6264.             /* [in] */ LONG lInBytesAvailable,
  6265.             /* [out] */ LONG __RPC_FAR *plInBytesRead,
  6266.             /* [out] */ LONG __RPC_FAR *plOutBytesWritten,
  6267.             /* [in] */ DWORD dwReserved) = 0;
  6268.         
  6269.         virtual HRESULT STDMETHODCALLTYPE SetEncodingLevel( 
  6270.             /* [in] */ DWORD dwEncLevel) = 0;
  6271.         
  6272.     };
  6273.     
  6274. #else     /* C style interface */
  6275.  
  6276.     typedef struct IDataFilterVtbl
  6277.     {
  6278.         BEGIN_INTERFACE
  6279.         
  6280.         HRESULT ( STDMETHODCALLTYPE __RPC_FAR *QueryInterface )( 
  6281.             IDataFilter __RPC_FAR * This,
  6282.             /* [in] */ REFIID riid,
  6283.             /* [iid_is][out] */ void __RPC_FAR *__RPC_FAR *ppvObject);
  6284.         
  6285.         ULONG ( STDMETHODCALLTYPE __RPC_FAR *AddRef )( 
  6286.             IDataFilter __RPC_FAR * This);
  6287.         
  6288.         ULONG ( STDMETHODCALLTYPE __RPC_FAR *Release )( 
  6289.             IDataFilter __RPC_FAR * This);
  6290.         
  6291.         HRESULT ( STDMETHODCALLTYPE __RPC_FAR *DoEncode )( 
  6292.             IDataFilter __RPC_FAR * This,
  6293.             /* [in] */ DWORD dwFlags,
  6294.             /* [in] */ LONG lInBufferSize,
  6295.             /* [size_is][in] */ BYTE __RPC_FAR *pbInBuffer,
  6296.             /* [in] */ LONG lOutBufferSize,
  6297.             /* [size_is][out] */ BYTE __RPC_FAR *pbOutBuffer,
  6298.             /* [in] */ LONG lInBytesAvailable,
  6299.             /* [out] */ LONG __RPC_FAR *plInBytesRead,
  6300.             /* [out] */ LONG __RPC_FAR *plOutBytesWritten,
  6301.             /* [in] */ DWORD dwReserved);
  6302.         
  6303.         HRESULT ( STDMETHODCALLTYPE __RPC_FAR *DoDecode )( 
  6304.             IDataFilter __RPC_FAR * This,
  6305.             /* [in] */ DWORD dwFlags,
  6306.             /* [in] */ LONG lInBufferSize,
  6307.             /* [size_is][in] */ BYTE __RPC_FAR *pbInBuffer,
  6308.             /* [in] */ LONG lOutBufferSize,
  6309.             /* [size_is][out] */ BYTE __RPC_FAR *pbOutBuffer,
  6310.             /* [in] */ LONG lInBytesAvailable,
  6311.             /* [out] */ LONG __RPC_FAR *plInBytesRead,
  6312.             /* [out] */ LONG __RPC_FAR *plOutBytesWritten,
  6313.             /* [in] */ DWORD dwReserved);
  6314.         
  6315.         HRESULT ( STDMETHODCALLTYPE __RPC_FAR *SetEncodingLevel )( 
  6316.             IDataFilter __RPC_FAR * This,
  6317.             /* [in] */ DWORD dwEncLevel);
  6318.         
  6319.         END_INTERFACE
  6320.     } IDataFilterVtbl;
  6321.  
  6322.     interface IDataFilter
  6323.     {
  6324.         CONST_VTBL struct IDataFilterVtbl __RPC_FAR *lpVtbl;
  6325.     };
  6326.  
  6327.     
  6328.  
  6329. #ifdef COBJMACROS
  6330.  
  6331.  
  6332. #define IDataFilter_QueryInterface(This,riid,ppvObject)    \
  6333.     (This)->lpVtbl -> QueryInterface(This,riid,ppvObject)
  6334.  
  6335. #define IDataFilter_AddRef(This)    \
  6336.     (This)->lpVtbl -> AddRef(This)
  6337.  
  6338. #define IDataFilter_Release(This)    \
  6339.     (This)->lpVtbl -> Release(This)
  6340.  
  6341.  
  6342. #define IDataFilter_DoEncode(This,dwFlags,lInBufferSize,pbInBuffer,lOutBufferSize,pbOutBuffer,lInBytesAvailable,plInBytesRead,plOutBytesWritten,dwReserved)    \
  6343.     (This)->lpVtbl -> DoEncode(This,dwFlags,lInBufferSize,pbInBuffer,lOutBufferSize,pbOutBuffer,lInBytesAvailable,plInBytesRead,plOutBytesWritten,dwReserved)
  6344.  
  6345. #define IDataFilter_DoDecode(This,dwFlags,lInBufferSize,pbInBuffer,lOutBufferSize,pbOutBuffer,lInBytesAvailable,plInBytesRead,plOutBytesWritten,dwReserved)    \
  6346.     (This)->lpVtbl -> DoDecode(This,dwFlags,lInBufferSize,pbInBuffer,lOutBufferSize,pbOutBuffer,lInBytesAvailable,plInBytesRead,plOutBytesWritten,dwReserved)
  6347.  
  6348. #define IDataFilter_SetEncodingLevel(This,dwEncLevel)    \
  6349.     (This)->lpVtbl -> SetEncodingLevel(This,dwEncLevel)
  6350.  
  6351. #endif /* COBJMACROS */
  6352.  
  6353.  
  6354. #endif     /* C style interface */
  6355.  
  6356.  
  6357.  
  6358. HRESULT STDMETHODCALLTYPE IDataFilter_DoEncode_Proxy( 
  6359.     IDataFilter __RPC_FAR * This,
  6360.     /* [in] */ DWORD dwFlags,
  6361.     /* [in] */ LONG lInBufferSize,
  6362.     /* [size_is][in] */ BYTE __RPC_FAR *pbInBuffer,
  6363.     /* [in] */ LONG lOutBufferSize,
  6364.     /* [size_is][out] */ BYTE __RPC_FAR *pbOutBuffer,
  6365.     /* [in] */ LONG lInBytesAvailable,
  6366.     /* [out] */ LONG __RPC_FAR *plInBytesRead,
  6367.     /* [out] */ LONG __RPC_FAR *plOutBytesWritten,
  6368.     /* [in] */ DWORD dwReserved);
  6369.  
  6370.  
  6371. void __RPC_STUB IDataFilter_DoEncode_Stub(
  6372.     IRpcStubBuffer *This,
  6373.     IRpcChannelBuffer *_pRpcChannelBuffer,
  6374.     PRPC_MESSAGE _pRpcMessage,
  6375.     DWORD *_pdwStubPhase);
  6376.  
  6377.  
  6378. HRESULT STDMETHODCALLTYPE IDataFilter_DoDecode_Proxy( 
  6379.     IDataFilter __RPC_FAR * This,
  6380.     /* [in] */ DWORD dwFlags,
  6381.     /* [in] */ LONG lInBufferSize,
  6382.     /* [size_is][in] */ BYTE __RPC_FAR *pbInBuffer,
  6383.     /* [in] */ LONG lOutBufferSize,
  6384.     /* [size_is][out] */ BYTE __RPC_FAR *pbOutBuffer,
  6385.     /* [in] */ LONG lInBytesAvailable,
  6386.     /* [out] */ LONG __RPC_FAR *plInBytesRead,
  6387.     /* [out] */ LONG __RPC_FAR *plOutBytesWritten,
  6388.     /* [in] */ DWORD dwReserved);
  6389.  
  6390.  
  6391. void __RPC_STUB IDataFilter_DoDecode_Stub(
  6392.     IRpcStubBuffer *This,
  6393.     IRpcChannelBuffer *_pRpcChannelBuffer,
  6394.     PRPC_MESSAGE _pRpcMessage,
  6395.     DWORD *_pdwStubPhase);
  6396.  
  6397.  
  6398. HRESULT STDMETHODCALLTYPE IDataFilter_SetEncodingLevel_Proxy( 
  6399.     IDataFilter __RPC_FAR * This,
  6400.     /* [in] */ DWORD dwEncLevel);
  6401.  
  6402.  
  6403. void __RPC_STUB IDataFilter_SetEncodingLevel_Stub(
  6404.     IRpcStubBuffer *This,
  6405.     IRpcChannelBuffer *_pRpcChannelBuffer,
  6406.     PRPC_MESSAGE _pRpcMessage,
  6407.     DWORD *_pdwStubPhase);
  6408.  
  6409.  
  6410.  
  6411. #endif     /* __IDataFilter_INTERFACE_DEFINED__ */
  6412.  
  6413.  
  6414. /* interface __MIDL_itf_urlmon_0196 */
  6415. /* [local] */ 
  6416.  
  6417. #endif
  6418. #ifndef _LPENCODINGFILTERFACTORY_DEFINED
  6419. #define _LPENCODINGFILTERFACTORY_DEFINED
  6420. typedef struct _tagPROTOCOLFILTERDATA
  6421.     {
  6422.     DWORD cbSize;
  6423.     IInternetProtocolSink __RPC_FAR *pProtocolSink;
  6424.     IInternetProtocol __RPC_FAR *pProtocol;
  6425.     IUnknown __RPC_FAR *pUnk;
  6426.     DWORD dwFilterFlags;
  6427.     }    PROTOCOLFILTERDATA;
  6428.  
  6429.  
  6430.  
  6431. extern RPC_IF_HANDLE __MIDL_itf_urlmon_0196_v0_0_c_ifspec;
  6432. extern RPC_IF_HANDLE __MIDL_itf_urlmon_0196_v0_0_s_ifspec;
  6433.  
  6434. #ifndef __IEncodingFilterFactory_INTERFACE_DEFINED__
  6435. #define __IEncodingFilterFactory_INTERFACE_DEFINED__
  6436.  
  6437. /* interface IEncodingFilterFactory */
  6438. /* [unique][uuid][object][local] */ 
  6439.  
  6440. typedef /* [unique] */ IEncodingFilterFactory __RPC_FAR *LPENCODINGFILTERFACTORY;
  6441.  
  6442. typedef struct _tagDATAINFO
  6443.     {
  6444.     ULONG ulTotalSize;
  6445.     ULONG ulavrPacketSize;
  6446.     ULONG ulConnectSpeed;
  6447.     ULONG ulProcessorSpeed;
  6448.     }    DATAINFO;
  6449.  
  6450.  
  6451. EXTERN_C const IID IID_IEncodingFilterFactory;
  6452.  
  6453. #if defined(__cplusplus) && !defined(CINTERFACE)
  6454.     
  6455.     MIDL_INTERFACE("70bdde00-c18e-11d0-a9ce-006097942311")
  6456.     IEncodingFilterFactory : public IUnknown
  6457.     {
  6458.     public:
  6459.         virtual HRESULT STDMETHODCALLTYPE FindBestFilter( 
  6460.             /* [in] */ LPCWSTR pwzCodeIn,
  6461.             /* [in] */ LPCWSTR pwzCodeOut,
  6462.             /* [in] */ DATAINFO info,
  6463.             /* [out] */ IDataFilter __RPC_FAR *__RPC_FAR *ppDF) = 0;
  6464.         
  6465.         virtual HRESULT STDMETHODCALLTYPE GetDefaultFilter( 
  6466.             /* [in] */ LPCWSTR pwzCodeIn,
  6467.             /* [in] */ LPCWSTR pwzCodeOut,
  6468.             /* [out] */ IDataFilter __RPC_FAR *__RPC_FAR *ppDF) = 0;
  6469.         
  6470.     };
  6471.     
  6472. #else     /* C style interface */
  6473.  
  6474.     typedef struct IEncodingFilterFactoryVtbl
  6475.     {
  6476.         BEGIN_INTERFACE
  6477.         
  6478.         HRESULT ( STDMETHODCALLTYPE __RPC_FAR *QueryInterface )( 
  6479.             IEncodingFilterFactory __RPC_FAR * This,
  6480.             /* [in] */ REFIID riid,
  6481.             /* [iid_is][out] */ void __RPC_FAR *__RPC_FAR *ppvObject);
  6482.         
  6483.         ULONG ( STDMETHODCALLTYPE __RPC_FAR *AddRef )( 
  6484.             IEncodingFilterFactory __RPC_FAR * This);
  6485.         
  6486.         ULONG ( STDMETHODCALLTYPE __RPC_FAR *Release )( 
  6487.             IEncodingFilterFactory __RPC_FAR * This);
  6488.         
  6489.         HRESULT ( STDMETHODCALLTYPE __RPC_FAR *FindBestFilter )( 
  6490.             IEncodingFilterFactory __RPC_FAR * This,
  6491.             /* [in] */ LPCWSTR pwzCodeIn,
  6492.             /* [in] */ LPCWSTR pwzCodeOut,
  6493.             /* [in] */ DATAINFO info,
  6494.             /* [out] */ IDataFilter __RPC_FAR *__RPC_FAR *ppDF);
  6495.         
  6496.         HRESULT ( STDMETHODCALLTYPE __RPC_FAR *GetDefaultFilter )( 
  6497.             IEncodingFilterFactory __RPC_FAR * This,
  6498.             /* [in] */ LPCWSTR pwzCodeIn,
  6499.             /* [in] */ LPCWSTR pwzCodeOut,
  6500.             /* [out] */ IDataFilter __RPC_FAR *__RPC_FAR *ppDF);
  6501.         
  6502.         END_INTERFACE
  6503.     } IEncodingFilterFactoryVtbl;
  6504.  
  6505.     interface IEncodingFilterFactory
  6506.     {
  6507.         CONST_VTBL struct IEncodingFilterFactoryVtbl __RPC_FAR *lpVtbl;
  6508.     };
  6509.  
  6510.     
  6511.  
  6512. #ifdef COBJMACROS
  6513.  
  6514.  
  6515. #define IEncodingFilterFactory_QueryInterface(This,riid,ppvObject)    \
  6516.     (This)->lpVtbl -> QueryInterface(This,riid,ppvObject)
  6517.  
  6518. #define IEncodingFilterFactory_AddRef(This)    \
  6519.     (This)->lpVtbl -> AddRef(This)
  6520.  
  6521. #define IEncodingFilterFactory_Release(This)    \
  6522.     (This)->lpVtbl -> Release(This)
  6523.  
  6524.  
  6525. #define IEncodingFilterFactory_FindBestFilter(This,pwzCodeIn,pwzCodeOut,info,ppDF)    \
  6526.     (This)->lpVtbl -> FindBestFilter(This,pwzCodeIn,pwzCodeOut,info,ppDF)
  6527.  
  6528. #define IEncodingFilterFactory_GetDefaultFilter(This,pwzCodeIn,pwzCodeOut,ppDF)    \
  6529.     (This)->lpVtbl -> GetDefaultFilter(This,pwzCodeIn,pwzCodeOut,ppDF)
  6530.  
  6531. #endif /* COBJMACROS */
  6532.  
  6533.  
  6534. #endif     /* C style interface */
  6535.  
  6536.  
  6537.  
  6538. HRESULT STDMETHODCALLTYPE IEncodingFilterFactory_FindBestFilter_Proxy( 
  6539.     IEncodingFilterFactory __RPC_FAR * This,
  6540.     /* [in] */ LPCWSTR pwzCodeIn,
  6541.     /* [in] */ LPCWSTR pwzCodeOut,
  6542.     /* [in] */ DATAINFO info,
  6543.     /* [out] */ IDataFilter __RPC_FAR *__RPC_FAR *ppDF);
  6544.  
  6545.  
  6546. void __RPC_STUB IEncodingFilterFactory_FindBestFilter_Stub(
  6547.     IRpcStubBuffer *This,
  6548.     IRpcChannelBuffer *_pRpcChannelBuffer,
  6549.     PRPC_MESSAGE _pRpcMessage,
  6550.     DWORD *_pdwStubPhase);
  6551.  
  6552.  
  6553. HRESULT STDMETHODCALLTYPE IEncodingFilterFactory_GetDefaultFilter_Proxy( 
  6554.     IEncodingFilterFactory __RPC_FAR * This,
  6555.     /* [in] */ LPCWSTR pwzCodeIn,
  6556.     /* [in] */ LPCWSTR pwzCodeOut,
  6557.     /* [out] */ IDataFilter __RPC_FAR *__RPC_FAR *ppDF);
  6558.  
  6559.  
  6560. void __RPC_STUB IEncodingFilterFactory_GetDefaultFilter_Stub(
  6561.     IRpcStubBuffer *This,
  6562.     IRpcChannelBuffer *_pRpcChannelBuffer,
  6563.     PRPC_MESSAGE _pRpcMessage,
  6564.     DWORD *_pdwStubPhase);
  6565.  
  6566.  
  6567.  
  6568. #endif     /* __IEncodingFilterFactory_INTERFACE_DEFINED__ */
  6569.  
  6570.  
  6571. /* interface __MIDL_itf_urlmon_0197 */
  6572. /* [local] */ 
  6573.  
  6574. #endif
  6575. #ifndef _HITLOGGING_DEFINED
  6576. #define _HITLOGGING_DEFINED
  6577. // Logging-specific apis
  6578. BOOL WINAPI IsLoggingEnabledA(IN LPCSTR  pszUrl);                    
  6579. BOOL WINAPI IsLoggingEnabledW(IN LPCWSTR  pwszUrl);                  
  6580. #ifdef UNICODE                                                       
  6581. #define IsLoggingEnabled         IsLoggingEnabledW                   
  6582. #else                                                                
  6583. #define IsLoggingEnabled         IsLoggingEnabledA                   
  6584. #endif // !UNICODE                                                   
  6585. typedef struct _tagHIT_LOGGING_INFO
  6586.     {
  6587.     DWORD dwStructSize;
  6588.     LPSTR lpszLoggedUrlName;
  6589.     SYSTEMTIME StartTime;
  6590.     SYSTEMTIME EndTime;
  6591.     LPSTR lpszExtendedInfo;
  6592.     }    HIT_LOGGING_INFO;
  6593.  
  6594. typedef struct _tagHIT_LOGGING_INFO __RPC_FAR *LPHIT_LOGGING_INFO;
  6595.  
  6596. BOOL WINAPI WriteHitLogging(IN LPHIT_LOGGING_INFO lpLogginginfo);    
  6597. #define CONFIRMSAFETYACTION_LOADOBJECT  0x00000001
  6598. struct CONFIRMSAFETY
  6599.     {
  6600.     CLSID clsid;
  6601.     IUnknown __RPC_FAR *pUnk;
  6602.     DWORD dwFlags;
  6603.     };
  6604. EXTERN_C const GUID GUID_CUSTOM_CONFIRMOBJECTSAFETY; 
  6605. #endif
  6606.  
  6607.  
  6608. extern RPC_IF_HANDLE __MIDL_itf_urlmon_0197_v0_0_c_ifspec;
  6609. extern RPC_IF_HANDLE __MIDL_itf_urlmon_0197_v0_0_s_ifspec;
  6610.  
  6611. /* Additional Prototypes for ALL interfaces */
  6612.  
  6613. unsigned long             __RPC_USER  HWND_UserSize(     unsigned long __RPC_FAR *, unsigned long            , HWND __RPC_FAR * ); 
  6614. unsigned char __RPC_FAR * __RPC_USER  HWND_UserMarshal(  unsigned long __RPC_FAR *, unsigned char __RPC_FAR *, HWND __RPC_FAR * ); 
  6615. unsigned char __RPC_FAR * __RPC_USER  HWND_UserUnmarshal(unsigned long __RPC_FAR *, unsigned char __RPC_FAR *, HWND __RPC_FAR * ); 
  6616. void                      __RPC_USER  HWND_UserFree(     unsigned long __RPC_FAR *, HWND __RPC_FAR * ); 
  6617.  
  6618. /* [local] */ HRESULT STDMETHODCALLTYPE IBinding_GetBindResult_Proxy( 
  6619.     IBinding __RPC_FAR * This,
  6620.     /* [out] */ CLSID __RPC_FAR *pclsidProtocol,
  6621.     /* [out] */ DWORD __RPC_FAR *pdwResult,
  6622.     /* [out] */ LPOLESTR __RPC_FAR *pszResult,
  6623.     /* [out][in] */ DWORD __RPC_FAR *pdwReserved);
  6624.  
  6625.  
  6626. /* [call_as] */ HRESULT STDMETHODCALLTYPE IBinding_GetBindResult_Stub( 
  6627.     IBinding __RPC_FAR * This,
  6628.     /* [out] */ CLSID __RPC_FAR *pclsidProtocol,
  6629.     /* [out] */ DWORD __RPC_FAR *pdwResult,
  6630.     /* [out] */ LPOLESTR __RPC_FAR *pszResult,
  6631.     /* [in] */ DWORD dwReserved);
  6632.  
  6633. /* [local] */ HRESULT STDMETHODCALLTYPE IBindStatusCallback_GetBindInfo_Proxy( 
  6634.     IBindStatusCallback __RPC_FAR * This,
  6635.     /* [out] */ DWORD __RPC_FAR *grfBINDF,
  6636.     /* [unique][out][in] */ BINDINFO __RPC_FAR *pbindinfo);
  6637.  
  6638.  
  6639. /* [call_as] */ HRESULT STDMETHODCALLTYPE IBindStatusCallback_GetBindInfo_Stub( 
  6640.     IBindStatusCallback __RPC_FAR * This,
  6641.     /* [out] */ DWORD __RPC_FAR *grfBINDF,
  6642.     /* [unique][out][in] */ RemBINDINFO __RPC_FAR *pbindinfo,
  6643.     /* [unique][out][in] */ RemSTGMEDIUM __RPC_FAR *pstgmed);
  6644.  
  6645. /* [local] */ HRESULT STDMETHODCALLTYPE IBindStatusCallback_OnDataAvailable_Proxy( 
  6646.     IBindStatusCallback __RPC_FAR * This,
  6647.     /* [in] */ DWORD grfBSCF,
  6648.     /* [in] */ DWORD dwSize,
  6649.     /* [in] */ FORMATETC __RPC_FAR *pformatetc,
  6650.     /* [in] */ STGMEDIUM __RPC_FAR *pstgmed);
  6651.  
  6652.  
  6653. /* [call_as] */ HRESULT STDMETHODCALLTYPE IBindStatusCallback_OnDataAvailable_Stub( 
  6654.     IBindStatusCallback __RPC_FAR * This,
  6655.     /* [in] */ DWORD grfBSCF,
  6656.     /* [in] */ DWORD dwSize,
  6657.     /* [in] */ RemFORMATETC __RPC_FAR *pformatetc,
  6658.     /* [in] */ RemSTGMEDIUM __RPC_FAR *pstgmed);
  6659.  
  6660. /* [local] */ HRESULT STDMETHODCALLTYPE IWinInetInfo_QueryOption_Proxy( 
  6661.     IWinInetInfo __RPC_FAR * This,
  6662.     /* [in] */ DWORD dwOption,
  6663.     /* [size_is][out][in] */ LPVOID pBuffer,
  6664.     /* [out][in] */ DWORD __RPC_FAR *pcbBuf);
  6665.  
  6666.  
  6667. /* [call_as] */ HRESULT STDMETHODCALLTYPE IWinInetInfo_QueryOption_Stub( 
  6668.     IWinInetInfo __RPC_FAR * This,
  6669.     /* [in] */ DWORD dwOption,
  6670.     /* [size_is][out][in] */ BYTE __RPC_FAR *pBuffer,
  6671.     /* [out][in] */ DWORD __RPC_FAR *pcbBuf);
  6672.  
  6673. /* [local] */ HRESULT STDMETHODCALLTYPE IWinInetHttpInfo_QueryInfo_Proxy( 
  6674.     IWinInetHttpInfo __RPC_FAR * This,
  6675.     /* [in] */ DWORD dwOption,
  6676.     /* [size_is][out][in] */ LPVOID pBuffer,
  6677.     /* [out][in] */ DWORD __RPC_FAR *pcbBuf,
  6678.     /* [out][in] */ DWORD __RPC_FAR *pdwFlags,
  6679.     /* [out][in] */ DWORD __RPC_FAR *pdwReserved);
  6680.  
  6681.  
  6682. /* [call_as] */ HRESULT STDMETHODCALLTYPE IWinInetHttpInfo_QueryInfo_Stub( 
  6683.     IWinInetHttpInfo __RPC_FAR * This,
  6684.     /* [in] */ DWORD dwOption,
  6685.     /* [size_is][out][in] */ BYTE __RPC_FAR *pBuffer,
  6686.     /* [out][in] */ DWORD __RPC_FAR *pcbBuf,
  6687.     /* [out][in] */ DWORD __RPC_FAR *pdwFlags,
  6688.     /* [out][in] */ DWORD __RPC_FAR *pdwReserved);
  6689.  
  6690. /* [local] */ HRESULT STDMETHODCALLTYPE IBindHost_MonikerBindToStorage_Proxy( 
  6691.     IBindHost __RPC_FAR * This,
  6692.     /* [in] */ IMoniker __RPC_FAR *pMk,
  6693.     /* [in] */ IBindCtx __RPC_FAR *pBC,
  6694.     /* [in] */ IBindStatusCallback __RPC_FAR *pBSC,
  6695.     /* [in] */ REFIID riid,
  6696.     /* [out] */ void __RPC_FAR *__RPC_FAR *ppvObj);
  6697.  
  6698.  
  6699. /* [call_as] */ HRESULT STDMETHODCALLTYPE IBindHost_MonikerBindToStorage_Stub( 
  6700.     IBindHost __RPC_FAR * This,
  6701.     /* [unique][in] */ IMoniker __RPC_FAR *pMk,
  6702.     /* [unique][in] */ IBindCtx __RPC_FAR *pBC,
  6703.     /* [unique][in] */ IBindStatusCallback __RPC_FAR *pBSC,
  6704.     /* [in] */ REFIID riid,
  6705.     /* [iid_is][out] */ IUnknown __RPC_FAR *__RPC_FAR *ppvObj);
  6706.  
  6707. /* [local] */ HRESULT STDMETHODCALLTYPE IBindHost_MonikerBindToObject_Proxy( 
  6708.     IBindHost __RPC_FAR * This,
  6709.     /* [in] */ IMoniker __RPC_FAR *pMk,
  6710.     /* [in] */ IBindCtx __RPC_FAR *pBC,
  6711.     /* [in] */ IBindStatusCallback __RPC_FAR *pBSC,
  6712.     /* [in] */ REFIID riid,
  6713.     /* [out] */ void __RPC_FAR *__RPC_FAR *ppvObj);
  6714.  
  6715.  
  6716. /* [call_as] */ HRESULT STDMETHODCALLTYPE IBindHost_MonikerBindToObject_Stub( 
  6717.     IBindHost __RPC_FAR * This,
  6718.     /* [unique][in] */ IMoniker __RPC_FAR *pMk,
  6719.     /* [unique][in] */ IBindCtx __RPC_FAR *pBC,
  6720.     /* [unique][in] */ IBindStatusCallback __RPC_FAR *pBSC,
  6721.     /* [in] */ REFIID riid,
  6722.     /* [iid_is][out] */ IUnknown __RPC_FAR *__RPC_FAR *ppvObj);
  6723.  
  6724.  
  6725.  
  6726. /* end of Additional Prototypes */
  6727.  
  6728. #ifdef __cplusplus
  6729. }
  6730. #endif
  6731.  
  6732. #endif
  6733.  
  6734.  
  6735. #pragma option pop /*P_O_Pop*/
  6736.