Leaked source code of windows server 2003
You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.

8317 lines
264 KiB

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