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.

1263 lines
39 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.0338 */
  4. /* at Tue Jul 31 11:25:26 2001
  5. */
  6. /* Compiler settings for fusion.idl:
  7. Oicf, W1, Zp8, env=Win32 (32b run)
  8. protocol : dce , ms_ext, c_ext
  9. error checks: allocation ref bounds_check enum stub_data , no_format_optimization
  10. VC __declspec() decoration level:
  11. __declspec(uuid()), __declspec(selectany), __declspec(novtable)
  12. DECLSPEC_UUID(), MIDL_INTERFACE()
  13. */
  14. //@@MIDL_FILE_HEADING( )
  15. /* verify that the <rpcndr.h> version is high enough to compile this file*/
  16. #ifndef __REQUIRED_RPCNDR_H_VERSION__
  17. #define __REQUIRED_RPCNDR_H_VERSION__ 440
  18. #endif
  19. #include "rpc.h"
  20. #include "rpcndr.h"
  21. #ifndef __RPCNDR_H_VERSION__
  22. #error this stub requires an updated version of <rpcndr.h>
  23. #endif // __RPCNDR_H_VERSION__
  24. #ifndef COM_NO_WINDOWS_H
  25. #include "windows.h"
  26. #include "ole2.h"
  27. #endif /*COM_NO_WINDOWS_H*/
  28. #ifndef __fusion_h__
  29. #define __fusion_h__
  30. #if defined(_MSC_VER) && (_MSC_VER >= 1020)
  31. #pragma once
  32. #endif
  33. /* Forward Declarations */
  34. #ifndef __IAssemblyCache_FWD_DEFINED__
  35. #define __IAssemblyCache_FWD_DEFINED__
  36. typedef interface IAssemblyCache IAssemblyCache;
  37. #endif /* __IAssemblyCache_FWD_DEFINED__ */
  38. #ifndef __IAssemblyCacheItem_FWD_DEFINED__
  39. #define __IAssemblyCacheItem_FWD_DEFINED__
  40. typedef interface IAssemblyCacheItem IAssemblyCacheItem;
  41. #endif /* __IAssemblyCacheItem_FWD_DEFINED__ */
  42. #ifndef __IAssemblyName_FWD_DEFINED__
  43. #define __IAssemblyName_FWD_DEFINED__
  44. typedef interface IAssemblyName IAssemblyName;
  45. #endif /* __IAssemblyName_FWD_DEFINED__ */
  46. #ifndef __IAssemblyEnum_FWD_DEFINED__
  47. #define __IAssemblyEnum_FWD_DEFINED__
  48. typedef interface IAssemblyEnum IAssemblyEnum;
  49. #endif /* __IAssemblyEnum_FWD_DEFINED__ */
  50. #ifndef __IInstallReferenceItem_FWD_DEFINED__
  51. #define __IInstallReferenceItem_FWD_DEFINED__
  52. typedef interface IInstallReferenceItem IInstallReferenceItem;
  53. #endif /* __IInstallReferenceItem_FWD_DEFINED__ */
  54. #ifndef __IInstallReferenceEnum_FWD_DEFINED__
  55. #define __IInstallReferenceEnum_FWD_DEFINED__
  56. typedef interface IInstallReferenceEnum IInstallReferenceEnum;
  57. #endif /* __IInstallReferenceEnum_FWD_DEFINED__ */
  58. /* header files for imported files */
  59. #include "objidl.h"
  60. #include "oleidl.h"
  61. #ifdef __cplusplus
  62. extern "C"{
  63. #endif
  64. void * __RPC_USER MIDL_user_allocate(size_t);
  65. void __RPC_USER MIDL_user_free( void * );
  66. /* interface __MIDL_itf_fusion_0000 */
  67. /* [local] */
  68. //=--------------------------------------------------------------------------=
  69. // fusion.h
  70. //=--------------------------------------------------------------------------=
  71. // Copyright (c) Microsoft Corporation. All rights reserved.
  72. //
  73. // THIS CODE AND INFORMATION IS PROVIDED "AS IS" WITHOUT WARRANTY OF
  74. // ANY KIND, EITHER EXPRESSED OR IMPLIED, INCLUDING BUT NOT LIMITED TO
  75. // THE IMPLIED WARRANTIES OF MERCHANTABILITY AND/OR FITNESS FOR A
  76. // PARTICULAR PURPOSE.
  77. //=--------------------------------------------------------------------------=
  78. #pragma comment(lib,"uuid.lib")
  79. //---------------------------------------------------------------------------=
  80. // Fusion Interfaces.
  81. #pragma once
  82. EXTERN_C const IID IID_IAssemblyCache;
  83. EXTERN_C const IID IID_IAssemblyCacheItem;
  84. EXTERN_C const IID IID_IAssemblyName;
  85. EXTERN_C const IID IID_IAssemblyEnum;
  86. typedef /* [public] */
  87. enum __MIDL___MIDL_itf_fusion_0000_0001
  88. { ASM_CACHE_ZAP = 0x1,
  89. ASM_CACHE_GAC = 0x2,
  90. ASM_CACHE_DOWNLOAD = 0x4
  91. } ASM_CACHE_FLAGS;
  92. extern RPC_IF_HANDLE __MIDL_itf_fusion_0000_v0_0_c_ifspec;
  93. extern RPC_IF_HANDLE __MIDL_itf_fusion_0000_v0_0_s_ifspec;
  94. #ifndef __IAssemblyCache_INTERFACE_DEFINED__
  95. #define __IAssemblyCache_INTERFACE_DEFINED__
  96. /* interface IAssemblyCache */
  97. /* [unique][uuid][object][local] */
  98. // {8cedc215-ac4b-488b-93c0-a50a49cb2fb8}
  99. DEFINE_GUID(FUSION_REFCOUNT_UNINSTALL_SUBKEY_GUID, 0x8cedc215, 0xac4b, 0x488b, 0x93, 0xc0, 0xa5, 0x0a, 0x49, 0xcb, 0x2f, 0xb8);
  100. // {b02f9d65-fb77-4f7a-afa5-b391309f11c9}
  101. DEFINE_GUID(FUSION_REFCOUNT_FILEPATH_GUID, 0xb02f9d65, 0xfb77, 0x4f7a, 0xaf, 0xa5, 0xb3, 0x91, 0x30, 0x9f, 0x11, 0xc9);
  102. // {2ec93463-b0c3-45e1-8364-327e96aea856}
  103. DEFINE_GUID(FUSION_REFCOUNT_OPAQUE_STRING_GUID, 0x2ec93463, 0xb0c3, 0x45e1, 0x83, 0x64, 0x32, 0x7e, 0x96, 0xae, 0xa8, 0x56);
  104. // {25df0fc1-7f97-4070-add7-4b13bbfd7cb8} // this GUID cannot be used for installing into GAC.
  105. DEFINE_GUID(FUSION_REFCOUNT_MSI_GUID, 0x25df0fc1, 0x7f97, 0x4070, 0xad, 0xd7, 0x4b, 0x13, 0xbb, 0xfd, 0x7c, 0xb8);
  106. typedef struct _FUSION_INSTALL_REFERENCE_
  107. {
  108. DWORD cbSize;
  109. DWORD dwFlags;
  110. GUID guidScheme;
  111. LPCWSTR szIdentifier;
  112. LPCWSTR szNonCannonicalData;
  113. } FUSION_INSTALL_REFERENCE;
  114. typedef struct _FUSION_INSTALL_REFERENCE_ *LPFUSION_INSTALL_REFERENCE;
  115. typedef const FUSION_INSTALL_REFERENCE *LPCFUSION_INSTALL_REFERENCE;
  116. typedef struct _ASSEMBLY_INFO
  117. {
  118. ULONG cbAssemblyInfo;
  119. DWORD dwAssemblyFlags;
  120. ULARGE_INTEGER uliAssemblySizeInKB;
  121. LPWSTR pszCurrentAssemblyPathBuf;
  122. ULONG cchBuf;
  123. } ASSEMBLY_INFO;
  124. #define IASSEMBLYCACHE_INSTALL_FLAG_REFRESH (0x00000001)
  125. #define IASSEMBLYCACHE_UNINSTALL_DISPOSITION_UNINSTALLED (1)
  126. #define IASSEMBLYCACHE_UNINSTALL_DISPOSITION_STILL_IN_USE (2)
  127. #define IASSEMBLYCACHE_UNINSTALL_DISPOSITION_ALREADY_UNINSTALLED (3)
  128. #define IASSEMBLYCACHE_UNINSTALL_DISPOSITION_DELETE_PENDING (4)
  129. #define IASSEMBLYCACHE_UNINSTALL_DISPOSITION_HAS_INSTALL_REFERENCES (5)
  130. #define IASSEMBLYCACHE_UNINSTALL_DISPOSITION_REFERENCE_NOT_FOUND (6)
  131. #define QUERYASMINFO_FLAG_VALIDATE (0x00000001)
  132. #define QUERYASMINFO_FLAG_GETSIZE (0x00000002)
  133. #define ASSEMBLYINFO_FLAG_INSTALLED (0x00000001)
  134. #define ASSEMBLYINFO_FLAG_PAYLOADRESIDENT (0x00000002)
  135. EXTERN_C const IID IID_IAssemblyCache;
  136. #if defined(__cplusplus) && !defined(CINTERFACE)
  137. MIDL_INTERFACE("e707dcde-d1cd-11d2-bab9-00c04f8eceae")
  138. IAssemblyCache : public IUnknown
  139. {
  140. public:
  141. virtual HRESULT STDMETHODCALLTYPE UninstallAssembly(
  142. /* [in] */ DWORD dwFlags,
  143. /* [in] */ LPCWSTR pszAssemblyName,
  144. /* [in] */ LPCFUSION_INSTALL_REFERENCE pRefData,
  145. /* [optional][out] */ ULONG *pulDisposition) = 0;
  146. virtual HRESULT STDMETHODCALLTYPE QueryAssemblyInfo(
  147. /* [in] */ DWORD dwFlags,
  148. /* [in] */ LPCWSTR pszAssemblyName,
  149. /* [out][in] */ ASSEMBLY_INFO *pAsmInfo) = 0;
  150. virtual HRESULT STDMETHODCALLTYPE CreateAssemblyCacheItem(
  151. /* [in] */ DWORD dwFlags,
  152. /* [in] */ PVOID pvReserved,
  153. /* [out] */ IAssemblyCacheItem **ppAsmItem,
  154. /* [optional][in] */ LPCWSTR pszAssemblyName) = 0;
  155. virtual HRESULT STDMETHODCALLTYPE CreateAssemblyScavenger(
  156. /* [out] */ IUnknown **ppUnkReserved) = 0;
  157. virtual HRESULT STDMETHODCALLTYPE InstallAssembly(
  158. /* [in] */ DWORD dwFlags,
  159. /* [in] */ LPCWSTR pszManifestFilePath,
  160. /* [in] */ LPCFUSION_INSTALL_REFERENCE pRefData) = 0;
  161. };
  162. #else /* C style interface */
  163. typedef struct IAssemblyCacheVtbl
  164. {
  165. BEGIN_INTERFACE
  166. HRESULT ( STDMETHODCALLTYPE *QueryInterface )(
  167. IAssemblyCache * This,
  168. /* [in] */ REFIID riid,
  169. /* [iid_is][out] */ void **ppvObject);
  170. ULONG ( STDMETHODCALLTYPE *AddRef )(
  171. IAssemblyCache * This);
  172. ULONG ( STDMETHODCALLTYPE *Release )(
  173. IAssemblyCache * This);
  174. HRESULT ( STDMETHODCALLTYPE *UninstallAssembly )(
  175. IAssemblyCache * This,
  176. /* [in] */ DWORD dwFlags,
  177. /* [in] */ LPCWSTR pszAssemblyName,
  178. /* [in] */ LPCFUSION_INSTALL_REFERENCE pRefData,
  179. /* [optional][out] */ ULONG *pulDisposition);
  180. HRESULT ( STDMETHODCALLTYPE *QueryAssemblyInfo )(
  181. IAssemblyCache * This,
  182. /* [in] */ DWORD dwFlags,
  183. /* [in] */ LPCWSTR pszAssemblyName,
  184. /* [out][in] */ ASSEMBLY_INFO *pAsmInfo);
  185. HRESULT ( STDMETHODCALLTYPE *CreateAssemblyCacheItem )(
  186. IAssemblyCache * This,
  187. /* [in] */ DWORD dwFlags,
  188. /* [in] */ PVOID pvReserved,
  189. /* [out] */ IAssemblyCacheItem **ppAsmItem,
  190. /* [optional][in] */ LPCWSTR pszAssemblyName);
  191. HRESULT ( STDMETHODCALLTYPE *CreateAssemblyScavenger )(
  192. IAssemblyCache * This,
  193. /* [out] */ IUnknown **ppUnkReserved);
  194. HRESULT ( STDMETHODCALLTYPE *InstallAssembly )(
  195. IAssemblyCache * This,
  196. /* [in] */ DWORD dwFlags,
  197. /* [in] */ LPCWSTR pszManifestFilePath,
  198. /* [in] */ LPCFUSION_INSTALL_REFERENCE pRefData);
  199. END_INTERFACE
  200. } IAssemblyCacheVtbl;
  201. interface IAssemblyCache
  202. {
  203. CONST_VTBL struct IAssemblyCacheVtbl *lpVtbl;
  204. };
  205. #ifdef COBJMACROS
  206. #define IAssemblyCache_QueryInterface(This,riid,ppvObject) \
  207. (This)->lpVtbl -> QueryInterface(This,riid,ppvObject)
  208. #define IAssemblyCache_AddRef(This) \
  209. (This)->lpVtbl -> AddRef(This)
  210. #define IAssemblyCache_Release(This) \
  211. (This)->lpVtbl -> Release(This)
  212. #define IAssemblyCache_UninstallAssembly(This,dwFlags,pszAssemblyName,pRefData,pulDisposition) \
  213. (This)->lpVtbl -> UninstallAssembly(This,dwFlags,pszAssemblyName,pRefData,pulDisposition)
  214. #define IAssemblyCache_QueryAssemblyInfo(This,dwFlags,pszAssemblyName,pAsmInfo) \
  215. (This)->lpVtbl -> QueryAssemblyInfo(This,dwFlags,pszAssemblyName,pAsmInfo)
  216. #define IAssemblyCache_CreateAssemblyCacheItem(This,dwFlags,pvReserved,ppAsmItem,pszAssemblyName) \
  217. (This)->lpVtbl -> CreateAssemblyCacheItem(This,dwFlags,pvReserved,ppAsmItem,pszAssemblyName)
  218. #define IAssemblyCache_CreateAssemblyScavenger(This,ppUnkReserved) \
  219. (This)->lpVtbl -> CreateAssemblyScavenger(This,ppUnkReserved)
  220. #define IAssemblyCache_InstallAssembly(This,dwFlags,pszManifestFilePath,pRefData) \
  221. (This)->lpVtbl -> InstallAssembly(This,dwFlags,pszManifestFilePath,pRefData)
  222. #endif /* COBJMACROS */
  223. #endif /* C style interface */
  224. HRESULT STDMETHODCALLTYPE IAssemblyCache_UninstallAssembly_Proxy(
  225. IAssemblyCache * This,
  226. /* [in] */ DWORD dwFlags,
  227. /* [in] */ LPCWSTR pszAssemblyName,
  228. /* [in] */ LPCFUSION_INSTALL_REFERENCE pRefData,
  229. /* [optional][out] */ ULONG *pulDisposition);
  230. void __RPC_STUB IAssemblyCache_UninstallAssembly_Stub(
  231. IRpcStubBuffer *This,
  232. IRpcChannelBuffer *_pRpcChannelBuffer,
  233. PRPC_MESSAGE _pRpcMessage,
  234. DWORD *_pdwStubPhase);
  235. HRESULT STDMETHODCALLTYPE IAssemblyCache_QueryAssemblyInfo_Proxy(
  236. IAssemblyCache * This,
  237. /* [in] */ DWORD dwFlags,
  238. /* [in] */ LPCWSTR pszAssemblyName,
  239. /* [out][in] */ ASSEMBLY_INFO *pAsmInfo);
  240. void __RPC_STUB IAssemblyCache_QueryAssemblyInfo_Stub(
  241. IRpcStubBuffer *This,
  242. IRpcChannelBuffer *_pRpcChannelBuffer,
  243. PRPC_MESSAGE _pRpcMessage,
  244. DWORD *_pdwStubPhase);
  245. HRESULT STDMETHODCALLTYPE IAssemblyCache_CreateAssemblyCacheItem_Proxy(
  246. IAssemblyCache * This,
  247. /* [in] */ DWORD dwFlags,
  248. /* [in] */ PVOID pvReserved,
  249. /* [out] */ IAssemblyCacheItem **ppAsmItem,
  250. /* [optional][in] */ LPCWSTR pszAssemblyName);
  251. void __RPC_STUB IAssemblyCache_CreateAssemblyCacheItem_Stub(
  252. IRpcStubBuffer *This,
  253. IRpcChannelBuffer *_pRpcChannelBuffer,
  254. PRPC_MESSAGE _pRpcMessage,
  255. DWORD *_pdwStubPhase);
  256. HRESULT STDMETHODCALLTYPE IAssemblyCache_CreateAssemblyScavenger_Proxy(
  257. IAssemblyCache * This,
  258. /* [out] */ IUnknown **ppUnkReserved);
  259. void __RPC_STUB IAssemblyCache_CreateAssemblyScavenger_Stub(
  260. IRpcStubBuffer *This,
  261. IRpcChannelBuffer *_pRpcChannelBuffer,
  262. PRPC_MESSAGE _pRpcMessage,
  263. DWORD *_pdwStubPhase);
  264. HRESULT STDMETHODCALLTYPE IAssemblyCache_InstallAssembly_Proxy(
  265. IAssemblyCache * This,
  266. /* [in] */ DWORD dwFlags,
  267. /* [in] */ LPCWSTR pszManifestFilePath,
  268. /* [in] */ LPCFUSION_INSTALL_REFERENCE pRefData);
  269. void __RPC_STUB IAssemblyCache_InstallAssembly_Stub(
  270. IRpcStubBuffer *This,
  271. IRpcChannelBuffer *_pRpcChannelBuffer,
  272. PRPC_MESSAGE _pRpcMessage,
  273. DWORD *_pdwStubPhase);
  274. #endif /* __IAssemblyCache_INTERFACE_DEFINED__ */
  275. #ifndef __IAssemblyCacheItem_INTERFACE_DEFINED__
  276. #define __IAssemblyCacheItem_INTERFACE_DEFINED__
  277. /* interface IAssemblyCacheItem */
  278. /* [unique][uuid][object][local] */
  279. #define STREAM_FORMAT_COMPLIB_MODULE 0
  280. #define STREAM_FORMAT_COMPLIB_MANIFEST 1
  281. #define STREAM_FORMAT_WIN32_MODULE 2
  282. #define STREAM_FORMAT_WIN32_MANIFEST 4
  283. #define IASSEMBLYCACHEITEM_COMMIT_FLAG_REFRESH (0x00000001)
  284. #define IASSEMBLYCACHEITEM_COMMIT_DISPOSITION_INSTALLED (1)
  285. #define IASSEMBLYCACHEITEM_COMMIT_DISPOSITION_REFRESHED (2)
  286. #define IASSEMBLYCACHEITEM_COMMIT_DISPOSITION_ALREADY_INSTALLED (3)
  287. EXTERN_C const IID IID_IAssemblyCacheItem;
  288. #if defined(__cplusplus) && !defined(CINTERFACE)
  289. MIDL_INTERFACE("9e3aaeb4-d1cd-11d2-bab9-00c04f8eceae")
  290. IAssemblyCacheItem : public IUnknown
  291. {
  292. public:
  293. virtual HRESULT STDMETHODCALLTYPE CreateStream(
  294. /* [in] */ DWORD dwFlags,
  295. /* [in] */ LPCWSTR pszStreamName,
  296. /* [in] */ DWORD dwFormat,
  297. /* [in] */ DWORD dwFormatFlags,
  298. /* [out] */ IStream **ppIStream,
  299. /* [optional][in] */ ULARGE_INTEGER *puliMaxSize) = 0;
  300. virtual HRESULT STDMETHODCALLTYPE Commit(
  301. /* [in] */ DWORD dwFlags,
  302. /* [optional][out] */ ULONG *pulDisposition) = 0;
  303. virtual HRESULT STDMETHODCALLTYPE AbortItem( void) = 0;
  304. };
  305. #else /* C style interface */
  306. typedef struct IAssemblyCacheItemVtbl
  307. {
  308. BEGIN_INTERFACE
  309. HRESULT ( STDMETHODCALLTYPE *QueryInterface )(
  310. IAssemblyCacheItem * This,
  311. /* [in] */ REFIID riid,
  312. /* [iid_is][out] */ void **ppvObject);
  313. ULONG ( STDMETHODCALLTYPE *AddRef )(
  314. IAssemblyCacheItem * This);
  315. ULONG ( STDMETHODCALLTYPE *Release )(
  316. IAssemblyCacheItem * This);
  317. HRESULT ( STDMETHODCALLTYPE *CreateStream )(
  318. IAssemblyCacheItem * This,
  319. /* [in] */ DWORD dwFlags,
  320. /* [in] */ LPCWSTR pszStreamName,
  321. /* [in] */ DWORD dwFormat,
  322. /* [in] */ DWORD dwFormatFlags,
  323. /* [out] */ IStream **ppIStream,
  324. /* [optional][in] */ ULARGE_INTEGER *puliMaxSize);
  325. HRESULT ( STDMETHODCALLTYPE *Commit )(
  326. IAssemblyCacheItem * This,
  327. /* [in] */ DWORD dwFlags,
  328. /* [optional][out] */ ULONG *pulDisposition);
  329. HRESULT ( STDMETHODCALLTYPE *AbortItem )(
  330. IAssemblyCacheItem * This);
  331. END_INTERFACE
  332. } IAssemblyCacheItemVtbl;
  333. interface IAssemblyCacheItem
  334. {
  335. CONST_VTBL struct IAssemblyCacheItemVtbl *lpVtbl;
  336. };
  337. #ifdef COBJMACROS
  338. #define IAssemblyCacheItem_QueryInterface(This,riid,ppvObject) \
  339. (This)->lpVtbl -> QueryInterface(This,riid,ppvObject)
  340. #define IAssemblyCacheItem_AddRef(This) \
  341. (This)->lpVtbl -> AddRef(This)
  342. #define IAssemblyCacheItem_Release(This) \
  343. (This)->lpVtbl -> Release(This)
  344. #define IAssemblyCacheItem_CreateStream(This,dwFlags,pszStreamName,dwFormat,dwFormatFlags,ppIStream,puliMaxSize) \
  345. (This)->lpVtbl -> CreateStream(This,dwFlags,pszStreamName,dwFormat,dwFormatFlags,ppIStream,puliMaxSize)
  346. #define IAssemblyCacheItem_Commit(This,dwFlags,pulDisposition) \
  347. (This)->lpVtbl -> Commit(This,dwFlags,pulDisposition)
  348. #define IAssemblyCacheItem_AbortItem(This) \
  349. (This)->lpVtbl -> AbortItem(This)
  350. #endif /* COBJMACROS */
  351. #endif /* C style interface */
  352. HRESULT STDMETHODCALLTYPE IAssemblyCacheItem_CreateStream_Proxy(
  353. IAssemblyCacheItem * This,
  354. /* [in] */ DWORD dwFlags,
  355. /* [in] */ LPCWSTR pszStreamName,
  356. /* [in] */ DWORD dwFormat,
  357. /* [in] */ DWORD dwFormatFlags,
  358. /* [out] */ IStream **ppIStream,
  359. /* [optional][in] */ ULARGE_INTEGER *puliMaxSize);
  360. void __RPC_STUB IAssemblyCacheItem_CreateStream_Stub(
  361. IRpcStubBuffer *This,
  362. IRpcChannelBuffer *_pRpcChannelBuffer,
  363. PRPC_MESSAGE _pRpcMessage,
  364. DWORD *_pdwStubPhase);
  365. HRESULT STDMETHODCALLTYPE IAssemblyCacheItem_Commit_Proxy(
  366. IAssemblyCacheItem * This,
  367. /* [in] */ DWORD dwFlags,
  368. /* [optional][out] */ ULONG *pulDisposition);
  369. void __RPC_STUB IAssemblyCacheItem_Commit_Stub(
  370. IRpcStubBuffer *This,
  371. IRpcChannelBuffer *_pRpcChannelBuffer,
  372. PRPC_MESSAGE _pRpcMessage,
  373. DWORD *_pdwStubPhase);
  374. HRESULT STDMETHODCALLTYPE IAssemblyCacheItem_AbortItem_Proxy(
  375. IAssemblyCacheItem * This);
  376. void __RPC_STUB IAssemblyCacheItem_AbortItem_Stub(
  377. IRpcStubBuffer *This,
  378. IRpcChannelBuffer *_pRpcChannelBuffer,
  379. PRPC_MESSAGE _pRpcMessage,
  380. DWORD *_pdwStubPhase);
  381. #endif /* __IAssemblyCacheItem_INTERFACE_DEFINED__ */
  382. #ifndef __IAssemblyName_INTERFACE_DEFINED__
  383. #define __IAssemblyName_INTERFACE_DEFINED__
  384. /* interface IAssemblyName */
  385. /* [unique][uuid][object][local] */
  386. typedef /* [unique] */ IAssemblyName *LPASSEMBLYNAME;
  387. typedef /* [public] */
  388. enum __MIDL_IAssemblyName_0001
  389. { CANOF_PARSE_DISPLAY_NAME = 0x1,
  390. CANOF_SET_DEFAULT_VALUES = 0x2
  391. } CREATE_ASM_NAME_OBJ_FLAGS;
  392. typedef /* [public] */
  393. enum __MIDL_IAssemblyName_0002
  394. { ASM_NAME_PUBLIC_KEY = 0,
  395. ASM_NAME_PUBLIC_KEY_TOKEN = ASM_NAME_PUBLIC_KEY + 1,
  396. ASM_NAME_HASH_VALUE = ASM_NAME_PUBLIC_KEY_TOKEN + 1,
  397. ASM_NAME_NAME = ASM_NAME_HASH_VALUE + 1,
  398. ASM_NAME_MAJOR_VERSION = ASM_NAME_NAME + 1,
  399. ASM_NAME_MINOR_VERSION = ASM_NAME_MAJOR_VERSION + 1,
  400. ASM_NAME_BUILD_NUMBER = ASM_NAME_MINOR_VERSION + 1,
  401. ASM_NAME_REVISION_NUMBER = ASM_NAME_BUILD_NUMBER + 1,
  402. ASM_NAME_CULTURE = ASM_NAME_REVISION_NUMBER + 1,
  403. ASM_NAME_PROCESSOR_ID_ARRAY = ASM_NAME_CULTURE + 1,
  404. ASM_NAME_OSINFO_ARRAY = ASM_NAME_PROCESSOR_ID_ARRAY + 1,
  405. ASM_NAME_HASH_ALGID = ASM_NAME_OSINFO_ARRAY + 1,
  406. ASM_NAME_ALIAS = ASM_NAME_HASH_ALGID + 1,
  407. ASM_NAME_CODEBASE_URL = ASM_NAME_ALIAS + 1,
  408. ASM_NAME_CODEBASE_LASTMOD = ASM_NAME_CODEBASE_URL + 1,
  409. ASM_NAME_NULL_PUBLIC_KEY = ASM_NAME_CODEBASE_LASTMOD + 1,
  410. ASM_NAME_NULL_PUBLIC_KEY_TOKEN = ASM_NAME_NULL_PUBLIC_KEY + 1,
  411. ASM_NAME_CUSTOM = ASM_NAME_NULL_PUBLIC_KEY_TOKEN + 1,
  412. ASM_NAME_NULL_CUSTOM = ASM_NAME_CUSTOM + 1,
  413. ASM_NAME_MVID = ASM_NAME_NULL_CUSTOM + 1,
  414. ASM_NAME_MAX_PARAMS = ASM_NAME_MVID + 1
  415. } ASM_NAME;
  416. typedef /* [public] */
  417. enum __MIDL_IAssemblyName_0003
  418. { ASM_DISPLAYF_VERSION = 0x1,
  419. ASM_DISPLAYF_CULTURE = 0x2,
  420. ASM_DISPLAYF_PUBLIC_KEY_TOKEN = 0x4,
  421. ASM_DISPLAYF_PUBLIC_KEY = 0x8,
  422. ASM_DISPLAYF_CUSTOM = 0x10,
  423. ASM_DISPLAYF_PROCESSORARCHITECTURE = 0x20,
  424. ASM_DISPLAYF_LANGUAGEID = 0x40
  425. } ASM_DISPLAY_FLAGS;
  426. typedef /* [public] */
  427. enum __MIDL_IAssemblyName_0004
  428. { ASM_CMPF_NAME = 0x1,
  429. ASM_CMPF_MAJOR_VERSION = 0x2,
  430. ASM_CMPF_MINOR_VERSION = 0x4,
  431. ASM_CMPF_BUILD_NUMBER = 0x8,
  432. ASM_CMPF_REVISION_NUMBER = 0x10,
  433. ASM_CMPF_PUBLIC_KEY_TOKEN = 0x20,
  434. ASM_CMPF_CULTURE = 0x40,
  435. ASM_CMPF_CUSTOM = 0x80,
  436. 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,
  437. ASM_CMPF_DEFAULT = 0x100
  438. } ASM_CMP_FLAGS;
  439. EXTERN_C const IID IID_IAssemblyName;
  440. #if defined(__cplusplus) && !defined(CINTERFACE)
  441. MIDL_INTERFACE("CD193BC0-B4BC-11d2-9833-00C04FC31D2E")
  442. IAssemblyName : public IUnknown
  443. {
  444. public:
  445. virtual HRESULT STDMETHODCALLTYPE SetProperty(
  446. /* [in] */ DWORD PropertyId,
  447. /* [in] */ LPVOID pvProperty,
  448. /* [in] */ DWORD cbProperty) = 0;
  449. virtual HRESULT STDMETHODCALLTYPE GetProperty(
  450. /* [in] */ DWORD PropertyId,
  451. /* [out] */ LPVOID pvProperty,
  452. /* [out][in] */ LPDWORD pcbProperty) = 0;
  453. virtual HRESULT STDMETHODCALLTYPE Finalize( void) = 0;
  454. virtual HRESULT STDMETHODCALLTYPE GetDisplayName(
  455. /* [out] */ LPOLESTR szDisplayName,
  456. /* [out][in] */ LPDWORD pccDisplayName,
  457. /* [in] */ DWORD dwDisplayFlags) = 0;
  458. virtual HRESULT STDMETHODCALLTYPE BindToObject(
  459. /* [in] */ REFIID refIID,
  460. /* [in] */ IUnknown *pUnkSink,
  461. /* [in] */ IUnknown *pUnkContext,
  462. /* [in] */ LPCOLESTR szCodeBase,
  463. /* [in] */ LONGLONG llFlags,
  464. /* [in] */ LPVOID pvReserved,
  465. /* [in] */ DWORD cbReserved,
  466. /* [out] */ LPVOID *ppv) = 0;
  467. virtual HRESULT STDMETHODCALLTYPE GetName(
  468. /* [out][in] */ LPDWORD lpcwBuffer,
  469. /* [out] */ WCHAR *pwzName) = 0;
  470. virtual HRESULT STDMETHODCALLTYPE GetVersion(
  471. /* [out] */ LPDWORD pdwVersionHi,
  472. /* [out] */ LPDWORD pdwVersionLow) = 0;
  473. virtual HRESULT STDMETHODCALLTYPE IsEqual(
  474. /* [in] */ IAssemblyName *pName,
  475. /* [in] */ DWORD dwCmpFlags) = 0;
  476. virtual HRESULT STDMETHODCALLTYPE Clone(
  477. /* [out] */ IAssemblyName **pName) = 0;
  478. };
  479. #else /* C style interface */
  480. typedef struct IAssemblyNameVtbl
  481. {
  482. BEGIN_INTERFACE
  483. HRESULT ( STDMETHODCALLTYPE *QueryInterface )(
  484. IAssemblyName * This,
  485. /* [in] */ REFIID riid,
  486. /* [iid_is][out] */ void **ppvObject);
  487. ULONG ( STDMETHODCALLTYPE *AddRef )(
  488. IAssemblyName * This);
  489. ULONG ( STDMETHODCALLTYPE *Release )(
  490. IAssemblyName * This);
  491. HRESULT ( STDMETHODCALLTYPE *SetProperty )(
  492. IAssemblyName * This,
  493. /* [in] */ DWORD PropertyId,
  494. /* [in] */ LPVOID pvProperty,
  495. /* [in] */ DWORD cbProperty);
  496. HRESULT ( STDMETHODCALLTYPE *GetProperty )(
  497. IAssemblyName * This,
  498. /* [in] */ DWORD PropertyId,
  499. /* [out] */ LPVOID pvProperty,
  500. /* [out][in] */ LPDWORD pcbProperty);
  501. HRESULT ( STDMETHODCALLTYPE *Finalize )(
  502. IAssemblyName * This);
  503. HRESULT ( STDMETHODCALLTYPE *GetDisplayName )(
  504. IAssemblyName * This,
  505. /* [out] */ LPOLESTR szDisplayName,
  506. /* [out][in] */ LPDWORD pccDisplayName,
  507. /* [in] */ DWORD dwDisplayFlags);
  508. HRESULT ( STDMETHODCALLTYPE *BindToObject )(
  509. IAssemblyName * This,
  510. /* [in] */ REFIID refIID,
  511. /* [in] */ IUnknown *pUnkSink,
  512. /* [in] */ IUnknown *pUnkContext,
  513. /* [in] */ LPCOLESTR szCodeBase,
  514. /* [in] */ LONGLONG llFlags,
  515. /* [in] */ LPVOID pvReserved,
  516. /* [in] */ DWORD cbReserved,
  517. /* [out] */ LPVOID *ppv);
  518. HRESULT ( STDMETHODCALLTYPE *GetName )(
  519. IAssemblyName * This,
  520. /* [out][in] */ LPDWORD lpcwBuffer,
  521. /* [out] */ WCHAR *pwzName);
  522. HRESULT ( STDMETHODCALLTYPE *GetVersion )(
  523. IAssemblyName * This,
  524. /* [out] */ LPDWORD pdwVersionHi,
  525. /* [out] */ LPDWORD pdwVersionLow);
  526. HRESULT ( STDMETHODCALLTYPE *IsEqual )(
  527. IAssemblyName * This,
  528. /* [in] */ IAssemblyName *pName,
  529. /* [in] */ DWORD dwCmpFlags);
  530. HRESULT ( STDMETHODCALLTYPE *Clone )(
  531. IAssemblyName * This,
  532. /* [out] */ IAssemblyName **pName);
  533. END_INTERFACE
  534. } IAssemblyNameVtbl;
  535. interface IAssemblyName
  536. {
  537. CONST_VTBL struct IAssemblyNameVtbl *lpVtbl;
  538. };
  539. #ifdef COBJMACROS
  540. #define IAssemblyName_QueryInterface(This,riid,ppvObject) \
  541. (This)->lpVtbl -> QueryInterface(This,riid,ppvObject)
  542. #define IAssemblyName_AddRef(This) \
  543. (This)->lpVtbl -> AddRef(This)
  544. #define IAssemblyName_Release(This) \
  545. (This)->lpVtbl -> Release(This)
  546. #define IAssemblyName_SetProperty(This,PropertyId,pvProperty,cbProperty) \
  547. (This)->lpVtbl -> SetProperty(This,PropertyId,pvProperty,cbProperty)
  548. #define IAssemblyName_GetProperty(This,PropertyId,pvProperty,pcbProperty) \
  549. (This)->lpVtbl -> GetProperty(This,PropertyId,pvProperty,pcbProperty)
  550. #define IAssemblyName_Finalize(This) \
  551. (This)->lpVtbl -> Finalize(This)
  552. #define IAssemblyName_GetDisplayName(This,szDisplayName,pccDisplayName,dwDisplayFlags) \
  553. (This)->lpVtbl -> GetDisplayName(This,szDisplayName,pccDisplayName,dwDisplayFlags)
  554. #define IAssemblyName_BindToObject(This,refIID,pUnkSink,pUnkContext,szCodeBase,llFlags,pvReserved,cbReserved,ppv) \
  555. (This)->lpVtbl -> BindToObject(This,refIID,pUnkSink,pUnkContext,szCodeBase,llFlags,pvReserved,cbReserved,ppv)
  556. #define IAssemblyName_GetName(This,lpcwBuffer,pwzName) \
  557. (This)->lpVtbl -> GetName(This,lpcwBuffer,pwzName)
  558. #define IAssemblyName_GetVersion(This,pdwVersionHi,pdwVersionLow) \
  559. (This)->lpVtbl -> GetVersion(This,pdwVersionHi,pdwVersionLow)
  560. #define IAssemblyName_IsEqual(This,pName,dwCmpFlags) \
  561. (This)->lpVtbl -> IsEqual(This,pName,dwCmpFlags)
  562. #define IAssemblyName_Clone(This,pName) \
  563. (This)->lpVtbl -> Clone(This,pName)
  564. #endif /* COBJMACROS */
  565. #endif /* C style interface */
  566. HRESULT STDMETHODCALLTYPE IAssemblyName_SetProperty_Proxy(
  567. IAssemblyName * This,
  568. /* [in] */ DWORD PropertyId,
  569. /* [in] */ LPVOID pvProperty,
  570. /* [in] */ DWORD cbProperty);
  571. void __RPC_STUB IAssemblyName_SetProperty_Stub(
  572. IRpcStubBuffer *This,
  573. IRpcChannelBuffer *_pRpcChannelBuffer,
  574. PRPC_MESSAGE _pRpcMessage,
  575. DWORD *_pdwStubPhase);
  576. HRESULT STDMETHODCALLTYPE IAssemblyName_GetProperty_Proxy(
  577. IAssemblyName * This,
  578. /* [in] */ DWORD PropertyId,
  579. /* [out] */ LPVOID pvProperty,
  580. /* [out][in] */ LPDWORD pcbProperty);
  581. void __RPC_STUB IAssemblyName_GetProperty_Stub(
  582. IRpcStubBuffer *This,
  583. IRpcChannelBuffer *_pRpcChannelBuffer,
  584. PRPC_MESSAGE _pRpcMessage,
  585. DWORD *_pdwStubPhase);
  586. HRESULT STDMETHODCALLTYPE IAssemblyName_Finalize_Proxy(
  587. IAssemblyName * This);
  588. void __RPC_STUB IAssemblyName_Finalize_Stub(
  589. IRpcStubBuffer *This,
  590. IRpcChannelBuffer *_pRpcChannelBuffer,
  591. PRPC_MESSAGE _pRpcMessage,
  592. DWORD *_pdwStubPhase);
  593. HRESULT STDMETHODCALLTYPE IAssemblyName_GetDisplayName_Proxy(
  594. IAssemblyName * This,
  595. /* [out] */ LPOLESTR szDisplayName,
  596. /* [out][in] */ LPDWORD pccDisplayName,
  597. /* [in] */ DWORD dwDisplayFlags);
  598. void __RPC_STUB IAssemblyName_GetDisplayName_Stub(
  599. IRpcStubBuffer *This,
  600. IRpcChannelBuffer *_pRpcChannelBuffer,
  601. PRPC_MESSAGE _pRpcMessage,
  602. DWORD *_pdwStubPhase);
  603. HRESULT STDMETHODCALLTYPE IAssemblyName_BindToObject_Proxy(
  604. IAssemblyName * This,
  605. /* [in] */ REFIID refIID,
  606. /* [in] */ IUnknown *pUnkSink,
  607. /* [in] */ IUnknown *pUnkContext,
  608. /* [in] */ LPCOLESTR szCodeBase,
  609. /* [in] */ LONGLONG llFlags,
  610. /* [in] */ LPVOID pvReserved,
  611. /* [in] */ DWORD cbReserved,
  612. /* [out] */ LPVOID *ppv);
  613. void __RPC_STUB IAssemblyName_BindToObject_Stub(
  614. IRpcStubBuffer *This,
  615. IRpcChannelBuffer *_pRpcChannelBuffer,
  616. PRPC_MESSAGE _pRpcMessage,
  617. DWORD *_pdwStubPhase);
  618. HRESULT STDMETHODCALLTYPE IAssemblyName_GetName_Proxy(
  619. IAssemblyName * This,
  620. /* [out][in] */ LPDWORD lpcwBuffer,
  621. /* [out] */ WCHAR *pwzName);
  622. void __RPC_STUB IAssemblyName_GetName_Stub(
  623. IRpcStubBuffer *This,
  624. IRpcChannelBuffer *_pRpcChannelBuffer,
  625. PRPC_MESSAGE _pRpcMessage,
  626. DWORD *_pdwStubPhase);
  627. HRESULT STDMETHODCALLTYPE IAssemblyName_GetVersion_Proxy(
  628. IAssemblyName * This,
  629. /* [out] */ LPDWORD pdwVersionHi,
  630. /* [out] */ LPDWORD pdwVersionLow);
  631. void __RPC_STUB IAssemblyName_GetVersion_Stub(
  632. IRpcStubBuffer *This,
  633. IRpcChannelBuffer *_pRpcChannelBuffer,
  634. PRPC_MESSAGE _pRpcMessage,
  635. DWORD *_pdwStubPhase);
  636. HRESULT STDMETHODCALLTYPE IAssemblyName_IsEqual_Proxy(
  637. IAssemblyName * This,
  638. /* [in] */ IAssemblyName *pName,
  639. /* [in] */ DWORD dwCmpFlags);
  640. void __RPC_STUB IAssemblyName_IsEqual_Stub(
  641. IRpcStubBuffer *This,
  642. IRpcChannelBuffer *_pRpcChannelBuffer,
  643. PRPC_MESSAGE _pRpcMessage,
  644. DWORD *_pdwStubPhase);
  645. HRESULT STDMETHODCALLTYPE IAssemblyName_Clone_Proxy(
  646. IAssemblyName * This,
  647. /* [out] */ IAssemblyName **pName);
  648. void __RPC_STUB IAssemblyName_Clone_Stub(
  649. IRpcStubBuffer *This,
  650. IRpcChannelBuffer *_pRpcChannelBuffer,
  651. PRPC_MESSAGE _pRpcMessage,
  652. DWORD *_pdwStubPhase);
  653. #endif /* __IAssemblyName_INTERFACE_DEFINED__ */
  654. #ifndef __IAssemblyEnum_INTERFACE_DEFINED__
  655. #define __IAssemblyEnum_INTERFACE_DEFINED__
  656. /* interface IAssemblyEnum */
  657. /* [unique][uuid][object][local] */
  658. EXTERN_C const IID IID_IAssemblyEnum;
  659. #if defined(__cplusplus) && !defined(CINTERFACE)
  660. MIDL_INTERFACE("21b8916c-f28e-11d2-a473-00c04f8ef448")
  661. IAssemblyEnum : public IUnknown
  662. {
  663. public:
  664. virtual HRESULT STDMETHODCALLTYPE GetNextAssembly(
  665. /* [in] */ LPVOID pvReserved,
  666. /* [out] */ IAssemblyName **ppName,
  667. /* [in] */ DWORD dwFlags) = 0;
  668. virtual HRESULT STDMETHODCALLTYPE Reset( void) = 0;
  669. virtual HRESULT STDMETHODCALLTYPE Clone(
  670. /* [out] */ IAssemblyEnum **ppEnum) = 0;
  671. };
  672. #else /* C style interface */
  673. typedef struct IAssemblyEnumVtbl
  674. {
  675. BEGIN_INTERFACE
  676. HRESULT ( STDMETHODCALLTYPE *QueryInterface )(
  677. IAssemblyEnum * This,
  678. /* [in] */ REFIID riid,
  679. /* [iid_is][out] */ void **ppvObject);
  680. ULONG ( STDMETHODCALLTYPE *AddRef )(
  681. IAssemblyEnum * This);
  682. ULONG ( STDMETHODCALLTYPE *Release )(
  683. IAssemblyEnum * This);
  684. HRESULT ( STDMETHODCALLTYPE *GetNextAssembly )(
  685. IAssemblyEnum * This,
  686. /* [in] */ LPVOID pvReserved,
  687. /* [out] */ IAssemblyName **ppName,
  688. /* [in] */ DWORD dwFlags);
  689. HRESULT ( STDMETHODCALLTYPE *Reset )(
  690. IAssemblyEnum * This);
  691. HRESULT ( STDMETHODCALLTYPE *Clone )(
  692. IAssemblyEnum * This,
  693. /* [out] */ IAssemblyEnum **ppEnum);
  694. END_INTERFACE
  695. } IAssemblyEnumVtbl;
  696. interface IAssemblyEnum
  697. {
  698. CONST_VTBL struct IAssemblyEnumVtbl *lpVtbl;
  699. };
  700. #ifdef COBJMACROS
  701. #define IAssemblyEnum_QueryInterface(This,riid,ppvObject) \
  702. (This)->lpVtbl -> QueryInterface(This,riid,ppvObject)
  703. #define IAssemblyEnum_AddRef(This) \
  704. (This)->lpVtbl -> AddRef(This)
  705. #define IAssemblyEnum_Release(This) \
  706. (This)->lpVtbl -> Release(This)
  707. #define IAssemblyEnum_GetNextAssembly(This,pvReserved,ppName,dwFlags) \
  708. (This)->lpVtbl -> GetNextAssembly(This,pvReserved,ppName,dwFlags)
  709. #define IAssemblyEnum_Reset(This) \
  710. (This)->lpVtbl -> Reset(This)
  711. #define IAssemblyEnum_Clone(This,ppEnum) \
  712. (This)->lpVtbl -> Clone(This,ppEnum)
  713. #endif /* COBJMACROS */
  714. #endif /* C style interface */
  715. HRESULT STDMETHODCALLTYPE IAssemblyEnum_GetNextAssembly_Proxy(
  716. IAssemblyEnum * This,
  717. /* [in] */ LPVOID pvReserved,
  718. /* [out] */ IAssemblyName **ppName,
  719. /* [in] */ DWORD dwFlags);
  720. void __RPC_STUB IAssemblyEnum_GetNextAssembly_Stub(
  721. IRpcStubBuffer *This,
  722. IRpcChannelBuffer *_pRpcChannelBuffer,
  723. PRPC_MESSAGE _pRpcMessage,
  724. DWORD *_pdwStubPhase);
  725. HRESULT STDMETHODCALLTYPE IAssemblyEnum_Reset_Proxy(
  726. IAssemblyEnum * This);
  727. void __RPC_STUB IAssemblyEnum_Reset_Stub(
  728. IRpcStubBuffer *This,
  729. IRpcChannelBuffer *_pRpcChannelBuffer,
  730. PRPC_MESSAGE _pRpcMessage,
  731. DWORD *_pdwStubPhase);
  732. HRESULT STDMETHODCALLTYPE IAssemblyEnum_Clone_Proxy(
  733. IAssemblyEnum * This,
  734. /* [out] */ IAssemblyEnum **ppEnum);
  735. void __RPC_STUB IAssemblyEnum_Clone_Stub(
  736. IRpcStubBuffer *This,
  737. IRpcChannelBuffer *_pRpcChannelBuffer,
  738. PRPC_MESSAGE _pRpcMessage,
  739. DWORD *_pdwStubPhase);
  740. #endif /* __IAssemblyEnum_INTERFACE_DEFINED__ */
  741. #ifndef __IInstallReferenceItem_INTERFACE_DEFINED__
  742. #define __IInstallReferenceItem_INTERFACE_DEFINED__
  743. /* interface IInstallReferenceItem */
  744. /* [unique][uuid][object][local] */
  745. EXTERN_C const IID IID_IInstallReferenceItem;
  746. #if defined(__cplusplus) && !defined(CINTERFACE)
  747. MIDL_INTERFACE("582dac66-e678-449f-aba6-6faaec8a9394")
  748. IInstallReferenceItem : public IUnknown
  749. {
  750. public:
  751. virtual HRESULT STDMETHODCALLTYPE GetReference(
  752. /* [out] */ LPFUSION_INSTALL_REFERENCE *ppRefData,
  753. /* [in] */ DWORD dwFlags,
  754. /* [in] */ LPVOID pvReserved) = 0;
  755. };
  756. #else /* C style interface */
  757. typedef struct IInstallReferenceItemVtbl
  758. {
  759. BEGIN_INTERFACE
  760. HRESULT ( STDMETHODCALLTYPE *QueryInterface )(
  761. IInstallReferenceItem * This,
  762. /* [in] */ REFIID riid,
  763. /* [iid_is][out] */ void **ppvObject);
  764. ULONG ( STDMETHODCALLTYPE *AddRef )(
  765. IInstallReferenceItem * This);
  766. ULONG ( STDMETHODCALLTYPE *Release )(
  767. IInstallReferenceItem * This);
  768. HRESULT ( STDMETHODCALLTYPE *GetReference )(
  769. IInstallReferenceItem * This,
  770. /* [out] */ LPFUSION_INSTALL_REFERENCE *ppRefData,
  771. /* [in] */ DWORD dwFlags,
  772. /* [in] */ LPVOID pvReserved);
  773. END_INTERFACE
  774. } IInstallReferenceItemVtbl;
  775. interface IInstallReferenceItem
  776. {
  777. CONST_VTBL struct IInstallReferenceItemVtbl *lpVtbl;
  778. };
  779. #ifdef COBJMACROS
  780. #define IInstallReferenceItem_QueryInterface(This,riid,ppvObject) \
  781. (This)->lpVtbl -> QueryInterface(This,riid,ppvObject)
  782. #define IInstallReferenceItem_AddRef(This) \
  783. (This)->lpVtbl -> AddRef(This)
  784. #define IInstallReferenceItem_Release(This) \
  785. (This)->lpVtbl -> Release(This)
  786. #define IInstallReferenceItem_GetReference(This,ppRefData,dwFlags,pvReserved) \
  787. (This)->lpVtbl -> GetReference(This,ppRefData,dwFlags,pvReserved)
  788. #endif /* COBJMACROS */
  789. #endif /* C style interface */
  790. HRESULT STDMETHODCALLTYPE IInstallReferenceItem_GetReference_Proxy(
  791. IInstallReferenceItem * This,
  792. /* [out] */ LPFUSION_INSTALL_REFERENCE *ppRefData,
  793. /* [in] */ DWORD dwFlags,
  794. /* [in] */ LPVOID pvReserved);
  795. void __RPC_STUB IInstallReferenceItem_GetReference_Stub(
  796. IRpcStubBuffer *This,
  797. IRpcChannelBuffer *_pRpcChannelBuffer,
  798. PRPC_MESSAGE _pRpcMessage,
  799. DWORD *_pdwStubPhase);
  800. #endif /* __IInstallReferenceItem_INTERFACE_DEFINED__ */
  801. #ifndef __IInstallReferenceEnum_INTERFACE_DEFINED__
  802. #define __IInstallReferenceEnum_INTERFACE_DEFINED__
  803. /* interface IInstallReferenceEnum */
  804. /* [unique][uuid][object][local] */
  805. EXTERN_C const IID IID_IInstallReferenceEnum;
  806. #if defined(__cplusplus) && !defined(CINTERFACE)
  807. MIDL_INTERFACE("56b1a988-7c0c-4aa2-8639-c3eb5a90226f")
  808. IInstallReferenceEnum : public IUnknown
  809. {
  810. public:
  811. virtual HRESULT STDMETHODCALLTYPE GetNextInstallReferenceItem(
  812. /* [out] */ IInstallReferenceItem **ppRefItem,
  813. /* [in] */ DWORD dwFlags,
  814. /* [in] */ LPVOID pvReserved) = 0;
  815. };
  816. #else /* C style interface */
  817. typedef struct IInstallReferenceEnumVtbl
  818. {
  819. BEGIN_INTERFACE
  820. HRESULT ( STDMETHODCALLTYPE *QueryInterface )(
  821. IInstallReferenceEnum * This,
  822. /* [in] */ REFIID riid,
  823. /* [iid_is][out] */ void **ppvObject);
  824. ULONG ( STDMETHODCALLTYPE *AddRef )(
  825. IInstallReferenceEnum * This);
  826. ULONG ( STDMETHODCALLTYPE *Release )(
  827. IInstallReferenceEnum * This);
  828. HRESULT ( STDMETHODCALLTYPE *GetNextInstallReferenceItem )(
  829. IInstallReferenceEnum * This,
  830. /* [out] */ IInstallReferenceItem **ppRefItem,
  831. /* [in] */ DWORD dwFlags,
  832. /* [in] */ LPVOID pvReserved);
  833. END_INTERFACE
  834. } IInstallReferenceEnumVtbl;
  835. interface IInstallReferenceEnum
  836. {
  837. CONST_VTBL struct IInstallReferenceEnumVtbl *lpVtbl;
  838. };
  839. #ifdef COBJMACROS
  840. #define IInstallReferenceEnum_QueryInterface(This,riid,ppvObject) \
  841. (This)->lpVtbl -> QueryInterface(This,riid,ppvObject)
  842. #define IInstallReferenceEnum_AddRef(This) \
  843. (This)->lpVtbl -> AddRef(This)
  844. #define IInstallReferenceEnum_Release(This) \
  845. (This)->lpVtbl -> Release(This)
  846. #define IInstallReferenceEnum_GetNextInstallReferenceItem(This,ppRefItem,dwFlags,pvReserved) \
  847. (This)->lpVtbl -> GetNextInstallReferenceItem(This,ppRefItem,dwFlags,pvReserved)
  848. #endif /* COBJMACROS */
  849. #endif /* C style interface */
  850. HRESULT STDMETHODCALLTYPE IInstallReferenceEnum_GetNextInstallReferenceItem_Proxy(
  851. IInstallReferenceEnum * This,
  852. /* [out] */ IInstallReferenceItem **ppRefItem,
  853. /* [in] */ DWORD dwFlags,
  854. /* [in] */ LPVOID pvReserved);
  855. void __RPC_STUB IInstallReferenceEnum_GetNextInstallReferenceItem_Stub(
  856. IRpcStubBuffer *This,
  857. IRpcChannelBuffer *_pRpcChannelBuffer,
  858. PRPC_MESSAGE _pRpcMessage,
  859. DWORD *_pdwStubPhase);
  860. #endif /* __IInstallReferenceEnum_INTERFACE_DEFINED__ */
  861. /* interface __MIDL_itf_fusion_0116 */
  862. /* [local] */
  863. STDAPI CreateInstallReferenceEnum(IInstallReferenceEnum **ppRefEnum, IAssemblyName *pName, DWORD dwFlags, LPVOID pvReserved);
  864. STDAPI CreateAssemblyEnum(IAssemblyEnum **pEnum, IUnknown *pUnkReserved, IAssemblyName *pName, DWORD dwFlags, LPVOID pvReserved);
  865. STDAPI CreateAssemblyNameObject(LPASSEMBLYNAME *ppAssemblyNameObj, LPCWSTR szAssemblyName, DWORD dwFlags, LPVOID pvReserved);
  866. STDAPI CreateAssemblyCache(IAssemblyCache **ppAsmCache, DWORD dwReserved);
  867. STDAPI GetCachePath(ASM_CACHE_FLAGS dwCacheFlags, LPWSTR pwzCachePath, PDWORD pcchPath);
  868. extern RPC_IF_HANDLE __MIDL_itf_fusion_0116_v0_0_c_ifspec;
  869. extern RPC_IF_HANDLE __MIDL_itf_fusion_0116_v0_0_s_ifspec;
  870. /* Additional Prototypes for ALL interfaces */
  871. /* end of Additional Prototypes */
  872. #ifdef __cplusplus
  873. }
  874. #endif
  875. #endif