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.

3204 lines
99 KiB

  1. #pragma warning( disable: 4049 ) /* more than 64k source lines */
  2. /* this ALWAYS GENERATED file contains the definitions for the interfaces */
  3. /* File created by MIDL compiler version 6.00.0340 */
  4. /* Compiler settings for fusion.idl:
  5. Oicf, W1, Zp8, env=Win32 (32b run)
  6. protocol : dce , ms_ext, c_ext, robust
  7. error checks: allocation ref bounds_check enum stub_data
  8. VC __declspec() decoration level:
  9. __declspec(uuid()), __declspec(selectany), __declspec(novtable)
  10. DECLSPEC_UUID(), MIDL_INTERFACE()
  11. */
  12. //@@MIDL_FILE_HEADING( )
  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__ 475
  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 __fusion_h__
  27. #define __fusion_h__
  28. #if defined(_MSC_VER) && (_MSC_VER >= 1020)
  29. #pragma once
  30. #endif
  31. /* Forward Declarations */
  32. #ifndef __IAssemblyName_FWD_DEFINED__
  33. #define __IAssemblyName_FWD_DEFINED__
  34. typedef interface IAssemblyName IAssemblyName;
  35. #endif /* __IAssemblyName_FWD_DEFINED__ */
  36. #ifndef __IApplicationContext_FWD_DEFINED__
  37. #define __IApplicationContext_FWD_DEFINED__
  38. typedef interface IApplicationContext IApplicationContext;
  39. #endif /* __IApplicationContext_FWD_DEFINED__ */
  40. #ifndef __IAssembly_FWD_DEFINED__
  41. #define __IAssembly_FWD_DEFINED__
  42. typedef interface IAssembly IAssembly;
  43. #endif /* __IAssembly_FWD_DEFINED__ */
  44. #ifndef __IAssemblyBindSink_FWD_DEFINED__
  45. #define __IAssemblyBindSink_FWD_DEFINED__
  46. typedef interface IAssemblyBindSink IAssemblyBindSink;
  47. #endif /* __IAssemblyBindSink_FWD_DEFINED__ */
  48. #ifndef __IAssemblyBinding_FWD_DEFINED__
  49. #define __IAssemblyBinding_FWD_DEFINED__
  50. typedef interface IAssemblyBinding IAssemblyBinding;
  51. #endif /* __IAssemblyBinding_FWD_DEFINED__ */
  52. #ifndef __IFusionBindLog_FWD_DEFINED__
  53. #define __IFusionBindLog_FWD_DEFINED__
  54. typedef interface IFusionBindLog IFusionBindLog;
  55. #endif /* __IFusionBindLog_FWD_DEFINED__ */
  56. #ifndef __IAssemblyManifestImport_FWD_DEFINED__
  57. #define __IAssemblyManifestImport_FWD_DEFINED__
  58. typedef interface IAssemblyManifestImport IAssemblyManifestImport;
  59. #endif /* __IAssemblyManifestImport_FWD_DEFINED__ */
  60. #ifndef __IAssemblyModuleImport_FWD_DEFINED__
  61. #define __IAssemblyModuleImport_FWD_DEFINED__
  62. typedef interface IAssemblyModuleImport IAssemblyModuleImport;
  63. #endif /* __IAssemblyModuleImport_FWD_DEFINED__ */
  64. #ifndef __IAssemblyCacheItem_FWD_DEFINED__
  65. #define __IAssemblyCacheItem_FWD_DEFINED__
  66. typedef interface IAssemblyCacheItem IAssemblyCacheItem;
  67. #endif /* __IAssemblyCacheItem_FWD_DEFINED__ */
  68. #ifndef __IAssemblyEnum_FWD_DEFINED__
  69. #define __IAssemblyEnum_FWD_DEFINED__
  70. typedef interface IAssemblyEnum IAssemblyEnum;
  71. #endif /* __IAssemblyEnum_FWD_DEFINED__ */
  72. #ifndef __IAssemblyScavenger_FWD_DEFINED__
  73. #define __IAssemblyScavenger_FWD_DEFINED__
  74. typedef interface IAssemblyScavenger IAssemblyScavenger;
  75. #endif /* __IAssemblyScavenger_FWD_DEFINED__ */
  76. #ifndef __IAssemblyCache_FWD_DEFINED__
  77. #define __IAssemblyCache_FWD_DEFINED__
  78. typedef interface IAssemblyCache IAssemblyCache;
  79. #endif /* __IAssemblyCache_FWD_DEFINED__ */
  80. #ifndef __IHistoryAssembly_FWD_DEFINED__
  81. #define __IHistoryAssembly_FWD_DEFINED__
  82. typedef interface IHistoryAssembly IHistoryAssembly;
  83. #endif /* __IHistoryAssembly_FWD_DEFINED__ */
  84. #ifndef __IHistoryReader_FWD_DEFINED__
  85. #define __IHistoryReader_FWD_DEFINED__
  86. typedef interface IHistoryReader IHistoryReader;
  87. #endif /* __IHistoryReader_FWD_DEFINED__ */
  88. /* header files for imported files */
  89. #include "objidl.h"
  90. #include "oleidl.h"
  91. #ifdef __cplusplus
  92. extern "C"{
  93. #endif
  94. void * __RPC_USER MIDL_user_allocate(size_t);
  95. void __RPC_USER MIDL_user_free( void * );
  96. /* interface __MIDL_itf_fusion_0000 */
  97. /* [local] */
  98. //=--------------------------------------------------------------------------=
  99. // fusion.h
  100. //=--------------------------------------------------------------------------=
  101. // (C) Copyright 1995-1998 Microsoft Corporation. All Rights Reserved.
  102. //
  103. // THIS CODE AND INFORMATION IS PROVIDED "AS IS" WITHOUT WARRANTY OF
  104. // ANY KIND, EITHER EXPRESSED OR IMPLIED, INCLUDING BUT NOT LIMITED TO
  105. // THE IMPLIED WARRANTIES OF MERCHANTABILITY AND/OR FITNESS FOR A
  106. // PARTICULAR PURPOSE.
  107. //=--------------------------------------------------------------------------=
  108. #pragma comment(lib,"uuid.lib")
  109. //---------------------------------------------------------------------------=
  110. // Fusion Interfaces.
  111. #define STREAM_FORMAT_COMPLIB_MODULE 0
  112. #define STREAM_FORMAT_COMPLIB_MANIFEST 1
  113. #define STREAM_FORMAT_WIN32_MODULE 2
  114. #define STREAM_FORMAT_WIN32_MANIFEST 4
  115. EXTERN_C const IID IID_IAssemblyName;
  116. EXTERN_C const IID IID_IApplicationContext;
  117. EXTERN_C const IID IID_IAssembly;
  118. EXTERN_C const IID IID_IAssemblyBindSink;
  119. EXTERN_C const IID IID_IAssemblyBinding;
  120. EXTERN_C const IID IID_IAssemblyManifestImport;
  121. EXTERN_C const IID IID_IAssemblyModuleImport;
  122. EXTERN_C const IID IID_IAssemblyCacheItem;
  123. EXTERN_C const IID IID_IAssemblyScavenger;
  124. EXTERN_C const IID IID_IAssemblyCache;
  125. EXTERN_C const IID IID_IHistoryAssembly;
  126. EXTERN_C const IID IID_IHistoryReader;
  127. #ifndef _LPFUSION_DEFINED
  128. #define _LPFUSION_DEFINED
  129. #define IASSEMBLYCACHEITEM_COMMIT_FLAG_REFRESH (0x00000001)
  130. #define QUERYASMINFO_FLAG_VALIDATE (0x1)
  131. #define ASSEMBLYINFO_FLAG_INSTALLED (0x00000001)
  132. #define ASSEMBLYINFO_FLAG_PAYLOADRESIDENT (0x00000002)
  133. typedef struct _ASSEMBLY_INFO
  134. {
  135. ULONG cbAssemblyInfo;
  136. DWORD dwAssemblyFlags;
  137. ULARGE_INTEGER uliAssemblySizeInKB;
  138. LPWSTR pszCurrentAssemblyPathBuf;
  139. ULONG cchBuf;
  140. } ASSEMBLY_INFO;
  141. #define IASSEMBLYCACHE_UNINSTALL_DISPOSITION_UNINSTALLED (1)
  142. #define IASSEMBLYCACHE_UNINSTALL_DISPOSITION_STILL_IN_USE (2)
  143. #define IASSEMBLYCACHE_UNINSTALL_DISPOSITION_ALREADY_UNINSTALLED (3)
  144. #define IASSEMBLYCACHE_UNINSTALL_DISPOSITION_DELETE_PENDING (4)
  145. #define IASSEMBLYCACHEITEM_COMMIT_DISPOSITION_INSTALLED (1)
  146. #define IASSEMBLYCACHEITEM_COMMIT_DISPOSITION_REFRESHED (2)
  147. #define IASSEMBLYCACHEITEM_COMMIT_DISPOSITION_ALREADY_INSTALLED (3)
  148. extern RPC_IF_HANDLE __MIDL_itf_fusion_0000_v0_0_c_ifspec;
  149. extern RPC_IF_HANDLE __MIDL_itf_fusion_0000_v0_0_s_ifspec;
  150. #ifndef __IAssemblyName_INTERFACE_DEFINED__
  151. #define __IAssemblyName_INTERFACE_DEFINED__
  152. /* interface IAssemblyName */
  153. /* [unique][uuid][object][local] */
  154. typedef /* [unique] */ IAssemblyName *LPASSEMBLYNAME;
  155. typedef /* [public] */
  156. enum __MIDL_IAssemblyName_0001
  157. { ASM_NAME_PUBLIC_KEY = 0,
  158. ASM_NAME_PUBLIC_KEY_TOKEN = ASM_NAME_PUBLIC_KEY + 1,
  159. ASM_NAME_HASH_VALUE = ASM_NAME_PUBLIC_KEY_TOKEN + 1,
  160. ASM_NAME_NAME = ASM_NAME_HASH_VALUE + 1,
  161. ASM_NAME_MAJOR_VERSION = ASM_NAME_NAME + 1,
  162. ASM_NAME_MINOR_VERSION = ASM_NAME_MAJOR_VERSION + 1,
  163. ASM_NAME_BUILD_NUMBER = ASM_NAME_MINOR_VERSION + 1,
  164. ASM_NAME_REVISION_NUMBER = ASM_NAME_BUILD_NUMBER + 1,
  165. ASM_NAME_CULTURE = ASM_NAME_REVISION_NUMBER + 1,
  166. ASM_NAME_PROCESSOR_ID_ARRAY = ASM_NAME_CULTURE + 1,
  167. ASM_NAME_OSINFO_ARRAY = ASM_NAME_PROCESSOR_ID_ARRAY + 1,
  168. ASM_NAME_HASH_ALGID = ASM_NAME_OSINFO_ARRAY + 1,
  169. ASM_NAME_ALIAS = ASM_NAME_HASH_ALGID + 1,
  170. ASM_NAME_CODEBASE_URL = ASM_NAME_ALIAS + 1,
  171. ASM_NAME_CODEBASE_LASTMOD = ASM_NAME_CODEBASE_URL + 1,
  172. ASM_NAME_NULL_PUBLIC_KEY = ASM_NAME_CODEBASE_LASTMOD + 1,
  173. ASM_NAME_NULL_PUBLIC_KEY_TOKEN = ASM_NAME_NULL_PUBLIC_KEY + 1,
  174. ASM_NAME_CUSTOM = ASM_NAME_NULL_PUBLIC_KEY_TOKEN + 1,
  175. ASM_NAME_NULL_CUSTOM = ASM_NAME_CUSTOM + 1,
  176. ASM_NAME_MVID = ASM_NAME_NULL_CUSTOM + 1,
  177. ASM_NAME_32_BIT_ONLY = ASM_NAME_MVID + 1,
  178. ASM_NAME_MAX_PARAMS = ASM_NAME_32_BIT_ONLY + 1
  179. } ASM_NAME;
  180. typedef /* [public] */
  181. enum __MIDL_IAssemblyName_0002
  182. { ASM_BINDF_FORCE_CACHE_INSTALL = 0x1,
  183. ASM_BINDF_RFS_INTEGRITY_CHECK = 0x2,
  184. ASM_BINDF_RFS_MODULE_CHECK = 0x4,
  185. ASM_BINDF_BINPATH_PROBE_ONLY = 0x8,
  186. ASM_BINDF_SHARED_BINPATH_HINT = 0x10
  187. } ASM_BIND_FLAGS;
  188. typedef /* [public] */
  189. enum __MIDL_IAssemblyName_0003
  190. { ASM_DISPLAYF_VERSION = 0x1,
  191. ASM_DISPLAYF_CULTURE = 0x2,
  192. ASM_DISPLAYF_PUBLIC_KEY_TOKEN = 0x4,
  193. ASM_DISPLAYF_PUBLIC_KEY = 0x8,
  194. ASM_DISPLAYF_CUSTOM = 0x10,
  195. ASM_DISPLAYF_PROCESSORARCHITECTURE = 0x20,
  196. ASM_DISPLAYF_LANGUAGEID = 0x40
  197. } ASM_DISPLAY_FLAGS;
  198. typedef /* [public] */
  199. enum __MIDL_IAssemblyName_0004
  200. { ASM_CMPF_NAME = 0x1,
  201. ASM_CMPF_MAJOR_VERSION = 0x2,
  202. ASM_CMPF_MINOR_VERSION = 0x4,
  203. ASM_CMPF_BUILD_NUMBER = 0x8,
  204. ASM_CMPF_REVISION_NUMBER = 0x10,
  205. ASM_CMPF_PUBLIC_KEY_TOKEN = 0x20,
  206. ASM_CMPF_CULTURE = 0x40,
  207. ASM_CMPF_CUSTOM = 0x80,
  208. ASM_CMPF_ALL = ASM_CMPF_NAME | ASM_CMPF_MAJOR_VERSION | ASM_CMPF_MINOR_VERSION | ASM_CMPF_REVISION_NUMBER | ASM_CMPF_BUILD_NUMBER | ASM_CMPF_PUBLIC_KEY_TOKEN | ASM_CMPF_CULTURE | ASM_CMPF_CUSTOM,
  209. ASM_CMPF_DEFAULT = 0x100
  210. } ASM_CMP_FLAGS;
  211. EXTERN_C const IID IID_IAssemblyName;
  212. #if defined(__cplusplus) && !defined(CINTERFACE)
  213. MIDL_INTERFACE("CD193BC0-B4BC-11d2-9833-00C04FC31D2E")
  214. IAssemblyName : public IUnknown
  215. {
  216. public:
  217. virtual HRESULT STDMETHODCALLTYPE SetProperty(
  218. /* [in] */ DWORD PropertyId,
  219. /* [in] */ LPVOID pvProperty,
  220. /* [in] */ DWORD cbProperty) = 0;
  221. virtual HRESULT STDMETHODCALLTYPE GetProperty(
  222. /* [in] */ DWORD PropertyId,
  223. /* [out] */ LPVOID pvProperty,
  224. /* [out][in] */ LPDWORD pcbProperty) = 0;
  225. virtual HRESULT STDMETHODCALLTYPE Finalize( void) = 0;
  226. virtual HRESULT STDMETHODCALLTYPE GetDisplayName(
  227. /* [out] */ LPOLESTR szDisplayName,
  228. /* [out][in] */ LPDWORD pccDisplayName,
  229. /* [in] */ DWORD dwDisplayFlags) = 0;
  230. virtual HRESULT STDMETHODCALLTYPE BindToObject(
  231. /* [in] */ REFIID refIID,
  232. /* [in] */ IAssemblyBindSink *pAsmBindSink,
  233. /* [in] */ IApplicationContext *pApplicationContext,
  234. /* [in] */ LPCOLESTR szCodeBase,
  235. /* [in] */ LONGLONG llFlags,
  236. /* [in] */ LPVOID pvReserved,
  237. /* [in] */ DWORD cbReserved,
  238. /* [out] */ LPVOID *ppv) = 0;
  239. virtual HRESULT STDMETHODCALLTYPE GetName(
  240. /* [out][in] */ LPDWORD lpcwBuffer,
  241. /* [out] */ WCHAR *pwzName) = 0;
  242. virtual HRESULT STDMETHODCALLTYPE GetVersion(
  243. /* [out] */ LPDWORD pdwVersionHi,
  244. /* [out] */ LPDWORD pdwVersionLow) = 0;
  245. virtual HRESULT STDMETHODCALLTYPE IsEqual(
  246. /* [in] */ IAssemblyName *pName,
  247. /* [in] */ DWORD dwCmpFlags) = 0;
  248. virtual HRESULT STDMETHODCALLTYPE Clone(
  249. /* [out] */ IAssemblyName **pName) = 0;
  250. };
  251. #else /* C style interface */
  252. typedef struct IAssemblyNameVtbl
  253. {
  254. BEGIN_INTERFACE
  255. HRESULT ( STDMETHODCALLTYPE *QueryInterface )(
  256. IAssemblyName * This,
  257. /* [in] */ REFIID riid,
  258. /* [iid_is][out] */ void **ppvObject);
  259. ULONG ( STDMETHODCALLTYPE *AddRef )(
  260. IAssemblyName * This);
  261. ULONG ( STDMETHODCALLTYPE *Release )(
  262. IAssemblyName * This);
  263. HRESULT ( STDMETHODCALLTYPE *SetProperty )(
  264. IAssemblyName * This,
  265. /* [in] */ DWORD PropertyId,
  266. /* [in] */ LPVOID pvProperty,
  267. /* [in] */ DWORD cbProperty);
  268. HRESULT ( STDMETHODCALLTYPE *GetProperty )(
  269. IAssemblyName * This,
  270. /* [in] */ DWORD PropertyId,
  271. /* [out] */ LPVOID pvProperty,
  272. /* [out][in] */ LPDWORD pcbProperty);
  273. HRESULT ( STDMETHODCALLTYPE *Finalize )(
  274. IAssemblyName * This);
  275. HRESULT ( STDMETHODCALLTYPE *GetDisplayName )(
  276. IAssemblyName * This,
  277. /* [out] */ LPOLESTR szDisplayName,
  278. /* [out][in] */ LPDWORD pccDisplayName,
  279. /* [in] */ DWORD dwDisplayFlags);
  280. HRESULT ( STDMETHODCALLTYPE *BindToObject )(
  281. IAssemblyName * This,
  282. /* [in] */ REFIID refIID,
  283. /* [in] */ IAssemblyBindSink *pAsmBindSink,
  284. /* [in] */ IApplicationContext *pApplicationContext,
  285. /* [in] */ LPCOLESTR szCodeBase,
  286. /* [in] */ LONGLONG llFlags,
  287. /* [in] */ LPVOID pvReserved,
  288. /* [in] */ DWORD cbReserved,
  289. /* [out] */ LPVOID *ppv);
  290. HRESULT ( STDMETHODCALLTYPE *GetName )(
  291. IAssemblyName * This,
  292. /* [out][in] */ LPDWORD lpcwBuffer,
  293. /* [out] */ WCHAR *pwzName);
  294. HRESULT ( STDMETHODCALLTYPE *GetVersion )(
  295. IAssemblyName * This,
  296. /* [out] */ LPDWORD pdwVersionHi,
  297. /* [out] */ LPDWORD pdwVersionLow);
  298. HRESULT ( STDMETHODCALLTYPE *IsEqual )(
  299. IAssemblyName * This,
  300. /* [in] */ IAssemblyName *pName,
  301. /* [in] */ DWORD dwCmpFlags);
  302. HRESULT ( STDMETHODCALLTYPE *Clone )(
  303. IAssemblyName * This,
  304. /* [out] */ IAssemblyName **pName);
  305. END_INTERFACE
  306. } IAssemblyNameVtbl;
  307. interface IAssemblyName
  308. {
  309. CONST_VTBL struct IAssemblyNameVtbl *lpVtbl;
  310. };
  311. #ifdef COBJMACROS
  312. #define IAssemblyName_QueryInterface(This,riid,ppvObject) \
  313. (This)->lpVtbl -> QueryInterface(This,riid,ppvObject)
  314. #define IAssemblyName_AddRef(This) \
  315. (This)->lpVtbl -> AddRef(This)
  316. #define IAssemblyName_Release(This) \
  317. (This)->lpVtbl -> Release(This)
  318. #define IAssemblyName_SetProperty(This,PropertyId,pvProperty,cbProperty) \
  319. (This)->lpVtbl -> SetProperty(This,PropertyId,pvProperty,cbProperty)
  320. #define IAssemblyName_GetProperty(This,PropertyId,pvProperty,pcbProperty) \
  321. (This)->lpVtbl -> GetProperty(This,PropertyId,pvProperty,pcbProperty)
  322. #define IAssemblyName_Finalize(This) \
  323. (This)->lpVtbl -> Finalize(This)
  324. #define IAssemblyName_GetDisplayName(This,szDisplayName,pccDisplayName,dwDisplayFlags) \
  325. (This)->lpVtbl -> GetDisplayName(This,szDisplayName,pccDisplayName,dwDisplayFlags)
  326. #define IAssemblyName_BindToObject(This,refIID,pAsmBindSink,pApplicationContext,szCodeBase,llFlags,pvReserved,cbReserved,ppv) \
  327. (This)->lpVtbl -> BindToObject(This,refIID,pAsmBindSink,pApplicationContext,szCodeBase,llFlags,pvReserved,cbReserved,ppv)
  328. #define IAssemblyName_GetName(This,lpcwBuffer,pwzName) \
  329. (This)->lpVtbl -> GetName(This,lpcwBuffer,pwzName)
  330. #define IAssemblyName_GetVersion(This,pdwVersionHi,pdwVersionLow) \
  331. (This)->lpVtbl -> GetVersion(This,pdwVersionHi,pdwVersionLow)
  332. #define IAssemblyName_IsEqual(This,pName,dwCmpFlags) \
  333. (This)->lpVtbl -> IsEqual(This,pName,dwCmpFlags)
  334. #define IAssemblyName_Clone(This,pName) \
  335. (This)->lpVtbl -> Clone(This,pName)
  336. #endif /* COBJMACROS */
  337. #endif /* C style interface */
  338. HRESULT STDMETHODCALLTYPE IAssemblyName_SetProperty_Proxy(
  339. IAssemblyName * This,
  340. /* [in] */ DWORD PropertyId,
  341. /* [in] */ LPVOID pvProperty,
  342. /* [in] */ DWORD cbProperty);
  343. void __RPC_STUB IAssemblyName_SetProperty_Stub(
  344. IRpcStubBuffer *This,
  345. IRpcChannelBuffer *_pRpcChannelBuffer,
  346. PRPC_MESSAGE _pRpcMessage,
  347. DWORD *_pdwStubPhase);
  348. HRESULT STDMETHODCALLTYPE IAssemblyName_GetProperty_Proxy(
  349. IAssemblyName * This,
  350. /* [in] */ DWORD PropertyId,
  351. /* [out] */ LPVOID pvProperty,
  352. /* [out][in] */ LPDWORD pcbProperty);
  353. void __RPC_STUB IAssemblyName_GetProperty_Stub(
  354. IRpcStubBuffer *This,
  355. IRpcChannelBuffer *_pRpcChannelBuffer,
  356. PRPC_MESSAGE _pRpcMessage,
  357. DWORD *_pdwStubPhase);
  358. HRESULT STDMETHODCALLTYPE IAssemblyName_Finalize_Proxy(
  359. IAssemblyName * This);
  360. void __RPC_STUB IAssemblyName_Finalize_Stub(
  361. IRpcStubBuffer *This,
  362. IRpcChannelBuffer *_pRpcChannelBuffer,
  363. PRPC_MESSAGE _pRpcMessage,
  364. DWORD *_pdwStubPhase);
  365. HRESULT STDMETHODCALLTYPE IAssemblyName_GetDisplayName_Proxy(
  366. IAssemblyName * This,
  367. /* [out] */ LPOLESTR szDisplayName,
  368. /* [out][in] */ LPDWORD pccDisplayName,
  369. /* [in] */ DWORD dwDisplayFlags);
  370. void __RPC_STUB IAssemblyName_GetDisplayName_Stub(
  371. IRpcStubBuffer *This,
  372. IRpcChannelBuffer *_pRpcChannelBuffer,
  373. PRPC_MESSAGE _pRpcMessage,
  374. DWORD *_pdwStubPhase);
  375. HRESULT STDMETHODCALLTYPE IAssemblyName_BindToObject_Proxy(
  376. IAssemblyName * This,
  377. /* [in] */ REFIID refIID,
  378. /* [in] */ IAssemblyBindSink *pAsmBindSink,
  379. /* [in] */ IApplicationContext *pApplicationContext,
  380. /* [in] */ LPCOLESTR szCodeBase,
  381. /* [in] */ LONGLONG llFlags,
  382. /* [in] */ LPVOID pvReserved,
  383. /* [in] */ DWORD cbReserved,
  384. /* [out] */ LPVOID *ppv);
  385. void __RPC_STUB IAssemblyName_BindToObject_Stub(
  386. IRpcStubBuffer *This,
  387. IRpcChannelBuffer *_pRpcChannelBuffer,
  388. PRPC_MESSAGE _pRpcMessage,
  389. DWORD *_pdwStubPhase);
  390. HRESULT STDMETHODCALLTYPE IAssemblyName_GetName_Proxy(
  391. IAssemblyName * This,
  392. /* [out][in] */ LPDWORD lpcwBuffer,
  393. /* [out] */ WCHAR *pwzName);
  394. void __RPC_STUB IAssemblyName_GetName_Stub(
  395. IRpcStubBuffer *This,
  396. IRpcChannelBuffer *_pRpcChannelBuffer,
  397. PRPC_MESSAGE _pRpcMessage,
  398. DWORD *_pdwStubPhase);
  399. HRESULT STDMETHODCALLTYPE IAssemblyName_GetVersion_Proxy(
  400. IAssemblyName * This,
  401. /* [out] */ LPDWORD pdwVersionHi,
  402. /* [out] */ LPDWORD pdwVersionLow);
  403. void __RPC_STUB IAssemblyName_GetVersion_Stub(
  404. IRpcStubBuffer *This,
  405. IRpcChannelBuffer *_pRpcChannelBuffer,
  406. PRPC_MESSAGE _pRpcMessage,
  407. DWORD *_pdwStubPhase);
  408. HRESULT STDMETHODCALLTYPE IAssemblyName_IsEqual_Proxy(
  409. IAssemblyName * This,
  410. /* [in] */ IAssemblyName *pName,
  411. /* [in] */ DWORD dwCmpFlags);
  412. void __RPC_STUB IAssemblyName_IsEqual_Stub(
  413. IRpcStubBuffer *This,
  414. IRpcChannelBuffer *_pRpcChannelBuffer,
  415. PRPC_MESSAGE _pRpcMessage,
  416. DWORD *_pdwStubPhase);
  417. HRESULT STDMETHODCALLTYPE IAssemblyName_Clone_Proxy(
  418. IAssemblyName * This,
  419. /* [out] */ IAssemblyName **pName);
  420. void __RPC_STUB IAssemblyName_Clone_Stub(
  421. IRpcStubBuffer *This,
  422. IRpcChannelBuffer *_pRpcChannelBuffer,
  423. PRPC_MESSAGE _pRpcMessage,
  424. DWORD *_pdwStubPhase);
  425. #endif /* __IAssemblyName_INTERFACE_DEFINED__ */
  426. #ifndef __IApplicationContext_INTERFACE_DEFINED__
  427. #define __IApplicationContext_INTERFACE_DEFINED__
  428. /* interface IApplicationContext */
  429. /* [unique][uuid][object][local] */
  430. // App context configuration variables
  431. #define ACTAG_APP_BASE_URL L"APPBASE"
  432. #define ACTAG_MACHINE_CONFIG L"MACHINE_CONFIG"
  433. #define ACTAG_APP_PRIVATE_BINPATH L"PRIVATE_BINPATH"
  434. #define ACTAG_APP_SHARED_BINPATH L"SHARED_BINPATH"
  435. #define ACTAG_APP_SNAPSHOT_ID L"SNAPSHOT_ID"
  436. #define ACTAG_APP_CONFIG_FILE L"APP_CONFIG_FILE"
  437. #define ACTAG_APP_ID L"APPLICATION_ID"
  438. #define ACTAG_APP_SHADOW_COPY_DIRS L"SHADOW_COPY_DIRS"
  439. #define ACTAG_APP_DYNAMIC_BASE L"DYNAMIC_BASE"
  440. #define ACTAG_APP_CACHE_BASE L"CACHE_BASE"
  441. #define ACTAG_APP_NAME L"APP_NAME"
  442. #define ACTAG_DEV_PATH L"DEV_PATH"
  443. // App context flag overrides
  444. #define ACTAG_FORCE_CACHE_INSTALL L"FORCE_CACHE_INSTALL"
  445. #define ACTAG_RFS_INTEGRITY_CHECK L"RFS_INTEGRITY_CHECK"
  446. #define ACTAG_RFS_MODULE_CHECK L"RFS_MODULE_CHECK"
  447. #define ACTAG_BINPATH_PROBE_ONLY L"BINPATH_PROBE_ONLY"
  448. typedef /* [unique] */ IApplicationContext *LPAPPLICATIONCONTEXT;
  449. typedef /* [public] */
  450. enum __MIDL_IApplicationContext_0001
  451. { APP_CTX_FLAGS_INTERFACE = 0x1
  452. } APP_FLAGS;
  453. EXTERN_C const IID IID_IApplicationContext;
  454. #if defined(__cplusplus) && !defined(CINTERFACE)
  455. MIDL_INTERFACE("7c23ff90-33af-11d3-95da-00a024a85b51")
  456. IApplicationContext : public IUnknown
  457. {
  458. public:
  459. virtual HRESULT STDMETHODCALLTYPE SetContextNameObject(
  460. /* [in] */ LPASSEMBLYNAME pName) = 0;
  461. virtual HRESULT STDMETHODCALLTYPE GetContextNameObject(
  462. /* [out] */ LPASSEMBLYNAME *ppName) = 0;
  463. virtual HRESULT STDMETHODCALLTYPE Set(
  464. /* [in] */ LPCOLESTR szName,
  465. /* [in] */ LPVOID pvValue,
  466. /* [in] */ DWORD cbValue,
  467. /* [in] */ DWORD dwFlags) = 0;
  468. virtual HRESULT STDMETHODCALLTYPE Get(
  469. /* [in] */ LPCOLESTR szName,
  470. /* [out] */ LPVOID pvValue,
  471. /* [out][in] */ LPDWORD pcbValue,
  472. /* [in] */ DWORD dwFlags) = 0;
  473. virtual HRESULT STDMETHODCALLTYPE GetDynamicDirectory(
  474. /* [out] */ LPWSTR wzDynamicDir,
  475. /* [out][in] */ LPDWORD pdwSize) = 0;
  476. virtual HRESULT STDMETHODCALLTYPE GetAppCacheDirectory(
  477. /* [out] */ LPWSTR wzAppCacheDir,
  478. /* [out][in] */ LPDWORD pdwSize) = 0;
  479. };
  480. #else /* C style interface */
  481. typedef struct IApplicationContextVtbl
  482. {
  483. BEGIN_INTERFACE
  484. HRESULT ( STDMETHODCALLTYPE *QueryInterface )(
  485. IApplicationContext * This,
  486. /* [in] */ REFIID riid,
  487. /* [iid_is][out] */ void **ppvObject);
  488. ULONG ( STDMETHODCALLTYPE *AddRef )(
  489. IApplicationContext * This);
  490. ULONG ( STDMETHODCALLTYPE *Release )(
  491. IApplicationContext * This);
  492. HRESULT ( STDMETHODCALLTYPE *SetContextNameObject )(
  493. IApplicationContext * This,
  494. /* [in] */ LPASSEMBLYNAME pName);
  495. HRESULT ( STDMETHODCALLTYPE *GetContextNameObject )(
  496. IApplicationContext * This,
  497. /* [out] */ LPASSEMBLYNAME *ppName);
  498. HRESULT ( STDMETHODCALLTYPE *Set )(
  499. IApplicationContext * This,
  500. /* [in] */ LPCOLESTR szName,
  501. /* [in] */ LPVOID pvValue,
  502. /* [in] */ DWORD cbValue,
  503. /* [in] */ DWORD dwFlags);
  504. HRESULT ( STDMETHODCALLTYPE *Get )(
  505. IApplicationContext * This,
  506. /* [in] */ LPCOLESTR szName,
  507. /* [out] */ LPVOID pvValue,
  508. /* [out][in] */ LPDWORD pcbValue,
  509. /* [in] */ DWORD dwFlags);
  510. HRESULT ( STDMETHODCALLTYPE *GetDynamicDirectory )(
  511. IApplicationContext * This,
  512. /* [out] */ LPWSTR wzDynamicDir,
  513. /* [out][in] */ LPDWORD pdwSize);
  514. HRESULT ( STDMETHODCALLTYPE *GetAppCacheDirectory )(
  515. IApplicationContext * This,
  516. /* [out] */ LPWSTR wzAppCacheDir,
  517. /* [out][in] */ LPDWORD pdwSize);
  518. END_INTERFACE
  519. } IApplicationContextVtbl;
  520. interface IApplicationContext
  521. {
  522. CONST_VTBL struct IApplicationContextVtbl *lpVtbl;
  523. };
  524. #ifdef COBJMACROS
  525. #define IApplicationContext_QueryInterface(This,riid,ppvObject) \
  526. (This)->lpVtbl -> QueryInterface(This,riid,ppvObject)
  527. #define IApplicationContext_AddRef(This) \
  528. (This)->lpVtbl -> AddRef(This)
  529. #define IApplicationContext_Release(This) \
  530. (This)->lpVtbl -> Release(This)
  531. #define IApplicationContext_SetContextNameObject(This,pName) \
  532. (This)->lpVtbl -> SetContextNameObject(This,pName)
  533. #define IApplicationContext_GetContextNameObject(This,ppName) \
  534. (This)->lpVtbl -> GetContextNameObject(This,ppName)
  535. #define IApplicationContext_Set(This,szName,pvValue,cbValue,dwFlags) \
  536. (This)->lpVtbl -> Set(This,szName,pvValue,cbValue,dwFlags)
  537. #define IApplicationContext_Get(This,szName,pvValue,pcbValue,dwFlags) \
  538. (This)->lpVtbl -> Get(This,szName,pvValue,pcbValue,dwFlags)
  539. #define IApplicationContext_GetDynamicDirectory(This,wzDynamicDir,pdwSize) \
  540. (This)->lpVtbl -> GetDynamicDirectory(This,wzDynamicDir,pdwSize)
  541. #define IApplicationContext_GetAppCacheDirectory(This,wzAppCacheDir,pdwSize) \
  542. (This)->lpVtbl -> GetAppCacheDirectory(This,wzAppCacheDir,pdwSize)
  543. #endif /* COBJMACROS */
  544. #endif /* C style interface */
  545. HRESULT STDMETHODCALLTYPE IApplicationContext_SetContextNameObject_Proxy(
  546. IApplicationContext * This,
  547. /* [in] */ LPASSEMBLYNAME pName);
  548. void __RPC_STUB IApplicationContext_SetContextNameObject_Stub(
  549. IRpcStubBuffer *This,
  550. IRpcChannelBuffer *_pRpcChannelBuffer,
  551. PRPC_MESSAGE _pRpcMessage,
  552. DWORD *_pdwStubPhase);
  553. HRESULT STDMETHODCALLTYPE IApplicationContext_GetContextNameObject_Proxy(
  554. IApplicationContext * This,
  555. /* [out] */ LPASSEMBLYNAME *ppName);
  556. void __RPC_STUB IApplicationContext_GetContextNameObject_Stub(
  557. IRpcStubBuffer *This,
  558. IRpcChannelBuffer *_pRpcChannelBuffer,
  559. PRPC_MESSAGE _pRpcMessage,
  560. DWORD *_pdwStubPhase);
  561. HRESULT STDMETHODCALLTYPE IApplicationContext_Set_Proxy(
  562. IApplicationContext * This,
  563. /* [in] */ LPCOLESTR szName,
  564. /* [in] */ LPVOID pvValue,
  565. /* [in] */ DWORD cbValue,
  566. /* [in] */ DWORD dwFlags);
  567. void __RPC_STUB IApplicationContext_Set_Stub(
  568. IRpcStubBuffer *This,
  569. IRpcChannelBuffer *_pRpcChannelBuffer,
  570. PRPC_MESSAGE _pRpcMessage,
  571. DWORD *_pdwStubPhase);
  572. HRESULT STDMETHODCALLTYPE IApplicationContext_Get_Proxy(
  573. IApplicationContext * This,
  574. /* [in] */ LPCOLESTR szName,
  575. /* [out] */ LPVOID pvValue,
  576. /* [out][in] */ LPDWORD pcbValue,
  577. /* [in] */ DWORD dwFlags);
  578. void __RPC_STUB IApplicationContext_Get_Stub(
  579. IRpcStubBuffer *This,
  580. IRpcChannelBuffer *_pRpcChannelBuffer,
  581. PRPC_MESSAGE _pRpcMessage,
  582. DWORD *_pdwStubPhase);
  583. HRESULT STDMETHODCALLTYPE IApplicationContext_GetDynamicDirectory_Proxy(
  584. IApplicationContext * This,
  585. /* [out] */ LPWSTR wzDynamicDir,
  586. /* [out][in] */ LPDWORD pdwSize);
  587. void __RPC_STUB IApplicationContext_GetDynamicDirectory_Stub(
  588. IRpcStubBuffer *This,
  589. IRpcChannelBuffer *_pRpcChannelBuffer,
  590. PRPC_MESSAGE _pRpcMessage,
  591. DWORD *_pdwStubPhase);
  592. HRESULT STDMETHODCALLTYPE IApplicationContext_GetAppCacheDirectory_Proxy(
  593. IApplicationContext * This,
  594. /* [out] */ LPWSTR wzAppCacheDir,
  595. /* [out][in] */ LPDWORD pdwSize);
  596. void __RPC_STUB IApplicationContext_GetAppCacheDirectory_Stub(
  597. IRpcStubBuffer *This,
  598. IRpcChannelBuffer *_pRpcChannelBuffer,
  599. PRPC_MESSAGE _pRpcMessage,
  600. DWORD *_pdwStubPhase);
  601. #endif /* __IApplicationContext_INTERFACE_DEFINED__ */
  602. #ifndef __IAssembly_INTERFACE_DEFINED__
  603. #define __IAssembly_INTERFACE_DEFINED__
  604. /* interface IAssembly */
  605. /* [unique][uuid][object][local] */
  606. typedef /* [unique] */ IAssembly *LPASSEMBLY;
  607. typedef /* [public][public] */
  608. enum __MIDL_IAssembly_0001
  609. { ASMLOC_UNKNOWN = 0,
  610. ASMLOC_GAC = ASMLOC_UNKNOWN + 1,
  611. ASMLOC_DOWNLOAD_CACHE = ASMLOC_GAC + 1,
  612. ASMLOC_RUN_FROM_SOURCE = ASMLOC_DOWNLOAD_CACHE + 1
  613. } ASM_LOCATION;
  614. EXTERN_C const IID IID_IAssembly;
  615. #if defined(__cplusplus) && !defined(CINTERFACE)
  616. MIDL_INTERFACE("ff08d7d4-04c2-11d3-94aa-00c04fc308ff")
  617. IAssembly : public IUnknown
  618. {
  619. public:
  620. virtual HRESULT STDMETHODCALLTYPE GetAssemblyNameDef(
  621. /* [out] */ IAssemblyName **ppAssemblyName) = 0;
  622. virtual HRESULT STDMETHODCALLTYPE GetNextAssemblyNameRef(
  623. /* [in] */ DWORD nIndex,
  624. /* [out] */ IAssemblyName **ppAssemblyName) = 0;
  625. virtual HRESULT STDMETHODCALLTYPE GetNextAssemblyModule(
  626. /* [in] */ DWORD nIndex,
  627. /* [out] */ IAssemblyModuleImport **ppModImport) = 0;
  628. virtual HRESULT STDMETHODCALLTYPE GetModuleByName(
  629. /* [in] */ LPCOLESTR szModuleName,
  630. /* [out] */ IAssemblyModuleImport **ppModImport) = 0;
  631. virtual HRESULT STDMETHODCALLTYPE GetManifestModulePath(
  632. /* [size_is][out] */ LPOLESTR szModulePath,
  633. /* [out][in] */ LPDWORD pccModulePath) = 0;
  634. virtual HRESULT STDMETHODCALLTYPE GetAssemblyPath(
  635. /* [size_is][out] */ LPOLESTR pStr,
  636. /* [out][in] */ LPDWORD lpcwBuffer) = 0;
  637. virtual HRESULT STDMETHODCALLTYPE GetAssemblyLocation(
  638. /* [out] */ ASM_LOCATION *pAsmLocation) = 0;
  639. };
  640. #else /* C style interface */
  641. typedef struct IAssemblyVtbl
  642. {
  643. BEGIN_INTERFACE
  644. HRESULT ( STDMETHODCALLTYPE *QueryInterface )(
  645. IAssembly * This,
  646. /* [in] */ REFIID riid,
  647. /* [iid_is][out] */ void **ppvObject);
  648. ULONG ( STDMETHODCALLTYPE *AddRef )(
  649. IAssembly * This);
  650. ULONG ( STDMETHODCALLTYPE *Release )(
  651. IAssembly * This);
  652. HRESULT ( STDMETHODCALLTYPE *GetAssemblyNameDef )(
  653. IAssembly * This,
  654. /* [out] */ IAssemblyName **ppAssemblyName);
  655. HRESULT ( STDMETHODCALLTYPE *GetNextAssemblyNameRef )(
  656. IAssembly * This,
  657. /* [in] */ DWORD nIndex,
  658. /* [out] */ IAssemblyName **ppAssemblyName);
  659. HRESULT ( STDMETHODCALLTYPE *GetNextAssemblyModule )(
  660. IAssembly * This,
  661. /* [in] */ DWORD nIndex,
  662. /* [out] */ IAssemblyModuleImport **ppModImport);
  663. HRESULT ( STDMETHODCALLTYPE *GetModuleByName )(
  664. IAssembly * This,
  665. /* [in] */ LPCOLESTR szModuleName,
  666. /* [out] */ IAssemblyModuleImport **ppModImport);
  667. HRESULT ( STDMETHODCALLTYPE *GetManifestModulePath )(
  668. IAssembly * This,
  669. /* [size_is][out] */ LPOLESTR szModulePath,
  670. /* [out][in] */ LPDWORD pccModulePath);
  671. HRESULT ( STDMETHODCALLTYPE *GetAssemblyPath )(
  672. IAssembly * This,
  673. /* [size_is][out] */ LPOLESTR pStr,
  674. /* [out][in] */ LPDWORD lpcwBuffer);
  675. HRESULT ( STDMETHODCALLTYPE *GetAssemblyLocation )(
  676. IAssembly * This,
  677. /* [out] */ ASM_LOCATION *pAsmLocation);
  678. END_INTERFACE
  679. } IAssemblyVtbl;
  680. interface IAssembly
  681. {
  682. CONST_VTBL struct IAssemblyVtbl *lpVtbl;
  683. };
  684. #ifdef COBJMACROS
  685. #define IAssembly_QueryInterface(This,riid,ppvObject) \
  686. (This)->lpVtbl -> QueryInterface(This,riid,ppvObject)
  687. #define IAssembly_AddRef(This) \
  688. (This)->lpVtbl -> AddRef(This)
  689. #define IAssembly_Release(This) \
  690. (This)->lpVtbl -> Release(This)
  691. #define IAssembly_GetAssemblyNameDef(This,ppAssemblyName) \
  692. (This)->lpVtbl -> GetAssemblyNameDef(This,ppAssemblyName)
  693. #define IAssembly_GetNextAssemblyNameRef(This,nIndex,ppAssemblyName) \
  694. (This)->lpVtbl -> GetNextAssemblyNameRef(This,nIndex,ppAssemblyName)
  695. #define IAssembly_GetNextAssemblyModule(This,nIndex,ppModImport) \
  696. (This)->lpVtbl -> GetNextAssemblyModule(This,nIndex,ppModImport)
  697. #define IAssembly_GetModuleByName(This,szModuleName,ppModImport) \
  698. (This)->lpVtbl -> GetModuleByName(This,szModuleName,ppModImport)
  699. #define IAssembly_GetManifestModulePath(This,szModulePath,pccModulePath) \
  700. (This)->lpVtbl -> GetManifestModulePath(This,szModulePath,pccModulePath)
  701. #define IAssembly_GetAssemblyPath(This,pStr,lpcwBuffer) \
  702. (This)->lpVtbl -> GetAssemblyPath(This,pStr,lpcwBuffer)
  703. #define IAssembly_GetAssemblyLocation(This,pAsmLocation) \
  704. (This)->lpVtbl -> GetAssemblyLocation(This,pAsmLocation)
  705. #endif /* COBJMACROS */
  706. #endif /* C style interface */
  707. HRESULT STDMETHODCALLTYPE IAssembly_GetAssemblyNameDef_Proxy(
  708. IAssembly * This,
  709. /* [out] */ IAssemblyName **ppAssemblyName);
  710. void __RPC_STUB IAssembly_GetAssemblyNameDef_Stub(
  711. IRpcStubBuffer *This,
  712. IRpcChannelBuffer *_pRpcChannelBuffer,
  713. PRPC_MESSAGE _pRpcMessage,
  714. DWORD *_pdwStubPhase);
  715. HRESULT STDMETHODCALLTYPE IAssembly_GetNextAssemblyNameRef_Proxy(
  716. IAssembly * This,
  717. /* [in] */ DWORD nIndex,
  718. /* [out] */ IAssemblyName **ppAssemblyName);
  719. void __RPC_STUB IAssembly_GetNextAssemblyNameRef_Stub(
  720. IRpcStubBuffer *This,
  721. IRpcChannelBuffer *_pRpcChannelBuffer,
  722. PRPC_MESSAGE _pRpcMessage,
  723. DWORD *_pdwStubPhase);
  724. HRESULT STDMETHODCALLTYPE IAssembly_GetNextAssemblyModule_Proxy(
  725. IAssembly * This,
  726. /* [in] */ DWORD nIndex,
  727. /* [out] */ IAssemblyModuleImport **ppModImport);
  728. void __RPC_STUB IAssembly_GetNextAssemblyModule_Stub(
  729. IRpcStubBuffer *This,
  730. IRpcChannelBuffer *_pRpcChannelBuffer,
  731. PRPC_MESSAGE _pRpcMessage,
  732. DWORD *_pdwStubPhase);
  733. HRESULT STDMETHODCALLTYPE IAssembly_GetModuleByName_Proxy(
  734. IAssembly * This,
  735. /* [in] */ LPCOLESTR szModuleName,
  736. /* [out] */ IAssemblyModuleImport **ppModImport);
  737. void __RPC_STUB IAssembly_GetModuleByName_Stub(
  738. IRpcStubBuffer *This,
  739. IRpcChannelBuffer *_pRpcChannelBuffer,
  740. PRPC_MESSAGE _pRpcMessage,
  741. DWORD *_pdwStubPhase);
  742. HRESULT STDMETHODCALLTYPE IAssembly_GetManifestModulePath_Proxy(
  743. IAssembly * This,
  744. /* [size_is][out] */ LPOLESTR szModulePath,
  745. /* [out][in] */ LPDWORD pccModulePath);
  746. void __RPC_STUB IAssembly_GetManifestModulePath_Stub(
  747. IRpcStubBuffer *This,
  748. IRpcChannelBuffer *_pRpcChannelBuffer,
  749. PRPC_MESSAGE _pRpcMessage,
  750. DWORD *_pdwStubPhase);
  751. HRESULT STDMETHODCALLTYPE IAssembly_GetAssemblyPath_Proxy(
  752. IAssembly * This,
  753. /* [size_is][out] */ LPOLESTR pStr,
  754. /* [out][in] */ LPDWORD lpcwBuffer);
  755. void __RPC_STUB IAssembly_GetAssemblyPath_Stub(
  756. IRpcStubBuffer *This,
  757. IRpcChannelBuffer *_pRpcChannelBuffer,
  758. PRPC_MESSAGE _pRpcMessage,
  759. DWORD *_pdwStubPhase);
  760. HRESULT STDMETHODCALLTYPE IAssembly_GetAssemblyLocation_Proxy(
  761. IAssembly * This,
  762. /* [out] */ ASM_LOCATION *pAsmLocation);
  763. void __RPC_STUB IAssembly_GetAssemblyLocation_Stub(
  764. IRpcStubBuffer *This,
  765. IRpcChannelBuffer *_pRpcChannelBuffer,
  766. PRPC_MESSAGE _pRpcMessage,
  767. DWORD *_pdwStubPhase);
  768. #endif /* __IAssembly_INTERFACE_DEFINED__ */
  769. #ifndef __IAssemblyBindSink_INTERFACE_DEFINED__
  770. #define __IAssemblyBindSink_INTERFACE_DEFINED__
  771. /* interface IAssemblyBindSink */
  772. /* [unique][uuid][object][local] */
  773. typedef /* [unique] */ IAssemblyBindSink *LPASSEMBLY_BIND_SINK;
  774. typedef /* [public] */
  775. enum __MIDL_IAssemblyBindSink_0001
  776. { ASM_NOTIFICATION_START = 0,
  777. ASM_NOTIFICATION_PROGRESS = ASM_NOTIFICATION_START + 1,
  778. ASM_NOTIFICATION_SUSPEND = ASM_NOTIFICATION_PROGRESS + 1,
  779. ASM_NOTIFICATION_ATTEMPT_NEXT_CODEBASE = ASM_NOTIFICATION_SUSPEND + 1,
  780. ASM_NOTIFICATION_BIND_LOG = ASM_NOTIFICATION_ATTEMPT_NEXT_CODEBASE + 1,
  781. ASM_NOTIFICATION_DONE = ASM_NOTIFICATION_BIND_LOG + 1
  782. } ASM_NOTIFICATION;
  783. EXTERN_C const IID IID_IAssemblyBindSink;
  784. #if defined(__cplusplus) && !defined(CINTERFACE)
  785. MIDL_INTERFACE("af0bc960-0b9a-11d3-95ca-00a024a85b51")
  786. IAssemblyBindSink : public IUnknown
  787. {
  788. public:
  789. virtual HRESULT STDMETHODCALLTYPE OnProgress(
  790. /* [in] */ DWORD dwNotification,
  791. /* [in] */ HRESULT hrNotification,
  792. /* [in] */ LPCWSTR szNotification,
  793. /* [in] */ DWORD dwProgress,
  794. /* [in] */ DWORD dwProgressMax,
  795. /* [in] */ IUnknown *pUnk) = 0;
  796. };
  797. #else /* C style interface */
  798. typedef struct IAssemblyBindSinkVtbl
  799. {
  800. BEGIN_INTERFACE
  801. HRESULT ( STDMETHODCALLTYPE *QueryInterface )(
  802. IAssemblyBindSink * This,
  803. /* [in] */ REFIID riid,
  804. /* [iid_is][out] */ void **ppvObject);
  805. ULONG ( STDMETHODCALLTYPE *AddRef )(
  806. IAssemblyBindSink * This);
  807. ULONG ( STDMETHODCALLTYPE *Release )(
  808. IAssemblyBindSink * This);
  809. HRESULT ( STDMETHODCALLTYPE *OnProgress )(
  810. IAssemblyBindSink * This,
  811. /* [in] */ DWORD dwNotification,
  812. /* [in] */ HRESULT hrNotification,
  813. /* [in] */ LPCWSTR szNotification,
  814. /* [in] */ DWORD dwProgress,
  815. /* [in] */ DWORD dwProgressMax,
  816. /* [in] */ IUnknown *pUnk);
  817. END_INTERFACE
  818. } IAssemblyBindSinkVtbl;
  819. interface IAssemblyBindSink
  820. {
  821. CONST_VTBL struct IAssemblyBindSinkVtbl *lpVtbl;
  822. };
  823. #ifdef COBJMACROS
  824. #define IAssemblyBindSink_QueryInterface(This,riid,ppvObject) \
  825. (This)->lpVtbl -> QueryInterface(This,riid,ppvObject)
  826. #define IAssemblyBindSink_AddRef(This) \
  827. (This)->lpVtbl -> AddRef(This)
  828. #define IAssemblyBindSink_Release(This) \
  829. (This)->lpVtbl -> Release(This)
  830. #define IAssemblyBindSink_OnProgress(This,dwNotification,hrNotification,szNotification,dwProgress,dwProgressMax,pUnk) \
  831. (This)->lpVtbl -> OnProgress(This,dwNotification,hrNotification,szNotification,dwProgress,dwProgressMax,pUnk)
  832. #endif /* COBJMACROS */
  833. #endif /* C style interface */
  834. HRESULT STDMETHODCALLTYPE IAssemblyBindSink_OnProgress_Proxy(
  835. IAssemblyBindSink * This,
  836. /* [in] */ DWORD dwNotification,
  837. /* [in] */ HRESULT hrNotification,
  838. /* [in] */ LPCWSTR szNotification,
  839. /* [in] */ DWORD dwProgress,
  840. /* [in] */ DWORD dwProgressMax,
  841. /* [in] */ IUnknown *pUnk);
  842. void __RPC_STUB IAssemblyBindSink_OnProgress_Stub(
  843. IRpcStubBuffer *This,
  844. IRpcChannelBuffer *_pRpcChannelBuffer,
  845. PRPC_MESSAGE _pRpcMessage,
  846. DWORD *_pdwStubPhase);
  847. #endif /* __IAssemblyBindSink_INTERFACE_DEFINED__ */
  848. #ifndef __IAssemblyBinding_INTERFACE_DEFINED__
  849. #define __IAssemblyBinding_INTERFACE_DEFINED__
  850. /* interface IAssemblyBinding */
  851. /* [unique][uuid][object][local] */
  852. typedef /* [unique] */ IAssemblyBinding *LPASSEMBLY_BINDINDING;
  853. EXTERN_C const IID IID_IAssemblyBinding;
  854. #if defined(__cplusplus) && !defined(CINTERFACE)
  855. MIDL_INTERFACE("cfe52a80-12bd-11d3-95ca-00a024a85b51")
  856. IAssemblyBinding : public IUnknown
  857. {
  858. public:
  859. virtual HRESULT STDMETHODCALLTYPE Control(
  860. /* [in] */ HRESULT hrControl) = 0;
  861. virtual HRESULT STDMETHODCALLTYPE DoDefaultUI(
  862. /* [in] */ HWND hWnd,
  863. /* [in] */ DWORD dwFlags) = 0;
  864. };
  865. #else /* C style interface */
  866. typedef struct IAssemblyBindingVtbl
  867. {
  868. BEGIN_INTERFACE
  869. HRESULT ( STDMETHODCALLTYPE *QueryInterface )(
  870. IAssemblyBinding * This,
  871. /* [in] */ REFIID riid,
  872. /* [iid_is][out] */ void **ppvObject);
  873. ULONG ( STDMETHODCALLTYPE *AddRef )(
  874. IAssemblyBinding * This);
  875. ULONG ( STDMETHODCALLTYPE *Release )(
  876. IAssemblyBinding * This);
  877. HRESULT ( STDMETHODCALLTYPE *Control )(
  878. IAssemblyBinding * This,
  879. /* [in] */ HRESULT hrControl);
  880. HRESULT ( STDMETHODCALLTYPE *DoDefaultUI )(
  881. IAssemblyBinding * This,
  882. /* [in] */ HWND hWnd,
  883. /* [in] */ DWORD dwFlags);
  884. END_INTERFACE
  885. } IAssemblyBindingVtbl;
  886. interface IAssemblyBinding
  887. {
  888. CONST_VTBL struct IAssemblyBindingVtbl *lpVtbl;
  889. };
  890. #ifdef COBJMACROS
  891. #define IAssemblyBinding_QueryInterface(This,riid,ppvObject) \
  892. (This)->lpVtbl -> QueryInterface(This,riid,ppvObject)
  893. #define IAssemblyBinding_AddRef(This) \
  894. (This)->lpVtbl -> AddRef(This)
  895. #define IAssemblyBinding_Release(This) \
  896. (This)->lpVtbl -> Release(This)
  897. #define IAssemblyBinding_Control(This,hrControl) \
  898. (This)->lpVtbl -> Control(This,hrControl)
  899. #define IAssemblyBinding_DoDefaultUI(This,hWnd,dwFlags) \
  900. (This)->lpVtbl -> DoDefaultUI(This,hWnd,dwFlags)
  901. #endif /* COBJMACROS */
  902. #endif /* C style interface */
  903. HRESULT STDMETHODCALLTYPE IAssemblyBinding_Control_Proxy(
  904. IAssemblyBinding * This,
  905. /* [in] */ HRESULT hrControl);
  906. void __RPC_STUB IAssemblyBinding_Control_Stub(
  907. IRpcStubBuffer *This,
  908. IRpcChannelBuffer *_pRpcChannelBuffer,
  909. PRPC_MESSAGE _pRpcMessage,
  910. DWORD *_pdwStubPhase);
  911. HRESULT STDMETHODCALLTYPE IAssemblyBinding_DoDefaultUI_Proxy(
  912. IAssemblyBinding * This,
  913. /* [in] */ HWND hWnd,
  914. /* [in] */ DWORD dwFlags);
  915. void __RPC_STUB IAssemblyBinding_DoDefaultUI_Stub(
  916. IRpcStubBuffer *This,
  917. IRpcChannelBuffer *_pRpcChannelBuffer,
  918. PRPC_MESSAGE _pRpcMessage,
  919. DWORD *_pdwStubPhase);
  920. #endif /* __IAssemblyBinding_INTERFACE_DEFINED__ */
  921. #ifndef __IFusionBindLog_INTERFACE_DEFINED__
  922. #define __IFusionBindLog_INTERFACE_DEFINED__
  923. /* interface IFusionBindLog */
  924. /* [unique][uuid][object][local] */
  925. EXTERN_C const IID IID_IFusionBindLog;
  926. #if defined(__cplusplus) && !defined(CINTERFACE)
  927. MIDL_INTERFACE("67E9F87D-8B8A-4a90-9D3E-85ED5B2DCC83")
  928. IFusionBindLog : public IUnknown
  929. {
  930. public:
  931. virtual HRESULT STDMETHODCALLTYPE GetResultCode( void) = 0;
  932. virtual HRESULT STDMETHODCALLTYPE GetBindLog(
  933. /* [in] */ DWORD dwDetailLevel,
  934. /* [out] */ LPSTR pszDebugLog,
  935. /* [out][in] */ DWORD *pcbDebugLog) = 0;
  936. };
  937. #else /* C style interface */
  938. typedef struct IFusionBindLogVtbl
  939. {
  940. BEGIN_INTERFACE
  941. HRESULT ( STDMETHODCALLTYPE *QueryInterface )(
  942. IFusionBindLog * This,
  943. /* [in] */ REFIID riid,
  944. /* [iid_is][out] */ void **ppvObject);
  945. ULONG ( STDMETHODCALLTYPE *AddRef )(
  946. IFusionBindLog * This);
  947. ULONG ( STDMETHODCALLTYPE *Release )(
  948. IFusionBindLog * This);
  949. HRESULT ( STDMETHODCALLTYPE *GetResultCode )(
  950. IFusionBindLog * This);
  951. HRESULT ( STDMETHODCALLTYPE *GetBindLog )(
  952. IFusionBindLog * This,
  953. /* [in] */ DWORD dwDetailLevel,
  954. /* [out] */ LPSTR pszDebugLog,
  955. /* [out][in] */ DWORD *pcbDebugLog);
  956. END_INTERFACE
  957. } IFusionBindLogVtbl;
  958. interface IFusionBindLog
  959. {
  960. CONST_VTBL struct IFusionBindLogVtbl *lpVtbl;
  961. };
  962. #ifdef COBJMACROS
  963. #define IFusionBindLog_QueryInterface(This,riid,ppvObject) \
  964. (This)->lpVtbl -> QueryInterface(This,riid,ppvObject)
  965. #define IFusionBindLog_AddRef(This) \
  966. (This)->lpVtbl -> AddRef(This)
  967. #define IFusionBindLog_Release(This) \
  968. (This)->lpVtbl -> Release(This)
  969. #define IFusionBindLog_GetResultCode(This) \
  970. (This)->lpVtbl -> GetResultCode(This)
  971. #define IFusionBindLog_GetBindLog(This,dwDetailLevel,pszDebugLog,pcbDebugLog) \
  972. (This)->lpVtbl -> GetBindLog(This,dwDetailLevel,pszDebugLog,pcbDebugLog)
  973. #endif /* COBJMACROS */
  974. #endif /* C style interface */
  975. HRESULT STDMETHODCALLTYPE IFusionBindLog_GetResultCode_Proxy(
  976. IFusionBindLog * This);
  977. void __RPC_STUB IFusionBindLog_GetResultCode_Stub(
  978. IRpcStubBuffer *This,
  979. IRpcChannelBuffer *_pRpcChannelBuffer,
  980. PRPC_MESSAGE _pRpcMessage,
  981. DWORD *_pdwStubPhase);
  982. HRESULT STDMETHODCALLTYPE IFusionBindLog_GetBindLog_Proxy(
  983. IFusionBindLog * This,
  984. /* [in] */ DWORD dwDetailLevel,
  985. /* [out] */ LPSTR pszDebugLog,
  986. /* [out][in] */ DWORD *pcbDebugLog);
  987. void __RPC_STUB IFusionBindLog_GetBindLog_Stub(
  988. IRpcStubBuffer *This,
  989. IRpcChannelBuffer *_pRpcChannelBuffer,
  990. PRPC_MESSAGE _pRpcMessage,
  991. DWORD *_pdwStubPhase);
  992. #endif /* __IFusionBindLog_INTERFACE_DEFINED__ */
  993. #ifndef __IAssemblyManifestImport_INTERFACE_DEFINED__
  994. #define __IAssemblyManifestImport_INTERFACE_DEFINED__
  995. /* interface IAssemblyManifestImport */
  996. /* [unique][uuid][object][local] */
  997. typedef /* [unique] */ IAssemblyManifestImport *LPASSEMBLY_MANIFEST_IMPORT;
  998. EXTERN_C const IID IID_IAssemblyManifestImport;
  999. #if defined(__cplusplus) && !defined(CINTERFACE)
  1000. MIDL_INTERFACE("de9a68ba-0fa2-11d3-94aa-00c04fc308ff")
  1001. IAssemblyManifestImport : public IUnknown
  1002. {
  1003. public:
  1004. virtual HRESULT STDMETHODCALLTYPE GetAssemblyNameDef(
  1005. /* [out] */ IAssemblyName **ppAssemblyName) = 0;
  1006. virtual HRESULT STDMETHODCALLTYPE GetNextAssemblyNameRef(
  1007. /* [in] */ DWORD nIndex,
  1008. /* [out] */ IAssemblyName **ppAssemblyName) = 0;
  1009. virtual HRESULT STDMETHODCALLTYPE GetNextAssemblyModule(
  1010. /* [in] */ DWORD nIndex,
  1011. /* [out] */ IAssemblyModuleImport **ppImport) = 0;
  1012. virtual HRESULT STDMETHODCALLTYPE GetModuleByName(
  1013. /* [in] */ LPCOLESTR szModuleName,
  1014. /* [out] */ IAssemblyModuleImport **ppModImport) = 0;
  1015. virtual HRESULT STDMETHODCALLTYPE GetManifestModulePath(
  1016. /* [size_is][out] */ LPOLESTR szModulePath,
  1017. /* [out][in] */ LPDWORD pccModulePath) = 0;
  1018. };
  1019. #else /* C style interface */
  1020. typedef struct IAssemblyManifestImportVtbl
  1021. {
  1022. BEGIN_INTERFACE
  1023. HRESULT ( STDMETHODCALLTYPE *QueryInterface )(
  1024. IAssemblyManifestImport * This,
  1025. /* [in] */ REFIID riid,
  1026. /* [iid_is][out] */ void **ppvObject);
  1027. ULONG ( STDMETHODCALLTYPE *AddRef )(
  1028. IAssemblyManifestImport * This);
  1029. ULONG ( STDMETHODCALLTYPE *Release )(
  1030. IAssemblyManifestImport * This);
  1031. HRESULT ( STDMETHODCALLTYPE *GetAssemblyNameDef )(
  1032. IAssemblyManifestImport * This,
  1033. /* [out] */ IAssemblyName **ppAssemblyName);
  1034. HRESULT ( STDMETHODCALLTYPE *GetNextAssemblyNameRef )(
  1035. IAssemblyManifestImport * This,
  1036. /* [in] */ DWORD nIndex,
  1037. /* [out] */ IAssemblyName **ppAssemblyName);
  1038. HRESULT ( STDMETHODCALLTYPE *GetNextAssemblyModule )(
  1039. IAssemblyManifestImport * This,
  1040. /* [in] */ DWORD nIndex,
  1041. /* [out] */ IAssemblyModuleImport **ppImport);
  1042. HRESULT ( STDMETHODCALLTYPE *GetModuleByName )(
  1043. IAssemblyManifestImport * This,
  1044. /* [in] */ LPCOLESTR szModuleName,
  1045. /* [out] */ IAssemblyModuleImport **ppModImport);
  1046. HRESULT ( STDMETHODCALLTYPE *GetManifestModulePath )(
  1047. IAssemblyManifestImport * This,
  1048. /* [size_is][out] */ LPOLESTR szModulePath,
  1049. /* [out][in] */ LPDWORD pccModulePath);
  1050. END_INTERFACE
  1051. } IAssemblyManifestImportVtbl;
  1052. interface IAssemblyManifestImport
  1053. {
  1054. CONST_VTBL struct IAssemblyManifestImportVtbl *lpVtbl;
  1055. };
  1056. #ifdef COBJMACROS
  1057. #define IAssemblyManifestImport_QueryInterface(This,riid,ppvObject) \
  1058. (This)->lpVtbl -> QueryInterface(This,riid,ppvObject)
  1059. #define IAssemblyManifestImport_AddRef(This) \
  1060. (This)->lpVtbl -> AddRef(This)
  1061. #define IAssemblyManifestImport_Release(This) \
  1062. (This)->lpVtbl -> Release(This)
  1063. #define IAssemblyManifestImport_GetAssemblyNameDef(This,ppAssemblyName) \
  1064. (This)->lpVtbl -> GetAssemblyNameDef(This,ppAssemblyName)
  1065. #define IAssemblyManifestImport_GetNextAssemblyNameRef(This,nIndex,ppAssemblyName) \
  1066. (This)->lpVtbl -> GetNextAssemblyNameRef(This,nIndex,ppAssemblyName)
  1067. #define IAssemblyManifestImport_GetNextAssemblyModule(This,nIndex,ppImport) \
  1068. (This)->lpVtbl -> GetNextAssemblyModule(This,nIndex,ppImport)
  1069. #define IAssemblyManifestImport_GetModuleByName(This,szModuleName,ppModImport) \
  1070. (This)->lpVtbl -> GetModuleByName(This,szModuleName,ppModImport)
  1071. #define IAssemblyManifestImport_GetManifestModulePath(This,szModulePath,pccModulePath) \
  1072. (This)->lpVtbl -> GetManifestModulePath(This,szModulePath,pccModulePath)
  1073. #endif /* COBJMACROS */
  1074. #endif /* C style interface */
  1075. HRESULT STDMETHODCALLTYPE IAssemblyManifestImport_GetAssemblyNameDef_Proxy(
  1076. IAssemblyManifestImport * This,
  1077. /* [out] */ IAssemblyName **ppAssemblyName);
  1078. void __RPC_STUB IAssemblyManifestImport_GetAssemblyNameDef_Stub(
  1079. IRpcStubBuffer *This,
  1080. IRpcChannelBuffer *_pRpcChannelBuffer,
  1081. PRPC_MESSAGE _pRpcMessage,
  1082. DWORD *_pdwStubPhase);
  1083. HRESULT STDMETHODCALLTYPE IAssemblyManifestImport_GetNextAssemblyNameRef_Proxy(
  1084. IAssemblyManifestImport * This,
  1085. /* [in] */ DWORD nIndex,
  1086. /* [out] */ IAssemblyName **ppAssemblyName);
  1087. void __RPC_STUB IAssemblyManifestImport_GetNextAssemblyNameRef_Stub(
  1088. IRpcStubBuffer *This,
  1089. IRpcChannelBuffer *_pRpcChannelBuffer,
  1090. PRPC_MESSAGE _pRpcMessage,
  1091. DWORD *_pdwStubPhase);
  1092. HRESULT STDMETHODCALLTYPE IAssemblyManifestImport_GetNextAssemblyModule_Proxy(
  1093. IAssemblyManifestImport * This,
  1094. /* [in] */ DWORD nIndex,
  1095. /* [out] */ IAssemblyModuleImport **ppImport);
  1096. void __RPC_STUB IAssemblyManifestImport_GetNextAssemblyModule_Stub(
  1097. IRpcStubBuffer *This,
  1098. IRpcChannelBuffer *_pRpcChannelBuffer,
  1099. PRPC_MESSAGE _pRpcMessage,
  1100. DWORD *_pdwStubPhase);
  1101. HRESULT STDMETHODCALLTYPE IAssemblyManifestImport_GetModuleByName_Proxy(
  1102. IAssemblyManifestImport * This,
  1103. /* [in] */ LPCOLESTR szModuleName,
  1104. /* [out] */ IAssemblyModuleImport **ppModImport);
  1105. void __RPC_STUB IAssemblyManifestImport_GetModuleByName_Stub(
  1106. IRpcStubBuffer *This,
  1107. IRpcChannelBuffer *_pRpcChannelBuffer,
  1108. PRPC_MESSAGE _pRpcMessage,
  1109. DWORD *_pdwStubPhase);
  1110. HRESULT STDMETHODCALLTYPE IAssemblyManifestImport_GetManifestModulePath_Proxy(
  1111. IAssemblyManifestImport * This,
  1112. /* [size_is][out] */ LPOLESTR szModulePath,
  1113. /* [out][in] */ LPDWORD pccModulePath);
  1114. void __RPC_STUB IAssemblyManifestImport_GetManifestModulePath_Stub(
  1115. IRpcStubBuffer *This,
  1116. IRpcChannelBuffer *_pRpcChannelBuffer,
  1117. PRPC_MESSAGE _pRpcMessage,
  1118. DWORD *_pdwStubPhase);
  1119. #endif /* __IAssemblyManifestImport_INTERFACE_DEFINED__ */
  1120. #ifndef __IAssemblyModuleImport_INTERFACE_DEFINED__
  1121. #define __IAssemblyModuleImport_INTERFACE_DEFINED__
  1122. /* interface IAssemblyModuleImport */
  1123. /* [unique][uuid][object][local] */
  1124. typedef /* [unique] */ IAssemblyModuleImport *LPASSEMBLY_MODULE_IMPORT;
  1125. EXTERN_C const IID IID_IAssemblyModuleImport;
  1126. #if defined(__cplusplus) && !defined(CINTERFACE)
  1127. MIDL_INTERFACE("da0cd4b0-1117-11d3-95ca-00a024a85b51")
  1128. IAssemblyModuleImport : public IStream
  1129. {
  1130. public:
  1131. virtual HRESULT STDMETHODCALLTYPE GetModuleName(
  1132. /* [size_is][out] */ LPOLESTR szModuleName,
  1133. /* [out][in] */ LPDWORD pccModuleName) = 0;
  1134. virtual HRESULT STDMETHODCALLTYPE GetHashAlgId(
  1135. /* [out] */ LPDWORD pdwHashAlgId) = 0;
  1136. virtual HRESULT STDMETHODCALLTYPE GetHashValue(
  1137. /* [size_is][out] */ BYTE *pbHashValue,
  1138. /* [out][in] */ LPDWORD pcbHashValue) = 0;
  1139. virtual HRESULT STDMETHODCALLTYPE GetFlags(
  1140. /* [out] */ LPDWORD pdwFlags) = 0;
  1141. virtual HRESULT STDMETHODCALLTYPE GetModulePath(
  1142. /* [size_is][out] */ LPOLESTR szModulePath,
  1143. /* [out][in] */ LPDWORD pccModulePath) = 0;
  1144. virtual BOOL STDMETHODCALLTYPE IsAvailable( void) = 0;
  1145. virtual HRESULT STDMETHODCALLTYPE BindToObject(
  1146. /* [in] */ IAssemblyBindSink *pBindSink,
  1147. /* [in] */ IApplicationContext *pAppCtx,
  1148. /* [in] */ LONGLONG llFlags,
  1149. /* [out] */ LPVOID *ppv) = 0;
  1150. };
  1151. #else /* C style interface */
  1152. typedef struct IAssemblyModuleImportVtbl
  1153. {
  1154. BEGIN_INTERFACE
  1155. HRESULT ( STDMETHODCALLTYPE *QueryInterface )(
  1156. IAssemblyModuleImport * This,
  1157. /* [in] */ REFIID riid,
  1158. /* [iid_is][out] */ void **ppvObject);
  1159. ULONG ( STDMETHODCALLTYPE *AddRef )(
  1160. IAssemblyModuleImport * This);
  1161. ULONG ( STDMETHODCALLTYPE *Release )(
  1162. IAssemblyModuleImport * This);
  1163. /* [local] */ HRESULT ( STDMETHODCALLTYPE *Read )(
  1164. IAssemblyModuleImport * This,
  1165. /* [length_is][size_is][out] */ void *pv,
  1166. /* [in] */ ULONG cb,
  1167. /* [out] */ ULONG *pcbRead);
  1168. /* [local] */ HRESULT ( STDMETHODCALLTYPE *Write )(
  1169. IAssemblyModuleImport * This,
  1170. /* [size_is][in] */ const void *pv,
  1171. /* [in] */ ULONG cb,
  1172. /* [out] */ ULONG *pcbWritten);
  1173. /* [local] */ HRESULT ( STDMETHODCALLTYPE *Seek )(
  1174. IAssemblyModuleImport * This,
  1175. /* [in] */ LARGE_INTEGER dlibMove,
  1176. /* [in] */ DWORD dwOrigin,
  1177. /* [out] */ ULARGE_INTEGER *plibNewPosition);
  1178. HRESULT ( STDMETHODCALLTYPE *SetSize )(
  1179. IAssemblyModuleImport * This,
  1180. /* [in] */ ULARGE_INTEGER libNewSize);
  1181. /* [local] */ HRESULT ( STDMETHODCALLTYPE *CopyTo )(
  1182. IAssemblyModuleImport * This,
  1183. /* [unique][in] */ IStream *pstm,
  1184. /* [in] */ ULARGE_INTEGER cb,
  1185. /* [out] */ ULARGE_INTEGER *pcbRead,
  1186. /* [out] */ ULARGE_INTEGER *pcbWritten);
  1187. HRESULT ( STDMETHODCALLTYPE *Commit )(
  1188. IAssemblyModuleImport * This,
  1189. /* [in] */ DWORD grfCommitFlags);
  1190. HRESULT ( STDMETHODCALLTYPE *Revert )(
  1191. IAssemblyModuleImport * This);
  1192. HRESULT ( STDMETHODCALLTYPE *LockRegion )(
  1193. IAssemblyModuleImport * This,
  1194. /* [in] */ ULARGE_INTEGER libOffset,
  1195. /* [in] */ ULARGE_INTEGER cb,
  1196. /* [in] */ DWORD dwLockType);
  1197. HRESULT ( STDMETHODCALLTYPE *UnlockRegion )(
  1198. IAssemblyModuleImport * This,
  1199. /* [in] */ ULARGE_INTEGER libOffset,
  1200. /* [in] */ ULARGE_INTEGER cb,
  1201. /* [in] */ DWORD dwLockType);
  1202. HRESULT ( STDMETHODCALLTYPE *Stat )(
  1203. IAssemblyModuleImport * This,
  1204. /* [out] */ STATSTG *pstatstg,
  1205. /* [in] */ DWORD grfStatFlag);
  1206. HRESULT ( STDMETHODCALLTYPE *Clone )(
  1207. IAssemblyModuleImport * This,
  1208. /* [out] */ IStream **ppstm);
  1209. HRESULT ( STDMETHODCALLTYPE *GetModuleName )(
  1210. IAssemblyModuleImport * This,
  1211. /* [size_is][out] */ LPOLESTR szModuleName,
  1212. /* [out][in] */ LPDWORD pccModuleName);
  1213. HRESULT ( STDMETHODCALLTYPE *GetHashAlgId )(
  1214. IAssemblyModuleImport * This,
  1215. /* [out] */ LPDWORD pdwHashAlgId);
  1216. HRESULT ( STDMETHODCALLTYPE *GetHashValue )(
  1217. IAssemblyModuleImport * This,
  1218. /* [size_is][out] */ BYTE *pbHashValue,
  1219. /* [out][in] */ LPDWORD pcbHashValue);
  1220. HRESULT ( STDMETHODCALLTYPE *GetFlags )(
  1221. IAssemblyModuleImport * This,
  1222. /* [out] */ LPDWORD pdwFlags);
  1223. HRESULT ( STDMETHODCALLTYPE *GetModulePath )(
  1224. IAssemblyModuleImport * This,
  1225. /* [size_is][out] */ LPOLESTR szModulePath,
  1226. /* [out][in] */ LPDWORD pccModulePath);
  1227. BOOL ( STDMETHODCALLTYPE *IsAvailable )(
  1228. IAssemblyModuleImport * This);
  1229. HRESULT ( STDMETHODCALLTYPE *BindToObject )(
  1230. IAssemblyModuleImport * This,
  1231. /* [in] */ IAssemblyBindSink *pBindSink,
  1232. /* [in] */ IApplicationContext *pAppCtx,
  1233. /* [in] */ LONGLONG llFlags,
  1234. /* [out] */ LPVOID *ppv);
  1235. END_INTERFACE
  1236. } IAssemblyModuleImportVtbl;
  1237. interface IAssemblyModuleImport
  1238. {
  1239. CONST_VTBL struct IAssemblyModuleImportVtbl *lpVtbl;
  1240. };
  1241. #ifdef COBJMACROS
  1242. #define IAssemblyModuleImport_QueryInterface(This,riid,ppvObject) \
  1243. (This)->lpVtbl -> QueryInterface(This,riid,ppvObject)
  1244. #define IAssemblyModuleImport_AddRef(This) \
  1245. (This)->lpVtbl -> AddRef(This)
  1246. #define IAssemblyModuleImport_Release(This) \
  1247. (This)->lpVtbl -> Release(This)
  1248. #define IAssemblyModuleImport_Read(This,pv,cb,pcbRead) \
  1249. (This)->lpVtbl -> Read(This,pv,cb,pcbRead)
  1250. #define IAssemblyModuleImport_Write(This,pv,cb,pcbWritten) \
  1251. (This)->lpVtbl -> Write(This,pv,cb,pcbWritten)
  1252. #define IAssemblyModuleImport_Seek(This,dlibMove,dwOrigin,plibNewPosition) \
  1253. (This)->lpVtbl -> Seek(This,dlibMove,dwOrigin,plibNewPosition)
  1254. #define IAssemblyModuleImport_SetSize(This,libNewSize) \
  1255. (This)->lpVtbl -> SetSize(This,libNewSize)
  1256. #define IAssemblyModuleImport_CopyTo(This,pstm,cb,pcbRead,pcbWritten) \
  1257. (This)->lpVtbl -> CopyTo(This,pstm,cb,pcbRead,pcbWritten)
  1258. #define IAssemblyModuleImport_Commit(This,grfCommitFlags) \
  1259. (This)->lpVtbl -> Commit(This,grfCommitFlags)
  1260. #define IAssemblyModuleImport_Revert(This) \
  1261. (This)->lpVtbl -> Revert(This)
  1262. #define IAssemblyModuleImport_LockRegion(This,libOffset,cb,dwLockType) \
  1263. (This)->lpVtbl -> LockRegion(This,libOffset,cb,dwLockType)
  1264. #define IAssemblyModuleImport_UnlockRegion(This,libOffset,cb,dwLockType) \
  1265. (This)->lpVtbl -> UnlockRegion(This,libOffset,cb,dwLockType)
  1266. #define IAssemblyModuleImport_Stat(This,pstatstg,grfStatFlag) \
  1267. (This)->lpVtbl -> Stat(This,pstatstg,grfStatFlag)
  1268. #define IAssemblyModuleImport_Clone(This,ppstm) \
  1269. (This)->lpVtbl -> Clone(This,ppstm)
  1270. #define IAssemblyModuleImport_GetModuleName(This,szModuleName,pccModuleName) \
  1271. (This)->lpVtbl -> GetModuleName(This,szModuleName,pccModuleName)
  1272. #define IAssemblyModuleImport_GetHashAlgId(This,pdwHashAlgId) \
  1273. (This)->lpVtbl -> GetHashAlgId(This,pdwHashAlgId)
  1274. #define IAssemblyModuleImport_GetHashValue(This,pbHashValue,pcbHashValue) \
  1275. (This)->lpVtbl -> GetHashValue(This,pbHashValue,pcbHashValue)
  1276. #define IAssemblyModuleImport_GetFlags(This,pdwFlags) \
  1277. (This)->lpVtbl -> GetFlags(This,pdwFlags)
  1278. #define IAssemblyModuleImport_GetModulePath(This,szModulePath,pccModulePath) \
  1279. (This)->lpVtbl -> GetModulePath(This,szModulePath,pccModulePath)
  1280. #define IAssemblyModuleImport_IsAvailable(This) \
  1281. (This)->lpVtbl -> IsAvailable(This)
  1282. #define IAssemblyModuleImport_BindToObject(This,pBindSink,pAppCtx,llFlags,ppv) \
  1283. (This)->lpVtbl -> BindToObject(This,pBindSink,pAppCtx,llFlags,ppv)
  1284. #endif /* COBJMACROS */
  1285. #endif /* C style interface */
  1286. HRESULT STDMETHODCALLTYPE IAssemblyModuleImport_GetModuleName_Proxy(
  1287. IAssemblyModuleImport * This,
  1288. /* [size_is][out] */ LPOLESTR szModuleName,
  1289. /* [out][in] */ LPDWORD pccModuleName);
  1290. void __RPC_STUB IAssemblyModuleImport_GetModuleName_Stub(
  1291. IRpcStubBuffer *This,
  1292. IRpcChannelBuffer *_pRpcChannelBuffer,
  1293. PRPC_MESSAGE _pRpcMessage,
  1294. DWORD *_pdwStubPhase);
  1295. HRESULT STDMETHODCALLTYPE IAssemblyModuleImport_GetHashAlgId_Proxy(
  1296. IAssemblyModuleImport * This,
  1297. /* [out] */ LPDWORD pdwHashAlgId);
  1298. void __RPC_STUB IAssemblyModuleImport_GetHashAlgId_Stub(
  1299. IRpcStubBuffer *This,
  1300. IRpcChannelBuffer *_pRpcChannelBuffer,
  1301. PRPC_MESSAGE _pRpcMessage,
  1302. DWORD *_pdwStubPhase);
  1303. HRESULT STDMETHODCALLTYPE IAssemblyModuleImport_GetHashValue_Proxy(
  1304. IAssemblyModuleImport * This,
  1305. /* [size_is][out] */ BYTE *pbHashValue,
  1306. /* [out][in] */ LPDWORD pcbHashValue);
  1307. void __RPC_STUB IAssemblyModuleImport_GetHashValue_Stub(
  1308. IRpcStubBuffer *This,
  1309. IRpcChannelBuffer *_pRpcChannelBuffer,
  1310. PRPC_MESSAGE _pRpcMessage,
  1311. DWORD *_pdwStubPhase);
  1312. HRESULT STDMETHODCALLTYPE IAssemblyModuleImport_GetFlags_Proxy(
  1313. IAssemblyModuleImport * This,
  1314. /* [out] */ LPDWORD pdwFlags);
  1315. void __RPC_STUB IAssemblyModuleImport_GetFlags_Stub(
  1316. IRpcStubBuffer *This,
  1317. IRpcChannelBuffer *_pRpcChannelBuffer,
  1318. PRPC_MESSAGE _pRpcMessage,
  1319. DWORD *_pdwStubPhase);
  1320. HRESULT STDMETHODCALLTYPE IAssemblyModuleImport_GetModulePath_Proxy(
  1321. IAssemblyModuleImport * This,
  1322. /* [size_is][out] */ LPOLESTR szModulePath,
  1323. /* [out][in] */ LPDWORD pccModulePath);
  1324. void __RPC_STUB IAssemblyModuleImport_GetModulePath_Stub(
  1325. IRpcStubBuffer *This,
  1326. IRpcChannelBuffer *_pRpcChannelBuffer,
  1327. PRPC_MESSAGE _pRpcMessage,
  1328. DWORD *_pdwStubPhase);
  1329. BOOL STDMETHODCALLTYPE IAssemblyModuleImport_IsAvailable_Proxy(
  1330. IAssemblyModuleImport * This);
  1331. void __RPC_STUB IAssemblyModuleImport_IsAvailable_Stub(
  1332. IRpcStubBuffer *This,
  1333. IRpcChannelBuffer *_pRpcChannelBuffer,
  1334. PRPC_MESSAGE _pRpcMessage,
  1335. DWORD *_pdwStubPhase);
  1336. HRESULT STDMETHODCALLTYPE IAssemblyModuleImport_BindToObject_Proxy(
  1337. IAssemblyModuleImport * This,
  1338. /* [in] */ IAssemblyBindSink *pBindSink,
  1339. /* [in] */ IApplicationContext *pAppCtx,
  1340. /* [in] */ LONGLONG llFlags,
  1341. /* [out] */ LPVOID *ppv);
  1342. void __RPC_STUB IAssemblyModuleImport_BindToObject_Stub(
  1343. IRpcStubBuffer *This,
  1344. IRpcChannelBuffer *_pRpcChannelBuffer,
  1345. PRPC_MESSAGE _pRpcMessage,
  1346. DWORD *_pdwStubPhase);
  1347. #endif /* __IAssemblyModuleImport_INTERFACE_DEFINED__ */
  1348. #ifndef __IAssemblyCacheItem_INTERFACE_DEFINED__
  1349. #define __IAssemblyCacheItem_INTERFACE_DEFINED__
  1350. /* interface IAssemblyCacheItem */
  1351. /* [unique][uuid][object][local] */
  1352. EXTERN_C const IID IID_IAssemblyCacheItem;
  1353. #if defined(__cplusplus) && !defined(CINTERFACE)
  1354. MIDL_INTERFACE("9e3aaeb4-d1cd-11d2-bab9-00c04f8eceae")
  1355. IAssemblyCacheItem : public IUnknown
  1356. {
  1357. public:
  1358. virtual HRESULT STDMETHODCALLTYPE CreateStream(
  1359. /* [in] */ DWORD dwFlags,
  1360. /* [in] */ LPCWSTR pszStreamName,
  1361. /* [in] */ DWORD dwFormat,
  1362. /* [in] */ DWORD dwFormatFlags,
  1363. /* [out] */ IStream **ppIStream,
  1364. /* [optional][in] */ ULARGE_INTEGER *puliMaxSize) = 0;
  1365. virtual HRESULT STDMETHODCALLTYPE Commit(
  1366. /* [in] */ DWORD dwFlags,
  1367. /* [optional][out] */ ULONG *pulDisposition) = 0;
  1368. virtual HRESULT STDMETHODCALLTYPE AbortItem( void) = 0;
  1369. };
  1370. #else /* C style interface */
  1371. typedef struct IAssemblyCacheItemVtbl
  1372. {
  1373. BEGIN_INTERFACE
  1374. HRESULT ( STDMETHODCALLTYPE *QueryInterface )(
  1375. IAssemblyCacheItem * This,
  1376. /* [in] */ REFIID riid,
  1377. /* [iid_is][out] */ void **ppvObject);
  1378. ULONG ( STDMETHODCALLTYPE *AddRef )(
  1379. IAssemblyCacheItem * This);
  1380. ULONG ( STDMETHODCALLTYPE *Release )(
  1381. IAssemblyCacheItem * This);
  1382. HRESULT ( STDMETHODCALLTYPE *CreateStream )(
  1383. IAssemblyCacheItem * This,
  1384. /* [in] */ DWORD dwFlags,
  1385. /* [in] */ LPCWSTR pszStreamName,
  1386. /* [in] */ DWORD dwFormat,
  1387. /* [in] */ DWORD dwFormatFlags,
  1388. /* [out] */ IStream **ppIStream,
  1389. /* [optional][in] */ ULARGE_INTEGER *puliMaxSize);
  1390. HRESULT ( STDMETHODCALLTYPE *Commit )(
  1391. IAssemblyCacheItem * This,
  1392. /* [in] */ DWORD dwFlags,
  1393. /* [optional][out] */ ULONG *pulDisposition);
  1394. HRESULT ( STDMETHODCALLTYPE *AbortItem )(
  1395. IAssemblyCacheItem * This);
  1396. END_INTERFACE
  1397. } IAssemblyCacheItemVtbl;
  1398. interface IAssemblyCacheItem
  1399. {
  1400. CONST_VTBL struct IAssemblyCacheItemVtbl *lpVtbl;
  1401. };
  1402. #ifdef COBJMACROS
  1403. #define IAssemblyCacheItem_QueryInterface(This,riid,ppvObject) \
  1404. (This)->lpVtbl -> QueryInterface(This,riid,ppvObject)
  1405. #define IAssemblyCacheItem_AddRef(This) \
  1406. (This)->lpVtbl -> AddRef(This)
  1407. #define IAssemblyCacheItem_Release(This) \
  1408. (This)->lpVtbl -> Release(This)
  1409. #define IAssemblyCacheItem_CreateStream(This,dwFlags,pszStreamName,dwFormat,dwFormatFlags,ppIStream,puliMaxSize) \
  1410. (This)->lpVtbl -> CreateStream(This,dwFlags,pszStreamName,dwFormat,dwFormatFlags,ppIStream,puliMaxSize)
  1411. #define IAssemblyCacheItem_Commit(This,dwFlags,pulDisposition) \
  1412. (This)->lpVtbl -> Commit(This,dwFlags,pulDisposition)
  1413. #define IAssemblyCacheItem_AbortItem(This) \
  1414. (This)->lpVtbl -> AbortItem(This)
  1415. #endif /* COBJMACROS */
  1416. #endif /* C style interface */
  1417. HRESULT STDMETHODCALLTYPE IAssemblyCacheItem_CreateStream_Proxy(
  1418. IAssemblyCacheItem * This,
  1419. /* [in] */ DWORD dwFlags,
  1420. /* [in] */ LPCWSTR pszStreamName,
  1421. /* [in] */ DWORD dwFormat,
  1422. /* [in] */ DWORD dwFormatFlags,
  1423. /* [out] */ IStream **ppIStream,
  1424. /* [optional][in] */ ULARGE_INTEGER *puliMaxSize);
  1425. void __RPC_STUB IAssemblyCacheItem_CreateStream_Stub(
  1426. IRpcStubBuffer *This,
  1427. IRpcChannelBuffer *_pRpcChannelBuffer,
  1428. PRPC_MESSAGE _pRpcMessage,
  1429. DWORD *_pdwStubPhase);
  1430. HRESULT STDMETHODCALLTYPE IAssemblyCacheItem_Commit_Proxy(
  1431. IAssemblyCacheItem * This,
  1432. /* [in] */ DWORD dwFlags,
  1433. /* [optional][out] */ ULONG *pulDisposition);
  1434. void __RPC_STUB IAssemblyCacheItem_Commit_Stub(
  1435. IRpcStubBuffer *This,
  1436. IRpcChannelBuffer *_pRpcChannelBuffer,
  1437. PRPC_MESSAGE _pRpcMessage,
  1438. DWORD *_pdwStubPhase);
  1439. HRESULT STDMETHODCALLTYPE IAssemblyCacheItem_AbortItem_Proxy(
  1440. IAssemblyCacheItem * This);
  1441. void __RPC_STUB IAssemblyCacheItem_AbortItem_Stub(
  1442. IRpcStubBuffer *This,
  1443. IRpcChannelBuffer *_pRpcChannelBuffer,
  1444. PRPC_MESSAGE _pRpcMessage,
  1445. DWORD *_pdwStubPhase);
  1446. #endif /* __IAssemblyCacheItem_INTERFACE_DEFINED__ */
  1447. #ifndef __IAssemblyEnum_INTERFACE_DEFINED__
  1448. #define __IAssemblyEnum_INTERFACE_DEFINED__
  1449. /* interface IAssemblyEnum */
  1450. /* [unique][uuid][object][local] */
  1451. EXTERN_C const IID IID_IAssemblyEnum;
  1452. #if defined(__cplusplus) && !defined(CINTERFACE)
  1453. MIDL_INTERFACE("21b8916c-f28e-11d2-a473-00c04f8ef448")
  1454. IAssemblyEnum : public IUnknown
  1455. {
  1456. public:
  1457. virtual HRESULT STDMETHODCALLTYPE GetNextAssembly(
  1458. /* [out] */ IApplicationContext **ppAppCtx,
  1459. /* [out] */ IAssemblyName **ppName,
  1460. /* [in] */ DWORD dwFlags) = 0;
  1461. virtual HRESULT STDMETHODCALLTYPE Reset( void) = 0;
  1462. virtual HRESULT STDMETHODCALLTYPE Clone(
  1463. /* [out] */ IAssemblyEnum **ppEnum) = 0;
  1464. };
  1465. #else /* C style interface */
  1466. typedef struct IAssemblyEnumVtbl
  1467. {
  1468. BEGIN_INTERFACE
  1469. HRESULT ( STDMETHODCALLTYPE *QueryInterface )(
  1470. IAssemblyEnum * This,
  1471. /* [in] */ REFIID riid,
  1472. /* [iid_is][out] */ void **ppvObject);
  1473. ULONG ( STDMETHODCALLTYPE *AddRef )(
  1474. IAssemblyEnum * This);
  1475. ULONG ( STDMETHODCALLTYPE *Release )(
  1476. IAssemblyEnum * This);
  1477. HRESULT ( STDMETHODCALLTYPE *GetNextAssembly )(
  1478. IAssemblyEnum * This,
  1479. /* [out] */ IApplicationContext **ppAppCtx,
  1480. /* [out] */ IAssemblyName **ppName,
  1481. /* [in] */ DWORD dwFlags);
  1482. HRESULT ( STDMETHODCALLTYPE *Reset )(
  1483. IAssemblyEnum * This);
  1484. HRESULT ( STDMETHODCALLTYPE *Clone )(
  1485. IAssemblyEnum * This,
  1486. /* [out] */ IAssemblyEnum **ppEnum);
  1487. END_INTERFACE
  1488. } IAssemblyEnumVtbl;
  1489. interface IAssemblyEnum
  1490. {
  1491. CONST_VTBL struct IAssemblyEnumVtbl *lpVtbl;
  1492. };
  1493. #ifdef COBJMACROS
  1494. #define IAssemblyEnum_QueryInterface(This,riid,ppvObject) \
  1495. (This)->lpVtbl -> QueryInterface(This,riid,ppvObject)
  1496. #define IAssemblyEnum_AddRef(This) \
  1497. (This)->lpVtbl -> AddRef(This)
  1498. #define IAssemblyEnum_Release(This) \
  1499. (This)->lpVtbl -> Release(This)
  1500. #define IAssemblyEnum_GetNextAssembly(This,ppAppCtx,ppName,dwFlags) \
  1501. (This)->lpVtbl -> GetNextAssembly(This,ppAppCtx,ppName,dwFlags)
  1502. #define IAssemblyEnum_Reset(This) \
  1503. (This)->lpVtbl -> Reset(This)
  1504. #define IAssemblyEnum_Clone(This,ppEnum) \
  1505. (This)->lpVtbl -> Clone(This,ppEnum)
  1506. #endif /* COBJMACROS */
  1507. #endif /* C style interface */
  1508. HRESULT STDMETHODCALLTYPE IAssemblyEnum_GetNextAssembly_Proxy(
  1509. IAssemblyEnum * This,
  1510. /* [out] */ IApplicationContext **ppAppCtx,
  1511. /* [out] */ IAssemblyName **ppName,
  1512. /* [in] */ DWORD dwFlags);
  1513. void __RPC_STUB IAssemblyEnum_GetNextAssembly_Stub(
  1514. IRpcStubBuffer *This,
  1515. IRpcChannelBuffer *_pRpcChannelBuffer,
  1516. PRPC_MESSAGE _pRpcMessage,
  1517. DWORD *_pdwStubPhase);
  1518. HRESULT STDMETHODCALLTYPE IAssemblyEnum_Reset_Proxy(
  1519. IAssemblyEnum * This);
  1520. void __RPC_STUB IAssemblyEnum_Reset_Stub(
  1521. IRpcStubBuffer *This,
  1522. IRpcChannelBuffer *_pRpcChannelBuffer,
  1523. PRPC_MESSAGE _pRpcMessage,
  1524. DWORD *_pdwStubPhase);
  1525. HRESULT STDMETHODCALLTYPE IAssemblyEnum_Clone_Proxy(
  1526. IAssemblyEnum * This,
  1527. /* [out] */ IAssemblyEnum **ppEnum);
  1528. void __RPC_STUB IAssemblyEnum_Clone_Stub(
  1529. IRpcStubBuffer *This,
  1530. IRpcChannelBuffer *_pRpcChannelBuffer,
  1531. PRPC_MESSAGE _pRpcMessage,
  1532. DWORD *_pdwStubPhase);
  1533. #endif /* __IAssemblyEnum_INTERFACE_DEFINED__ */
  1534. #ifndef __IAssemblyScavenger_INTERFACE_DEFINED__
  1535. #define __IAssemblyScavenger_INTERFACE_DEFINED__
  1536. /* interface IAssemblyScavenger */
  1537. /* [unique][uuid][object][local] */
  1538. EXTERN_C const IID IID_IAssemblyScavenger;
  1539. #if defined(__cplusplus) && !defined(CINTERFACE)
  1540. MIDL_INTERFACE("21b8916c-f28e-11d2-a473-00ccff8ef448")
  1541. IAssemblyScavenger : public IUnknown
  1542. {
  1543. public:
  1544. virtual HRESULT STDMETHODCALLTYPE ScavengeAssemblyCache( void) = 0;
  1545. virtual HRESULT STDMETHODCALLTYPE GetCacheDiskQuotas(
  1546. /* [out] */ DWORD *pdwZapQuotaInGAC,
  1547. /* [out] */ DWORD *pdwDownloadQuotaAdmin,
  1548. /* [out] */ DWORD *pdwDownloadQuotaUser) = 0;
  1549. virtual HRESULT STDMETHODCALLTYPE SetCacheDiskQuotas(
  1550. /* [in] */ DWORD dwZapQuotaInGAC,
  1551. /* [in] */ DWORD dwDownloadQuotaAdmin,
  1552. /* [in] */ DWORD dwDownloadQuotaUser) = 0;
  1553. virtual HRESULT STDMETHODCALLTYPE GetCurrentCacheUsage(
  1554. /* [out] */ DWORD *dwZapUsage,
  1555. /* [out] */ DWORD *dwDownloadUsage) = 0;
  1556. };
  1557. #else /* C style interface */
  1558. typedef struct IAssemblyScavengerVtbl
  1559. {
  1560. BEGIN_INTERFACE
  1561. HRESULT ( STDMETHODCALLTYPE *QueryInterface )(
  1562. IAssemblyScavenger * This,
  1563. /* [in] */ REFIID riid,
  1564. /* [iid_is][out] */ void **ppvObject);
  1565. ULONG ( STDMETHODCALLTYPE *AddRef )(
  1566. IAssemblyScavenger * This);
  1567. ULONG ( STDMETHODCALLTYPE *Release )(
  1568. IAssemblyScavenger * This);
  1569. HRESULT ( STDMETHODCALLTYPE *ScavengeAssemblyCache )(
  1570. IAssemblyScavenger * This);
  1571. HRESULT ( STDMETHODCALLTYPE *GetCacheDiskQuotas )(
  1572. IAssemblyScavenger * This,
  1573. /* [out] */ DWORD *pdwZapQuotaInGAC,
  1574. /* [out] */ DWORD *pdwDownloadQuotaAdmin,
  1575. /* [out] */ DWORD *pdwDownloadQuotaUser);
  1576. HRESULT ( STDMETHODCALLTYPE *SetCacheDiskQuotas )(
  1577. IAssemblyScavenger * This,
  1578. /* [in] */ DWORD dwZapQuotaInGAC,
  1579. /* [in] */ DWORD dwDownloadQuotaAdmin,
  1580. /* [in] */ DWORD dwDownloadQuotaUser);
  1581. HRESULT ( STDMETHODCALLTYPE *GetCurrentCacheUsage )(
  1582. IAssemblyScavenger * This,
  1583. /* [out] */ DWORD *dwZapUsage,
  1584. /* [out] */ DWORD *dwDownloadUsage);
  1585. END_INTERFACE
  1586. } IAssemblyScavengerVtbl;
  1587. interface IAssemblyScavenger
  1588. {
  1589. CONST_VTBL struct IAssemblyScavengerVtbl *lpVtbl;
  1590. };
  1591. #ifdef COBJMACROS
  1592. #define IAssemblyScavenger_QueryInterface(This,riid,ppvObject) \
  1593. (This)->lpVtbl -> QueryInterface(This,riid,ppvObject)
  1594. #define IAssemblyScavenger_AddRef(This) \
  1595. (This)->lpVtbl -> AddRef(This)
  1596. #define IAssemblyScavenger_Release(This) \
  1597. (This)->lpVtbl -> Release(This)
  1598. #define IAssemblyScavenger_ScavengeAssemblyCache(This) \
  1599. (This)->lpVtbl -> ScavengeAssemblyCache(This)
  1600. #define IAssemblyScavenger_GetCacheDiskQuotas(This,pdwZapQuotaInGAC,pdwDownloadQuotaAdmin,pdwDownloadQuotaUser) \
  1601. (This)->lpVtbl -> GetCacheDiskQuotas(This,pdwZapQuotaInGAC,pdwDownloadQuotaAdmin,pdwDownloadQuotaUser)
  1602. #define IAssemblyScavenger_SetCacheDiskQuotas(This,dwZapQuotaInGAC,dwDownloadQuotaAdmin,dwDownloadQuotaUser) \
  1603. (This)->lpVtbl -> SetCacheDiskQuotas(This,dwZapQuotaInGAC,dwDownloadQuotaAdmin,dwDownloadQuotaUser)
  1604. #define IAssemblyScavenger_GetCurrentCacheUsage(This,dwZapUsage,dwDownloadUsage) \
  1605. (This)->lpVtbl -> GetCurrentCacheUsage(This,dwZapUsage,dwDownloadUsage)
  1606. #endif /* COBJMACROS */
  1607. #endif /* C style interface */
  1608. HRESULT STDMETHODCALLTYPE IAssemblyScavenger_ScavengeAssemblyCache_Proxy(
  1609. IAssemblyScavenger * This);
  1610. void __RPC_STUB IAssemblyScavenger_ScavengeAssemblyCache_Stub(
  1611. IRpcStubBuffer *This,
  1612. IRpcChannelBuffer *_pRpcChannelBuffer,
  1613. PRPC_MESSAGE _pRpcMessage,
  1614. DWORD *_pdwStubPhase);
  1615. HRESULT STDMETHODCALLTYPE IAssemblyScavenger_GetCacheDiskQuotas_Proxy(
  1616. IAssemblyScavenger * This,
  1617. /* [out] */ DWORD *pdwZapQuotaInGAC,
  1618. /* [out] */ DWORD *pdwDownloadQuotaAdmin,
  1619. /* [out] */ DWORD *pdwDownloadQuotaUser);
  1620. void __RPC_STUB IAssemblyScavenger_GetCacheDiskQuotas_Stub(
  1621. IRpcStubBuffer *This,
  1622. IRpcChannelBuffer *_pRpcChannelBuffer,
  1623. PRPC_MESSAGE _pRpcMessage,
  1624. DWORD *_pdwStubPhase);
  1625. HRESULT STDMETHODCALLTYPE IAssemblyScavenger_SetCacheDiskQuotas_Proxy(
  1626. IAssemblyScavenger * This,
  1627. /* [in] */ DWORD dwZapQuotaInGAC,
  1628. /* [in] */ DWORD dwDownloadQuotaAdmin,
  1629. /* [in] */ DWORD dwDownloadQuotaUser);
  1630. void __RPC_STUB IAssemblyScavenger_SetCacheDiskQuotas_Stub(
  1631. IRpcStubBuffer *This,
  1632. IRpcChannelBuffer *_pRpcChannelBuffer,
  1633. PRPC_MESSAGE _pRpcMessage,
  1634. DWORD *_pdwStubPhase);
  1635. HRESULT STDMETHODCALLTYPE IAssemblyScavenger_GetCurrentCacheUsage_Proxy(
  1636. IAssemblyScavenger * This,
  1637. /* [out] */ DWORD *dwZapUsage,
  1638. /* [out] */ DWORD *dwDownloadUsage);
  1639. void __RPC_STUB IAssemblyScavenger_GetCurrentCacheUsage_Stub(
  1640. IRpcStubBuffer *This,
  1641. IRpcChannelBuffer *_pRpcChannelBuffer,
  1642. PRPC_MESSAGE _pRpcMessage,
  1643. DWORD *_pdwStubPhase);
  1644. #endif /* __IAssemblyScavenger_INTERFACE_DEFINED__ */
  1645. #ifndef __IAssemblyCache_INTERFACE_DEFINED__
  1646. #define __IAssemblyCache_INTERFACE_DEFINED__
  1647. /* interface IAssemblyCache */
  1648. /* [unique][uuid][object][local] */
  1649. EXTERN_C const IID IID_IAssemblyCache;
  1650. #if defined(__cplusplus) && !defined(CINTERFACE)
  1651. MIDL_INTERFACE("e707dcde-d1cd-11d2-bab9-00c04f8eceae")
  1652. IAssemblyCache : public IUnknown
  1653. {
  1654. public:
  1655. virtual HRESULT STDMETHODCALLTYPE UninstallAssembly(
  1656. /* [in] */ DWORD dwFlags,
  1657. /* [in] */ LPCWSTR pszAssemblyName,
  1658. /* [in] */ PVOID pvReserved,
  1659. /* [optional][out] */ ULONG *pulDisposition) = 0;
  1660. virtual HRESULT STDMETHODCALLTYPE QueryAssemblyInfo(
  1661. /* [in] */ DWORD dwFlags,
  1662. /* [in] */ LPCWSTR pszAssemblyName,
  1663. /* [out][in] */ ASSEMBLY_INFO *pAsmInfo) = 0;
  1664. virtual HRESULT STDMETHODCALLTYPE CreateAssemblyCacheItem(
  1665. /* [in] */ DWORD dwFlags,
  1666. /* [in] */ PVOID pvReserved,
  1667. /* [out] */ IAssemblyCacheItem **ppAsmItem,
  1668. /* [optional][in] */ LPCWSTR pszAssemblyName) = 0;
  1669. virtual HRESULT STDMETHODCALLTYPE CreateAssemblyScavenger(
  1670. /* [out] */ IAssemblyScavenger **ppAsmScavenger) = 0;
  1671. virtual HRESULT STDMETHODCALLTYPE InstallAssembly(
  1672. /* [in] */ DWORD dwFlags,
  1673. /* [in] */ LPCWSTR pszManifestFilePath,
  1674. /* [in] */ PVOID pvReserved) = 0;
  1675. };
  1676. #else /* C style interface */
  1677. typedef struct IAssemblyCacheVtbl
  1678. {
  1679. BEGIN_INTERFACE
  1680. HRESULT ( STDMETHODCALLTYPE *QueryInterface )(
  1681. IAssemblyCache * This,
  1682. /* [in] */ REFIID riid,
  1683. /* [iid_is][out] */ void **ppvObject);
  1684. ULONG ( STDMETHODCALLTYPE *AddRef )(
  1685. IAssemblyCache * This);
  1686. ULONG ( STDMETHODCALLTYPE *Release )(
  1687. IAssemblyCache * This);
  1688. HRESULT ( STDMETHODCALLTYPE *UninstallAssembly )(
  1689. IAssemblyCache * This,
  1690. /* [in] */ DWORD dwFlags,
  1691. /* [in] */ LPCWSTR pszAssemblyName,
  1692. /* [in] */ PVOID pvReserved,
  1693. /* [optional][out] */ ULONG *pulDisposition);
  1694. HRESULT ( STDMETHODCALLTYPE *QueryAssemblyInfo )(
  1695. IAssemblyCache * This,
  1696. /* [in] */ DWORD dwFlags,
  1697. /* [in] */ LPCWSTR pszAssemblyName,
  1698. /* [out][in] */ ASSEMBLY_INFO *pAsmInfo);
  1699. HRESULT ( STDMETHODCALLTYPE *CreateAssemblyCacheItem )(
  1700. IAssemblyCache * This,
  1701. /* [in] */ DWORD dwFlags,
  1702. /* [in] */ PVOID pvReserved,
  1703. /* [out] */ IAssemblyCacheItem **ppAsmItem,
  1704. /* [optional][in] */ LPCWSTR pszAssemblyName);
  1705. HRESULT ( STDMETHODCALLTYPE *CreateAssemblyScavenger )(
  1706. IAssemblyCache * This,
  1707. /* [out] */ IAssemblyScavenger **ppAsmScavenger);
  1708. HRESULT ( STDMETHODCALLTYPE *InstallAssembly )(
  1709. IAssemblyCache * This,
  1710. /* [in] */ DWORD dwFlags,
  1711. /* [in] */ LPCWSTR pszManifestFilePath,
  1712. /* [in] */ PVOID pvReserved);
  1713. END_INTERFACE
  1714. } IAssemblyCacheVtbl;
  1715. interface IAssemblyCache
  1716. {
  1717. CONST_VTBL struct IAssemblyCacheVtbl *lpVtbl;
  1718. };
  1719. #ifdef COBJMACROS
  1720. #define IAssemblyCache_QueryInterface(This,riid,ppvObject) \
  1721. (This)->lpVtbl -> QueryInterface(This,riid,ppvObject)
  1722. #define IAssemblyCache_AddRef(This) \
  1723. (This)->lpVtbl -> AddRef(This)
  1724. #define IAssemblyCache_Release(This) \
  1725. (This)->lpVtbl -> Release(This)
  1726. #define IAssemblyCache_UninstallAssembly(This,dwFlags,pszAssemblyName,pvReserved,pulDisposition) \
  1727. (This)->lpVtbl -> UninstallAssembly(This,dwFlags,pszAssemblyName,pvReserved,pulDisposition)
  1728. #define IAssemblyCache_QueryAssemblyInfo(This,dwFlags,pszAssemblyName,pAsmInfo) \
  1729. (This)->lpVtbl -> QueryAssemblyInfo(This,dwFlags,pszAssemblyName,pAsmInfo)
  1730. #define IAssemblyCache_CreateAssemblyCacheItem(This,dwFlags,pvReserved,ppAsmItem,pszAssemblyName) \
  1731. (This)->lpVtbl -> CreateAssemblyCacheItem(This,dwFlags,pvReserved,ppAsmItem,pszAssemblyName)
  1732. #define IAssemblyCache_CreateAssemblyScavenger(This,ppAsmScavenger) \
  1733. (This)->lpVtbl -> CreateAssemblyScavenger(This,ppAsmScavenger)
  1734. #define IAssemblyCache_InstallAssembly(This,dwFlags,pszManifestFilePath,pvReserved) \
  1735. (This)->lpVtbl -> InstallAssembly(This,dwFlags,pszManifestFilePath,pvReserved)
  1736. #endif /* COBJMACROS */
  1737. #endif /* C style interface */
  1738. HRESULT STDMETHODCALLTYPE IAssemblyCache_UninstallAssembly_Proxy(
  1739. IAssemblyCache * This,
  1740. /* [in] */ DWORD dwFlags,
  1741. /* [in] */ LPCWSTR pszAssemblyName,
  1742. /* [in] */ PVOID pvReserved,
  1743. /* [optional][out] */ ULONG *pulDisposition);
  1744. void __RPC_STUB IAssemblyCache_UninstallAssembly_Stub(
  1745. IRpcStubBuffer *This,
  1746. IRpcChannelBuffer *_pRpcChannelBuffer,
  1747. PRPC_MESSAGE _pRpcMessage,
  1748. DWORD *_pdwStubPhase);
  1749. HRESULT STDMETHODCALLTYPE IAssemblyCache_QueryAssemblyInfo_Proxy(
  1750. IAssemblyCache * This,
  1751. /* [in] */ DWORD dwFlags,
  1752. /* [in] */ LPCWSTR pszAssemblyName,
  1753. /* [out][in] */ ASSEMBLY_INFO *pAsmInfo);
  1754. void __RPC_STUB IAssemblyCache_QueryAssemblyInfo_Stub(
  1755. IRpcStubBuffer *This,
  1756. IRpcChannelBuffer *_pRpcChannelBuffer,
  1757. PRPC_MESSAGE _pRpcMessage,
  1758. DWORD *_pdwStubPhase);
  1759. HRESULT STDMETHODCALLTYPE IAssemblyCache_CreateAssemblyCacheItem_Proxy(
  1760. IAssemblyCache * This,
  1761. /* [in] */ DWORD dwFlags,
  1762. /* [in] */ PVOID pvReserved,
  1763. /* [out] */ IAssemblyCacheItem **ppAsmItem,
  1764. /* [optional][in] */ LPCWSTR pszAssemblyName);
  1765. void __RPC_STUB IAssemblyCache_CreateAssemblyCacheItem_Stub(
  1766. IRpcStubBuffer *This,
  1767. IRpcChannelBuffer *_pRpcChannelBuffer,
  1768. PRPC_MESSAGE _pRpcMessage,
  1769. DWORD *_pdwStubPhase);
  1770. HRESULT STDMETHODCALLTYPE IAssemblyCache_CreateAssemblyScavenger_Proxy(
  1771. IAssemblyCache * This,
  1772. /* [out] */ IAssemblyScavenger **ppAsmScavenger);
  1773. void __RPC_STUB IAssemblyCache_CreateAssemblyScavenger_Stub(
  1774. IRpcStubBuffer *This,
  1775. IRpcChannelBuffer *_pRpcChannelBuffer,
  1776. PRPC_MESSAGE _pRpcMessage,
  1777. DWORD *_pdwStubPhase);
  1778. HRESULT STDMETHODCALLTYPE IAssemblyCache_InstallAssembly_Proxy(
  1779. IAssemblyCache * This,
  1780. /* [in] */ DWORD dwFlags,
  1781. /* [in] */ LPCWSTR pszManifestFilePath,
  1782. /* [in] */ PVOID pvReserved);
  1783. void __RPC_STUB IAssemblyCache_InstallAssembly_Stub(
  1784. IRpcStubBuffer *This,
  1785. IRpcChannelBuffer *_pRpcChannelBuffer,
  1786. PRPC_MESSAGE _pRpcMessage,
  1787. DWORD *_pdwStubPhase);
  1788. #endif /* __IAssemblyCache_INTERFACE_DEFINED__ */
  1789. #ifndef __IHistoryAssembly_INTERFACE_DEFINED__
  1790. #define __IHistoryAssembly_INTERFACE_DEFINED__
  1791. /* interface IHistoryAssembly */
  1792. /* [unique][uuid][object][local] */
  1793. EXTERN_C const IID IID_IHistoryAssembly;
  1794. #if defined(__cplusplus) && !defined(CINTERFACE)
  1795. MIDL_INTERFACE("e6096a07-e188-4a49-8d50-2a0172a0d205")
  1796. IHistoryAssembly : public IUnknown
  1797. {
  1798. public:
  1799. virtual HRESULT STDMETHODCALLTYPE GetAssemblyName(
  1800. /* [out] */ LPWSTR wzAsmName,
  1801. /* [out][in] */ DWORD *pdwSize) = 0;
  1802. virtual HRESULT STDMETHODCALLTYPE GetPublicKeyToken(
  1803. /* [out] */ LPWSTR wzPublicKeyToken,
  1804. /* [out][in] */ DWORD *pdwSize) = 0;
  1805. virtual HRESULT STDMETHODCALLTYPE GetCulture(
  1806. /* [out] */ LPWSTR wzCulture,
  1807. /* [out][in] */ DWORD *pdwSize) = 0;
  1808. virtual HRESULT STDMETHODCALLTYPE GetReferenceVersion(
  1809. /* [out] */ LPWSTR wzVerRef,
  1810. /* [out][in] */ DWORD *pdwSize) = 0;
  1811. virtual HRESULT STDMETHODCALLTYPE GetActivationDate(
  1812. /* [out] */ LPWSTR wzActivationDate,
  1813. /* [out][in] */ DWORD *pdwSize) = 0;
  1814. virtual HRESULT STDMETHODCALLTYPE GetAppCfgVersion(
  1815. /* [out] */ LPWSTR pwzVerAppCfg,
  1816. /* [out][in] */ DWORD *pdwSize) = 0;
  1817. virtual HRESULT STDMETHODCALLTYPE GetPublisherCfgVersion(
  1818. /* [out] */ LPWSTR pwzVerPublisherCfg,
  1819. /* [out][in] */ DWORD *pdwSize) = 0;
  1820. virtual HRESULT STDMETHODCALLTYPE GetAdminCfgVersion(
  1821. /* [out] */ LPWSTR pwzAdminCfg,
  1822. /* [out][in] */ DWORD *pdwSize) = 0;
  1823. };
  1824. #else /* C style interface */
  1825. typedef struct IHistoryAssemblyVtbl
  1826. {
  1827. BEGIN_INTERFACE
  1828. HRESULT ( STDMETHODCALLTYPE *QueryInterface )(
  1829. IHistoryAssembly * This,
  1830. /* [in] */ REFIID riid,
  1831. /* [iid_is][out] */ void **ppvObject);
  1832. ULONG ( STDMETHODCALLTYPE *AddRef )(
  1833. IHistoryAssembly * This);
  1834. ULONG ( STDMETHODCALLTYPE *Release )(
  1835. IHistoryAssembly * This);
  1836. HRESULT ( STDMETHODCALLTYPE *GetAssemblyName )(
  1837. IHistoryAssembly * This,
  1838. /* [out] */ LPWSTR wzAsmName,
  1839. /* [out][in] */ DWORD *pdwSize);
  1840. HRESULT ( STDMETHODCALLTYPE *GetPublicKeyToken )(
  1841. IHistoryAssembly * This,
  1842. /* [out] */ LPWSTR wzPublicKeyToken,
  1843. /* [out][in] */ DWORD *pdwSize);
  1844. HRESULT ( STDMETHODCALLTYPE *GetCulture )(
  1845. IHistoryAssembly * This,
  1846. /* [out] */ LPWSTR wzCulture,
  1847. /* [out][in] */ DWORD *pdwSize);
  1848. HRESULT ( STDMETHODCALLTYPE *GetReferenceVersion )(
  1849. IHistoryAssembly * This,
  1850. /* [out] */ LPWSTR wzVerRef,
  1851. /* [out][in] */ DWORD *pdwSize);
  1852. HRESULT ( STDMETHODCALLTYPE *GetActivationDate )(
  1853. IHistoryAssembly * This,
  1854. /* [out] */ LPWSTR wzActivationDate,
  1855. /* [out][in] */ DWORD *pdwSize);
  1856. HRESULT ( STDMETHODCALLTYPE *GetAppCfgVersion )(
  1857. IHistoryAssembly * This,
  1858. /* [out] */ LPWSTR pwzVerAppCfg,
  1859. /* [out][in] */ DWORD *pdwSize);
  1860. HRESULT ( STDMETHODCALLTYPE *GetPublisherCfgVersion )(
  1861. IHistoryAssembly * This,
  1862. /* [out] */ LPWSTR pwzVerPublisherCfg,
  1863. /* [out][in] */ DWORD *pdwSize);
  1864. HRESULT ( STDMETHODCALLTYPE *GetAdminCfgVersion )(
  1865. IHistoryAssembly * This,
  1866. /* [out] */ LPWSTR pwzAdminCfg,
  1867. /* [out][in] */ DWORD *pdwSize);
  1868. END_INTERFACE
  1869. } IHistoryAssemblyVtbl;
  1870. interface IHistoryAssembly
  1871. {
  1872. CONST_VTBL struct IHistoryAssemblyVtbl *lpVtbl;
  1873. };
  1874. #ifdef COBJMACROS
  1875. #define IHistoryAssembly_QueryInterface(This,riid,ppvObject) \
  1876. (This)->lpVtbl -> QueryInterface(This,riid,ppvObject)
  1877. #define IHistoryAssembly_AddRef(This) \
  1878. (This)->lpVtbl -> AddRef(This)
  1879. #define IHistoryAssembly_Release(This) \
  1880. (This)->lpVtbl -> Release(This)
  1881. #define IHistoryAssembly_GetAssemblyName(This,wzAsmName,pdwSize) \
  1882. (This)->lpVtbl -> GetAssemblyName(This,wzAsmName,pdwSize)
  1883. #define IHistoryAssembly_GetPublicKeyToken(This,wzPublicKeyToken,pdwSize) \
  1884. (This)->lpVtbl -> GetPublicKeyToken(This,wzPublicKeyToken,pdwSize)
  1885. #define IHistoryAssembly_GetCulture(This,wzCulture,pdwSize) \
  1886. (This)->lpVtbl -> GetCulture(This,wzCulture,pdwSize)
  1887. #define IHistoryAssembly_GetReferenceVersion(This,wzVerRef,pdwSize) \
  1888. (This)->lpVtbl -> GetReferenceVersion(This,wzVerRef,pdwSize)
  1889. #define IHistoryAssembly_GetActivationDate(This,wzActivationDate,pdwSize) \
  1890. (This)->lpVtbl -> GetActivationDate(This,wzActivationDate,pdwSize)
  1891. #define IHistoryAssembly_GetAppCfgVersion(This,pwzVerAppCfg,pdwSize) \
  1892. (This)->lpVtbl -> GetAppCfgVersion(This,pwzVerAppCfg,pdwSize)
  1893. #define IHistoryAssembly_GetPublisherCfgVersion(This,pwzVerPublisherCfg,pdwSize) \
  1894. (This)->lpVtbl -> GetPublisherCfgVersion(This,pwzVerPublisherCfg,pdwSize)
  1895. #define IHistoryAssembly_GetAdminCfgVersion(This,pwzAdminCfg,pdwSize) \
  1896. (This)->lpVtbl -> GetAdminCfgVersion(This,pwzAdminCfg,pdwSize)
  1897. #endif /* COBJMACROS */
  1898. #endif /* C style interface */
  1899. HRESULT STDMETHODCALLTYPE IHistoryAssembly_GetAssemblyName_Proxy(
  1900. IHistoryAssembly * This,
  1901. /* [out] */ LPWSTR wzAsmName,
  1902. /* [out][in] */ DWORD *pdwSize);
  1903. void __RPC_STUB IHistoryAssembly_GetAssemblyName_Stub(
  1904. IRpcStubBuffer *This,
  1905. IRpcChannelBuffer *_pRpcChannelBuffer,
  1906. PRPC_MESSAGE _pRpcMessage,
  1907. DWORD *_pdwStubPhase);
  1908. HRESULT STDMETHODCALLTYPE IHistoryAssembly_GetPublicKeyToken_Proxy(
  1909. IHistoryAssembly * This,
  1910. /* [out] */ LPWSTR wzPublicKeyToken,
  1911. /* [out][in] */ DWORD *pdwSize);
  1912. void __RPC_STUB IHistoryAssembly_GetPublicKeyToken_Stub(
  1913. IRpcStubBuffer *This,
  1914. IRpcChannelBuffer *_pRpcChannelBuffer,
  1915. PRPC_MESSAGE _pRpcMessage,
  1916. DWORD *_pdwStubPhase);
  1917. HRESULT STDMETHODCALLTYPE IHistoryAssembly_GetCulture_Proxy(
  1918. IHistoryAssembly * This,
  1919. /* [out] */ LPWSTR wzCulture,
  1920. /* [out][in] */ DWORD *pdwSize);
  1921. void __RPC_STUB IHistoryAssembly_GetCulture_Stub(
  1922. IRpcStubBuffer *This,
  1923. IRpcChannelBuffer *_pRpcChannelBuffer,
  1924. PRPC_MESSAGE _pRpcMessage,
  1925. DWORD *_pdwStubPhase);
  1926. HRESULT STDMETHODCALLTYPE IHistoryAssembly_GetReferenceVersion_Proxy(
  1927. IHistoryAssembly * This,
  1928. /* [out] */ LPWSTR wzVerRef,
  1929. /* [out][in] */ DWORD *pdwSize);
  1930. void __RPC_STUB IHistoryAssembly_GetReferenceVersion_Stub(
  1931. IRpcStubBuffer *This,
  1932. IRpcChannelBuffer *_pRpcChannelBuffer,
  1933. PRPC_MESSAGE _pRpcMessage,
  1934. DWORD *_pdwStubPhase);
  1935. HRESULT STDMETHODCALLTYPE IHistoryAssembly_GetActivationDate_Proxy(
  1936. IHistoryAssembly * This,
  1937. /* [out] */ LPWSTR wzActivationDate,
  1938. /* [out][in] */ DWORD *pdwSize);
  1939. void __RPC_STUB IHistoryAssembly_GetActivationDate_Stub(
  1940. IRpcStubBuffer *This,
  1941. IRpcChannelBuffer *_pRpcChannelBuffer,
  1942. PRPC_MESSAGE _pRpcMessage,
  1943. DWORD *_pdwStubPhase);
  1944. HRESULT STDMETHODCALLTYPE IHistoryAssembly_GetAppCfgVersion_Proxy(
  1945. IHistoryAssembly * This,
  1946. /* [out] */ LPWSTR pwzVerAppCfg,
  1947. /* [out][in] */ DWORD *pdwSize);
  1948. void __RPC_STUB IHistoryAssembly_GetAppCfgVersion_Stub(
  1949. IRpcStubBuffer *This,
  1950. IRpcChannelBuffer *_pRpcChannelBuffer,
  1951. PRPC_MESSAGE _pRpcMessage,
  1952. DWORD *_pdwStubPhase);
  1953. HRESULT STDMETHODCALLTYPE IHistoryAssembly_GetPublisherCfgVersion_Proxy(
  1954. IHistoryAssembly * This,
  1955. /* [out] */ LPWSTR pwzVerPublisherCfg,
  1956. /* [out][in] */ DWORD *pdwSize);
  1957. void __RPC_STUB IHistoryAssembly_GetPublisherCfgVersion_Stub(
  1958. IRpcStubBuffer *This,
  1959. IRpcChannelBuffer *_pRpcChannelBuffer,
  1960. PRPC_MESSAGE _pRpcMessage,
  1961. DWORD *_pdwStubPhase);
  1962. HRESULT STDMETHODCALLTYPE IHistoryAssembly_GetAdminCfgVersion_Proxy(
  1963. IHistoryAssembly * This,
  1964. /* [out] */ LPWSTR pwzAdminCfg,
  1965. /* [out][in] */ DWORD *pdwSize);
  1966. void __RPC_STUB IHistoryAssembly_GetAdminCfgVersion_Stub(
  1967. IRpcStubBuffer *This,
  1968. IRpcChannelBuffer *_pRpcChannelBuffer,
  1969. PRPC_MESSAGE _pRpcMessage,
  1970. DWORD *_pdwStubPhase);
  1971. #endif /* __IHistoryAssembly_INTERFACE_DEFINED__ */
  1972. #ifndef __IHistoryReader_INTERFACE_DEFINED__
  1973. #define __IHistoryReader_INTERFACE_DEFINED__
  1974. /* interface IHistoryReader */
  1975. /* [unique][uuid][object][local] */
  1976. EXTERN_C const IID IID_IHistoryReader;
  1977. #if defined(__cplusplus) && !defined(CINTERFACE)
  1978. MIDL_INTERFACE("1d23df4d-a1e2-4b8b-93d6-6ea3dc285a54")
  1979. IHistoryReader : public IUnknown
  1980. {
  1981. public:
  1982. virtual HRESULT STDMETHODCALLTYPE GetFilePath(
  1983. /* [out] */ LPWSTR wzFilePath,
  1984. /* [out][in] */ DWORD *pdwSize) = 0;
  1985. virtual HRESULT STDMETHODCALLTYPE GetApplicationName(
  1986. /* [out] */ LPWSTR wzAppName,
  1987. /* [out][in] */ DWORD *pdwSize) = 0;
  1988. virtual HRESULT STDMETHODCALLTYPE GetEXEModulePath(
  1989. /* [out] */ LPWSTR wzExePath,
  1990. /* [out][in] */ DWORD *pdwSize) = 0;
  1991. virtual HRESULT STDMETHODCALLTYPE GetNumActivations(
  1992. /* [out] */ DWORD *pdwNumActivations) = 0;
  1993. virtual HRESULT STDMETHODCALLTYPE GetActivationDate(
  1994. /* [in] */ DWORD dwIdx,
  1995. /* [out] */ FILETIME *pftDate) = 0;
  1996. virtual HRESULT STDMETHODCALLTYPE GetRunTimeVersion(
  1997. /* [in] */ FILETIME *pftActivationDate,
  1998. /* [out] */ LPWSTR wzRunTimeVersion,
  1999. /* [out][in] */ DWORD *pdwSize) = 0;
  2000. virtual HRESULT STDMETHODCALLTYPE GetNumAssemblies(
  2001. /* [in] */ FILETIME *pftActivationDate,
  2002. /* [out] */ DWORD *pdwNumAsms) = 0;
  2003. virtual HRESULT STDMETHODCALLTYPE GetHistoryAssembly(
  2004. /* [in] */ FILETIME *pftActivationDate,
  2005. /* [in] */ DWORD dwIdx,
  2006. /* [out] */ IHistoryAssembly **ppHistAsm) = 0;
  2007. };
  2008. #else /* C style interface */
  2009. typedef struct IHistoryReaderVtbl
  2010. {
  2011. BEGIN_INTERFACE
  2012. HRESULT ( STDMETHODCALLTYPE *QueryInterface )(
  2013. IHistoryReader * This,
  2014. /* [in] */ REFIID riid,
  2015. /* [iid_is][out] */ void **ppvObject);
  2016. ULONG ( STDMETHODCALLTYPE *AddRef )(
  2017. IHistoryReader * This);
  2018. ULONG ( STDMETHODCALLTYPE *Release )(
  2019. IHistoryReader * This);
  2020. HRESULT ( STDMETHODCALLTYPE *GetFilePath )(
  2021. IHistoryReader * This,
  2022. /* [out] */ LPWSTR wzFilePath,
  2023. /* [out][in] */ DWORD *pdwSize);
  2024. HRESULT ( STDMETHODCALLTYPE *GetApplicationName )(
  2025. IHistoryReader * This,
  2026. /* [out] */ LPWSTR wzAppName,
  2027. /* [out][in] */ DWORD *pdwSize);
  2028. HRESULT ( STDMETHODCALLTYPE *GetEXEModulePath )(
  2029. IHistoryReader * This,
  2030. /* [out] */ LPWSTR wzExePath,
  2031. /* [out][in] */ DWORD *pdwSize);
  2032. HRESULT ( STDMETHODCALLTYPE *GetNumActivations )(
  2033. IHistoryReader * This,
  2034. /* [out] */ DWORD *pdwNumActivations);
  2035. HRESULT ( STDMETHODCALLTYPE *GetActivationDate )(
  2036. IHistoryReader * This,
  2037. /* [in] */ DWORD dwIdx,
  2038. /* [out] */ FILETIME *pftDate);
  2039. HRESULT ( STDMETHODCALLTYPE *GetRunTimeVersion )(
  2040. IHistoryReader * This,
  2041. /* [in] */ FILETIME *pftActivationDate,
  2042. /* [out] */ LPWSTR wzRunTimeVersion,
  2043. /* [out][in] */ DWORD *pdwSize);
  2044. HRESULT ( STDMETHODCALLTYPE *GetNumAssemblies )(
  2045. IHistoryReader * This,
  2046. /* [in] */ FILETIME *pftActivationDate,
  2047. /* [out] */ DWORD *pdwNumAsms);
  2048. HRESULT ( STDMETHODCALLTYPE *GetHistoryAssembly )(
  2049. IHistoryReader * This,
  2050. /* [in] */ FILETIME *pftActivationDate,
  2051. /* [in] */ DWORD dwIdx,
  2052. /* [out] */ IHistoryAssembly **ppHistAsm);
  2053. END_INTERFACE
  2054. } IHistoryReaderVtbl;
  2055. interface IHistoryReader
  2056. {
  2057. CONST_VTBL struct IHistoryReaderVtbl *lpVtbl;
  2058. };
  2059. #ifdef COBJMACROS
  2060. #define IHistoryReader_QueryInterface(This,riid,ppvObject) \
  2061. (This)->lpVtbl -> QueryInterface(This,riid,ppvObject)
  2062. #define IHistoryReader_AddRef(This) \
  2063. (This)->lpVtbl -> AddRef(This)
  2064. #define IHistoryReader_Release(This) \
  2065. (This)->lpVtbl -> Release(This)
  2066. #define IHistoryReader_GetFilePath(This,wzFilePath,pdwSize) \
  2067. (This)->lpVtbl -> GetFilePath(This,wzFilePath,pdwSize)
  2068. #define IHistoryReader_GetApplicationName(This,wzAppName,pdwSize) \
  2069. (This)->lpVtbl -> GetApplicationName(This,wzAppName,pdwSize)
  2070. #define IHistoryReader_GetEXEModulePath(This,wzExePath,pdwSize) \
  2071. (This)->lpVtbl -> GetEXEModulePath(This,wzExePath,pdwSize)
  2072. #define IHistoryReader_GetNumActivations(This,pdwNumActivations) \
  2073. (This)->lpVtbl -> GetNumActivations(This,pdwNumActivations)
  2074. #define IHistoryReader_GetActivationDate(This,dwIdx,pftDate) \
  2075. (This)->lpVtbl -> GetActivationDate(This,dwIdx,pftDate)
  2076. #define IHistoryReader_GetRunTimeVersion(This,pftActivationDate,wzRunTimeVersion,pdwSize) \
  2077. (This)->lpVtbl -> GetRunTimeVersion(This,pftActivationDate,wzRunTimeVersion,pdwSize)
  2078. #define IHistoryReader_GetNumAssemblies(This,pftActivationDate,pdwNumAsms) \
  2079. (This)->lpVtbl -> GetNumAssemblies(This,pftActivationDate,pdwNumAsms)
  2080. #define IHistoryReader_GetHistoryAssembly(This,pftActivationDate,dwIdx,ppHistAsm) \
  2081. (This)->lpVtbl -> GetHistoryAssembly(This,pftActivationDate,dwIdx,ppHistAsm)
  2082. #endif /* COBJMACROS */
  2083. #endif /* C style interface */
  2084. HRESULT STDMETHODCALLTYPE IHistoryReader_GetFilePath_Proxy(
  2085. IHistoryReader * This,
  2086. /* [out] */ LPWSTR wzFilePath,
  2087. /* [out][in] */ DWORD *pdwSize);
  2088. void __RPC_STUB IHistoryReader_GetFilePath_Stub(
  2089. IRpcStubBuffer *This,
  2090. IRpcChannelBuffer *_pRpcChannelBuffer,
  2091. PRPC_MESSAGE _pRpcMessage,
  2092. DWORD *_pdwStubPhase);
  2093. HRESULT STDMETHODCALLTYPE IHistoryReader_GetApplicationName_Proxy(
  2094. IHistoryReader * This,
  2095. /* [out] */ LPWSTR wzAppName,
  2096. /* [out][in] */ DWORD *pdwSize);
  2097. void __RPC_STUB IHistoryReader_GetApplicationName_Stub(
  2098. IRpcStubBuffer *This,
  2099. IRpcChannelBuffer *_pRpcChannelBuffer,
  2100. PRPC_MESSAGE _pRpcMessage,
  2101. DWORD *_pdwStubPhase);
  2102. HRESULT STDMETHODCALLTYPE IHistoryReader_GetEXEModulePath_Proxy(
  2103. IHistoryReader * This,
  2104. /* [out] */ LPWSTR wzExePath,
  2105. /* [out][in] */ DWORD *pdwSize);
  2106. void __RPC_STUB IHistoryReader_GetEXEModulePath_Stub(
  2107. IRpcStubBuffer *This,
  2108. IRpcChannelBuffer *_pRpcChannelBuffer,
  2109. PRPC_MESSAGE _pRpcMessage,
  2110. DWORD *_pdwStubPhase);
  2111. HRESULT STDMETHODCALLTYPE IHistoryReader_GetNumActivations_Proxy(
  2112. IHistoryReader * This,
  2113. /* [out] */ DWORD *pdwNumActivations);
  2114. void __RPC_STUB IHistoryReader_GetNumActivations_Stub(
  2115. IRpcStubBuffer *This,
  2116. IRpcChannelBuffer *_pRpcChannelBuffer,
  2117. PRPC_MESSAGE _pRpcMessage,
  2118. DWORD *_pdwStubPhase);
  2119. HRESULT STDMETHODCALLTYPE IHistoryReader_GetActivationDate_Proxy(
  2120. IHistoryReader * This,
  2121. /* [in] */ DWORD dwIdx,
  2122. /* [out] */ FILETIME *pftDate);
  2123. void __RPC_STUB IHistoryReader_GetActivationDate_Stub(
  2124. IRpcStubBuffer *This,
  2125. IRpcChannelBuffer *_pRpcChannelBuffer,
  2126. PRPC_MESSAGE _pRpcMessage,
  2127. DWORD *_pdwStubPhase);
  2128. HRESULT STDMETHODCALLTYPE IHistoryReader_GetRunTimeVersion_Proxy(
  2129. IHistoryReader * This,
  2130. /* [in] */ FILETIME *pftActivationDate,
  2131. /* [out] */ LPWSTR wzRunTimeVersion,
  2132. /* [out][in] */ DWORD *pdwSize);
  2133. void __RPC_STUB IHistoryReader_GetRunTimeVersion_Stub(
  2134. IRpcStubBuffer *This,
  2135. IRpcChannelBuffer *_pRpcChannelBuffer,
  2136. PRPC_MESSAGE _pRpcMessage,
  2137. DWORD *_pdwStubPhase);
  2138. HRESULT STDMETHODCALLTYPE IHistoryReader_GetNumAssemblies_Proxy(
  2139. IHistoryReader * This,
  2140. /* [in] */ FILETIME *pftActivationDate,
  2141. /* [out] */ DWORD *pdwNumAsms);
  2142. void __RPC_STUB IHistoryReader_GetNumAssemblies_Stub(
  2143. IRpcStubBuffer *This,
  2144. IRpcChannelBuffer *_pRpcChannelBuffer,
  2145. PRPC_MESSAGE _pRpcMessage,
  2146. DWORD *_pdwStubPhase);
  2147. HRESULT STDMETHODCALLTYPE IHistoryReader_GetHistoryAssembly_Proxy(
  2148. IHistoryReader * This,
  2149. /* [in] */ FILETIME *pftActivationDate,
  2150. /* [in] */ DWORD dwIdx,
  2151. /* [out] */ IHistoryAssembly **ppHistAsm);
  2152. void __RPC_STUB IHistoryReader_GetHistoryAssembly_Stub(
  2153. IRpcStubBuffer *This,
  2154. IRpcChannelBuffer *_pRpcChannelBuffer,
  2155. PRPC_MESSAGE _pRpcMessage,
  2156. DWORD *_pdwStubPhase);
  2157. #endif /* __IHistoryReader_INTERFACE_DEFINED__ */
  2158. /* interface __MIDL_itf_fusion_0122 */
  2159. /* [local] */
  2160. STDAPI CreateHistoryReader(LPCWSTR wzFilePath, IHistoryReader **ppHistReader);
  2161. STDAPI LookupHistoryAssembly(LPCWSTR pwzFilePath, FILETIME *pftActivationDate, LPCWSTR pwzAsmName, LPCWSTR pwzPublicKeyToken, LPCWSTR wzCulture, LPCWSTR pwzVerRef, IHistoryAssembly **pHistAsm);
  2162. STDAPI GetHistoryFileDirectory(LPWSTR wzDir, DWORD *pdwSize);
  2163. STDAPI AddAssemblyToCacheW(HWND hwnd, HINSTANCE hinst, LPWSTR lpszCmdLine, int nCmdShow);
  2164. STDAPI AddAssemblyToCacheA(HWND hwnd, HINSTANCE hinst, LPSTR lpszCmdLine, int nCmdShow);
  2165. STDAPI RemoveAssemblyFromCacheW(HWND hwnd, HINSTANCE hinst, LPWSTR lpszCmdLine, int nCmdShow);
  2166. STDAPI RemoveAssemblyFromCacheA(HWND hwnd, HINSTANCE hinst, LPSTR lpszCmdLine, int nCmdShow);
  2167. STDAPI CreateAssemblyNameObject(LPASSEMBLYNAME *ppAssemblyNameObj, LPCWSTR szAssemblyName, DWORD dwFlags, LPVOID pvReserved);
  2168. STDAPI CreateApplicationContext(IAssemblyName *pName, LPAPPLICATIONCONTEXT *ppCtx);
  2169. STDAPI CreateAssemblyCache(IAssemblyCache **ppAsmCache, DWORD dwReserved);
  2170. STDAPI CreateAssemblyEnum(IAssemblyEnum **pEnum, IApplicationContext *pAppCtx, IAssemblyName *pName, DWORD dwFlags, LPVOID pvReserved);
  2171. STDAPI SetSchemaVersion(DWORD dwNewMinorVersion, DWORD dwCacheId, BOOL fIsNameRes);
  2172. typedef /* [public] */
  2173. enum __MIDL___MIDL_itf_fusion_0122_0001
  2174. { CANOF_PARSE_DISPLAY_NAME = 0x1,
  2175. CANOF_SET_DEFAULT_VALUES = 0x2
  2176. } CREATE_ASM_NAME_OBJ_FLAGS;
  2177. typedef /* [public] */
  2178. enum __MIDL___MIDL_itf_fusion_0122_0002
  2179. { ASM_CACHE_ZAP = 0x1,
  2180. ASM_CACHE_GAC = 0x2,
  2181. ASM_CACHE_DOWNLOAD = 0x4
  2182. } ASM_CACHE_FLAGS;
  2183. typedef /* [public] */
  2184. enum __MIDL___MIDL_itf_fusion_0122_0003
  2185. { SH_INIT_FOR_GLOBAL = 0,
  2186. SH_INIT_FOR_USER = SH_INIT_FOR_GLOBAL + 1
  2187. } SH_INIT_FLAGS;
  2188. #endif
  2189. extern RPC_IF_HANDLE __MIDL_itf_fusion_0122_v0_0_c_ifspec;
  2190. extern RPC_IF_HANDLE __MIDL_itf_fusion_0122_v0_0_s_ifspec;
  2191. /* Additional Prototypes for ALL interfaces */
  2192. /* end of Additional Prototypes */
  2193. #ifdef __cplusplus
  2194. }
  2195. #endif
  2196. #endif