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.

3683 lines
127 KiB

  1. /*****************************************************************************\
  2. mergemod.h - - Interface for MergeMod COM object
  3. Version 1.5
  4. NOTES: All strings are of type BSTR. For [in] strings, LPCWSTR may be
  5. safely used instead, the object will not try to free this memory.
  6. All [out] BSTR values must be released by the client.
  7. Copyright (c) 1998-2000, Microsoft Corp. All rights reserved.
  8. \*****************************************************************************/
  9. #include "rpc.h"
  10. #include "rpcndr.h"
  11. #ifndef COM_NO_WINDOWS_H
  12. #include "windows.h"
  13. #include "ole2.h"
  14. #endif /*COM_NO_WINDOWS_H*/
  15. #ifndef __mergemod_h__
  16. #define __mergemod_h__
  17. #ifndef _WIN32_MSM
  18. #define _WIN32_MSM 100
  19. #endif // !_WIN32_MSM
  20. #ifdef __cplusplus
  21. extern "C"{
  22. #endif
  23. /* Forward Declarations */
  24. #ifndef __IEnumMsmString_FWD_DEFINED__
  25. #define __IEnumMsmString_FWD_DEFINED__
  26. typedef interface IEnumMsmString IEnumMsmString;
  27. #endif /* __IEnumMsmString_FWD_DEFINED__ */
  28. #ifndef __IMsmStrings_FWD_DEFINED__
  29. #define __IMsmStrings_FWD_DEFINED__
  30. typedef interface IMsmStrings IMsmStrings;
  31. #endif /* __IMsmStrings_FWD_DEFINED__ */
  32. #ifndef __IMsmError_FWD_DEFINED__
  33. #define __IMsmError_FWD_DEFINED__
  34. typedef interface IMsmError IMsmError;
  35. #endif /* __IMsmError_FWD_DEFINED__ */
  36. #ifndef __IEnumMsmError_FWD_DEFINED__
  37. #define __IEnumMsmError_FWD_DEFINED__
  38. typedef interface IEnumMsmError IEnumMsmError;
  39. #endif /* __IEnumMsmError_FWD_DEFINED__ */
  40. #ifndef __IMsmErrors_FWD_DEFINED__
  41. #define __IMsmErrors_FWD_DEFINED__
  42. typedef interface IMsmErrors IMsmErrors;
  43. #endif /* __IMsmErrors_FWD_DEFINED__ */
  44. #ifndef __IMsmDependency_FWD_DEFINED__
  45. #define __IMsmDependency_FWD_DEFINED__
  46. typedef interface IMsmDependency IMsmDependency;
  47. #endif /* __IMsmDependency_FWD_DEFINED__ */
  48. #ifndef __IEnumMsmDependency_FWD_DEFINED__
  49. #define __IEnumMsmDependency_FWD_DEFINED__
  50. typedef interface IEnumMsmDependency IEnumMsmDependency;
  51. #endif /* __IEnumMsmDependency_FWD_DEFINED__ */
  52. #ifndef __IMsmDependencies_FWD_DEFINED__
  53. #define __IMsmDependencies_FWD_DEFINED__
  54. typedef interface IMsmDependencies IMsmDependencies;
  55. #endif /* __IMsmDependencies_FWD_DEFINED__ */
  56. #ifndef __IMsmMerge_FWD_DEFINED__
  57. #define __IMsmMerge_FWD_DEFINED__
  58. typedef interface IMsmMerge IMsmMerge;
  59. #endif /* __IMsmMerge_FWD_DEFINED__ */
  60. #ifndef __IMsmGetFiles_FWD_DEFINED__
  61. #define __IMsmGetFiles_FWD_DEFINED__
  62. typedef interface IMsmGetFiles IMsmGetFiles;
  63. #endif /* __IMsmGetFiles_FWD_DEFINED__ */
  64. #ifndef __IMsmStrings_FWD_DEFINED__
  65. #define __IMsmStrings_FWD_DEFINED__
  66. typedef interface IMsmStrings IMsmStrings;
  67. #endif /* __IMsmStrings_FWD_DEFINED__ */
  68. #ifndef __IMsmError_FWD_DEFINED__
  69. #define __IMsmError_FWD_DEFINED__
  70. typedef interface IMsmError IMsmError;
  71. #endif /* __IMsmError_FWD_DEFINED__ */
  72. #ifndef __IMsmErrors_FWD_DEFINED__
  73. #define __IMsmErrors_FWD_DEFINED__
  74. typedef interface IMsmErrors IMsmErrors;
  75. #endif /* __IMsmErrors_FWD_DEFINED__ */
  76. #ifndef __IMsmDependency_FWD_DEFINED__
  77. #define __IMsmDependency_FWD_DEFINED__
  78. typedef interface IMsmDependency IMsmDependency;
  79. #endif /* __IMsmDependency_FWD_DEFINED__ */
  80. #ifndef __IMsmDependencies_FWD_DEFINED__
  81. #define __IMsmDependencies_FWD_DEFINED__
  82. typedef interface IMsmDependencies IMsmDependencies;
  83. #endif /* __IMsmDependencies_FWD_DEFINED__ */
  84. #ifndef __IMsmGetFiles_FWD_DEFINED__
  85. #define __IMsmGetFiles_FWD_DEFINED__
  86. typedef interface IMsmGetFiles IMsmGetFiles;
  87. #endif /* __IMsmGetFiles_FWD_DEFINED__ */
  88. #if (_WIN32_MSM >= 150)
  89. #ifndef __IMsmConfigurableItem_FWD_DEFINED__
  90. #define __IMsmConfigurableItem_FWD_DEFINED__
  91. typedef interface IMsmConfigurableItem IMsmConfigurableItem;
  92. #endif /* __IMsmConfigurableItem_FWD_DEFINED__ */
  93. #ifndef __IEnumMsmConfigurableItem_FWD_DEFINED__
  94. #define __IEnumMsmConfigurableItem_FWD_DEFINED__
  95. typedef interface IEnumMsmConfigurableItem IEnumMsmConfigurableItem;
  96. #endif /* __IEnumMsmConfigurableItem_FWD_DEFINED__ */
  97. #ifndef __IMsmConfigurableItems_FWD_DEFINED__
  98. #define __IMsmConfigurableItems_FWD_DEFINED__
  99. typedef interface IMsmConfigurableItems IMsmConfigurableItems;
  100. #endif /* __IMsmConfigurableItems_FWD_DEFINED__ */
  101. #ifndef __IMsmMerge2_FWD_DEFINED__
  102. #define __IMsmMerge2_FWD_DEFINED__
  103. typedef interface IMsmMerge2 IMsmMerge2;
  104. #endif /* __IMsmMerge2_FWD_DEFINED__ */
  105. #ifndef __IMsmConfigureModule_FWD_DEFINED__
  106. #define __IMsmConfigureModule_FWD_DEFINED__
  107. typedef interface IMsmConfigureModule IMsmConfigureModule;
  108. #endif /* __IMsmConfigureModule_FWD_DEFINED__ */
  109. #ifndef __MsmMerge2_FWD_DEFINED__
  110. #define __MsmMerge2_FWD_DEFINED__
  111. #ifdef __cplusplus
  112. typedef class MsmMerge2 MsmMerge2;
  113. #else
  114. typedef struct MsmMerge2 MsmMerge2;
  115. #endif /* __cplusplus */
  116. #endif /* __MsmMerge2_FWD_DEFINED__ */
  117. #endif /* _WIN32_MSM */
  118. #ifndef __MsmMerge_FWD_DEFINED__
  119. #define __MsmMerge_FWD_DEFINED__
  120. #ifdef __cplusplus
  121. typedef class MsmMerge MsmMerge;
  122. #else
  123. typedef struct MsmMerge MsmMerge;
  124. #endif /* __cplusplus */
  125. #endif /* __MsmMerge_FWD_DEFINED__ */
  126. /* header files for imported files */
  127. #include "oaidl.h"
  128. void __RPC_FAR * __RPC_USER MIDL_user_allocate(size_t);
  129. void __RPC_USER MIDL_user_free( void __RPC_FAR * );
  130. // --------------------------------------------------------------------------
  131. // MergeMod Interface IDs
  132. // --------------------------------------------------------------------------
  133. /* [local] */
  134. #ifndef __FORWARD_IID_IMSMMERGETYPELIB
  135. #define __FORWARD_IID_IMSMMERGETYPELIB
  136. const IID IID_IEnumMsmString = {0x0ADDA826,0x2C26,0x11D2,{0xAD,0x65,0x00,0xA0,0xC9,0xAF,0x11,0xA6}};
  137. const IID IID_IMsmStrings = {0x0ADDA827,0x2C26,0x11D2,{0xAD,0x65,0x00,0xA0,0xC9,0xAF,0x11,0xA6}};
  138. const IID IID_IMsmError = {0x0ADDA828,0x2C26,0x11D2,{0xAD,0x65,0x00,0xA0,0xC9,0xAF,0x11,0xA6}};
  139. const IID IID_IEnumMsmError = {0x0ADDA829,0x2C26,0x11D2,{0xAD,0x65,0x00,0xA0,0xC9,0xAF,0x11,0xA6}};
  140. const IID IID_IMsmErrors = {0x0ADDA82A,0x2C26,0x11D2,{0xAD,0x65,0x00,0xA0,0xC9,0xAF,0x11,0xA6}};
  141. const IID IID_IMsmDependency = {0x0ADDA82B,0x2C26,0x11D2,{0xAD,0x65,0x00,0xA0,0xC9,0xAF,0x11,0xA6}};
  142. const IID IID_IEnumMsmDependency = {0x0ADDA82C,0x2C26,0x11D2,{0xAD,0x65,0x00,0xA0,0xC9,0xAF,0x11,0xA6}};
  143. const IID IID_IMsmDependencies = {0x0ADDA82D,0x2C26,0x11D2,{0xAD,0x65,0x00,0xA0,0xC9,0xAF,0x11,0xA6}};
  144. const IID IID_IMsmMerge = {0x0ADDA82E,0x2C26,0x11D2,{0xAD,0x65,0x00,0xA0,0xC9,0xAF,0x11,0xA6}};
  145. const IID IID_IMsmGetFiles = {0x7041ae26, 0x2d78, 0x11d2, { 0x88, 0x8a, 0x0, 0xa0, 0xc9, 0x81, 0xb0, 0x15 } };
  146. const IID LIBID_MsmMergeTypeLib = {0x0ADDA82F,0x2C26,0x11D2,{0xAD,0x65,0x00,0xA0,0xC9,0xAF,0x11,0xA6}};
  147. const CLSID CLSID_MsmMerge = {0x0ADDA830,0x2C26,0x11D2,{0xAD,0x65,0x00,0xA0,0xC9,0xAF,0x11,0xA6}};
  148. #if (_WIN32_MSM >= 150)
  149. const IID IID_IMsmMerge2 = {0x351A72AB, 0x21CB, 0x47AB, {0xB7, 0xAA, 0xC4, 0xD7, 0xB0, 0x2E, 0xA3, 0x05 } };
  150. const IID IID_IMsmConfigurableItem = {0x4D6E6284, 0xD21D, 0x401E, {0x84, 0xF6, 0x90, 0x9E, 0x00, 0xB5, 0x0F, 0x71 } };
  151. const IID IID_IEnumMsmConfigurableItem = {0x832C6969, 0x4826, 0x4C24, {0xA3, 0x97, 0xB7, 0x00, 0x2D, 0x81, 0x96, 0xE6 } };
  152. const IID IID_IMsmConfigurableItems = {0x55BF723C, 0x9A0D, 0x463E, {0xB4, 0x2B, 0xB4, 0xFB, 0xC7, 0xBE, 0x3C, 0x7C } };
  153. const IID IID_IMsmConfigureModule = {0xAC013209, 0x18A7, 0x4851, {0x8A, 0x21, 0x23, 0x53, 0x44, 0x3D, 0x70, 0xA0 } };
  154. const CLSID CLSID_MsmMerge2 = {0xF94985D5,0x29F9,0x4743,{ 0x98,0x05,0x99,0xBC,0x3F,0x35,0xB6,0x78}};
  155. #endif
  156. // --------------------------------------------------------------------------
  157. // MergeMod error types, returned from IMsmError::get_Type
  158. // --------------------------------------------------------------------------
  159. typedef /* [helpstring][uuid] */
  160. enum msmErrorType
  161. {
  162. msmErrorLanguageUnsupported = 1,
  163. msmErrorLanguageFailed = 2,
  164. msmErrorExclusion = 3,
  165. msmErrorTableMerge = 4,
  166. msmErrorResequenceMerge = 5,
  167. msmErrorFileCreate = 6,
  168. msmErrorDirCreate = 7,
  169. msmErrorFeatureRequired = 8,
  170. #if (_WIN32_MSM >= 150)
  171. msmErrorBadNullSubstitution = 9,
  172. msmErrorBadSubstitutionType = 10,
  173. msmErrorMissingConfigItem = 11,
  174. msmErrorBadNullResponse = 12,
  175. msmErrorDataRequestFailed = 13
  176. #endif
  177. }
  178. msmErrorType;
  179. #if (_WIN32_MSM >= 150)
  180. // --------------------------------------------------------------------------
  181. // MergeMod formats for ModuleConfiguration items.
  182. // --------------------------------------------------------------------------
  183. typedef /* [helpstring][uuid] */
  184. enum msmConfigurableItemFormat
  185. {
  186. msmConfigurableItemText = 0,
  187. msmConfigurableItemKey = 1,
  188. msmConfigurableItemInteger = 2,
  189. msmConfigurableItemBitfield = 3
  190. }
  191. msmConfigurableItemFormat;
  192. // --------------------------------------------------------------------------
  193. // MergeMod options for ModuleConfiguration items.
  194. // --------------------------------------------------------------------------
  195. typedef /* [helpstring][uuid] */
  196. enum msmConfigurableItemOptions
  197. {
  198. msmConfigurableOptionKeyNoOrphan = 1,
  199. msmConfigurableOptionNonNullable = 2
  200. }
  201. msmConfigurableItemOptions;
  202. #endif
  203. #endif // __FORWARD_IID_IMSMMERGETYPELIB
  204. extern RPC_IF_HANDLE __MIDL_itf_mergemod_0000_v0_0_c_ifspec;
  205. extern RPC_IF_HANDLE __MIDL_itf_mergemod_0000_v0_0_s_ifspec;
  206. // --------------------------------------------------------------------------
  207. // IEnumMsmString - enumeration of BSTR
  208. // --------------------------------------------------------------------------
  209. #ifndef __IEnumMsmString_INTERFACE_DEFINED__
  210. #define __IEnumMsmString_INTERFACE_DEFINED__
  211. EXTERN_C const IID IID_IEnumMsmString;
  212. #if defined(__cplusplus) && !defined(CINTERFACE)
  213. interface DECLSPEC_UUID("0ADDA826-2C26-11D2-AD65-00A0C9AF11A6")
  214. IEnumMsmString : public IUnknown
  215. {
  216. public:
  217. virtual HRESULT STDMETHODCALLTYPE Next(
  218. /* [in] */ unsigned long cFetch,
  219. /* [out] */ BSTR __RPC_FAR *rgbstrStrings,
  220. /* [retval][out] */ unsigned long __RPC_FAR *pcFetched) = 0;
  221. virtual HRESULT STDMETHODCALLTYPE Skip(
  222. /* [in] */ unsigned long cSkip) = 0;
  223. virtual HRESULT STDMETHODCALLTYPE Reset( void) = 0;
  224. virtual HRESULT STDMETHODCALLTYPE Clone(
  225. /* [retval][out] */ IEnumMsmString __RPC_FAR *__RPC_FAR *pemsmStrings) = 0;
  226. };
  227. #else /* C style interface */
  228. typedef struct IEnumMsmStringVtbl
  229. {
  230. BEGIN_INTERFACE
  231. HRESULT ( STDMETHODCALLTYPE __RPC_FAR *QueryInterface )(
  232. IEnumMsmString __RPC_FAR * This,
  233. /* [in] */ REFIID riid,
  234. /* [iid_is][out] */ void __RPC_FAR *__RPC_FAR *ppvObject);
  235. ULONG ( STDMETHODCALLTYPE __RPC_FAR *AddRef )(
  236. IEnumMsmString __RPC_FAR * This);
  237. ULONG ( STDMETHODCALLTYPE __RPC_FAR *Release )(
  238. IEnumMsmString __RPC_FAR * This);
  239. HRESULT ( STDMETHODCALLTYPE __RPC_FAR *Next )(
  240. IEnumMsmString __RPC_FAR * This,
  241. /* [in] */ unsigned long cFetch,
  242. /* [out] */ BSTR __RPC_FAR *rgbstrStrings,
  243. /* [retval][out] */ unsigned long __RPC_FAR *pcFetched);
  244. HRESULT ( STDMETHODCALLTYPE __RPC_FAR *Skip )(
  245. IEnumMsmString __RPC_FAR * This,
  246. /* [in] */ unsigned long cSkip);
  247. HRESULT ( STDMETHODCALLTYPE __RPC_FAR *Reset )(
  248. IEnumMsmString __RPC_FAR * This);
  249. HRESULT ( STDMETHODCALLTYPE __RPC_FAR *Clone )(
  250. IEnumMsmString __RPC_FAR * This,
  251. /* [retval][out] */ IEnumMsmString __RPC_FAR *__RPC_FAR *pemsmStrings);
  252. END_INTERFACE
  253. } IEnumMsmStringVtbl;
  254. interface IEnumMsmString
  255. {
  256. CONST_VTBL struct IEnumMsmStringVtbl __RPC_FAR *lpVtbl;
  257. };
  258. #ifdef COBJMACROS
  259. #define IEnumMsmString_QueryInterface(This,riid,ppvObject) \
  260. (This)->lpVtbl -> QueryInterface(This,riid,ppvObject)
  261. #define IEnumMsmString_AddRef(This) \
  262. (This)->lpVtbl -> AddRef(This)
  263. #define IEnumMsmString_Release(This) \
  264. (This)->lpVtbl -> Release(This)
  265. #define IEnumMsmString_Next(This,cFetch,rgbstrStrings,pcFetched) \
  266. (This)->lpVtbl -> Next(This,cFetch,rgbstrStrings,pcFetched)
  267. #define IEnumMsmString_Skip(This,cSkip) \
  268. (This)->lpVtbl -> Skip(This,cSkip)
  269. #define IEnumMsmString_Reset(This) \
  270. (This)->lpVtbl -> Reset(This)
  271. #define IEnumMsmString_Clone(This,pemsmStrings) \
  272. (This)->lpVtbl -> Clone(This,pemsmStrings)
  273. #endif /* COBJMACROS */
  274. #endif /* C style interface */
  275. HRESULT STDMETHODCALLTYPE IEnumMsmString_Next_Proxy(
  276. IEnumMsmString __RPC_FAR * This,
  277. /* [in] */ unsigned long cFetch,
  278. /* [out] */ BSTR __RPC_FAR *rgbstrStrings,
  279. /* [retval][out] */ unsigned long __RPC_FAR *pcFetched);
  280. void __RPC_STUB IEnumMsmString_Next_Stub(
  281. IRpcStubBuffer *This,
  282. IRpcChannelBuffer *_pRpcChannelBuffer,
  283. PRPC_MESSAGE _pRpcMessage,
  284. DWORD *_pdwStubPhase);
  285. HRESULT STDMETHODCALLTYPE IEnumMsmString_Skip_Proxy(
  286. IEnumMsmString __RPC_FAR * This,
  287. /* [in] */ unsigned long cSkip);
  288. void __RPC_STUB IEnumMsmString_Skip_Stub(
  289. IRpcStubBuffer *This,
  290. IRpcChannelBuffer *_pRpcChannelBuffer,
  291. PRPC_MESSAGE _pRpcMessage,
  292. DWORD *_pdwStubPhase);
  293. HRESULT STDMETHODCALLTYPE IEnumMsmString_Reset_Proxy(
  294. IEnumMsmString __RPC_FAR * This);
  295. void __RPC_STUB IEnumMsmString_Reset_Stub(
  296. IRpcStubBuffer *This,
  297. IRpcChannelBuffer *_pRpcChannelBuffer,
  298. PRPC_MESSAGE _pRpcMessage,
  299. DWORD *_pdwStubPhase);
  300. HRESULT STDMETHODCALLTYPE IEnumMsmString_Clone_Proxy(
  301. IEnumMsmString __RPC_FAR * This,
  302. /* [retval][out] */ IEnumMsmString __RPC_FAR *__RPC_FAR *pemsmStrings);
  303. void __RPC_STUB IEnumMsmString_Clone_Stub(
  304. IRpcStubBuffer *This,
  305. IRpcChannelBuffer *_pRpcChannelBuffer,
  306. PRPC_MESSAGE _pRpcMessage,
  307. DWORD *_pdwStubPhase);
  308. #endif /* __IEnumMsmString_INTERFACE_DEFINED__ */
  309. // --------------------------------------------------------------------------
  310. // IMsmStrings - a collection of MergeMod BSTR
  311. // --------------------------------------------------------------------------
  312. #ifndef __IMsmStrings_INTERFACE_DEFINED__
  313. #define __IMsmStrings_INTERFACE_DEFINED__
  314. EXTERN_C const IID IID_IMsmStrings;
  315. #if defined(__cplusplus) && !defined(CINTERFACE)
  316. interface DECLSPEC_UUID("0ADDA827-2C26-11D2-AD65-00A0C9AF11A6")
  317. IMsmStrings : public IDispatch
  318. {
  319. public:
  320. virtual /* [helpstring][id][propget] */ HRESULT STDMETHODCALLTYPE get_Item(
  321. /* [in] */ long Item,
  322. /* [retval][out] */ BSTR __RPC_FAR *Return) = 0;
  323. virtual /* [helpstring][id][propget] */ HRESULT STDMETHODCALLTYPE get_Count(
  324. /* [retval][out] */ long __RPC_FAR *Count) = 0;
  325. virtual /* [hidden][id][propget] */ HRESULT STDMETHODCALLTYPE get__NewEnum(
  326. /* [retval][out] */ IUnknown __RPC_FAR *__RPC_FAR *NewEnum) = 0;
  327. };
  328. #else /* C style interface */
  329. typedef struct IMsmStringsVtbl
  330. {
  331. BEGIN_INTERFACE
  332. HRESULT ( STDMETHODCALLTYPE __RPC_FAR *QueryInterface )(
  333. IMsmStrings __RPC_FAR * This,
  334. /* [in] */ REFIID riid,
  335. /* [iid_is][out] */ void __RPC_FAR *__RPC_FAR *ppvObject);
  336. ULONG ( STDMETHODCALLTYPE __RPC_FAR *AddRef )(
  337. IMsmStrings __RPC_FAR * This);
  338. ULONG ( STDMETHODCALLTYPE __RPC_FAR *Release )(
  339. IMsmStrings __RPC_FAR * This);
  340. HRESULT ( STDMETHODCALLTYPE __RPC_FAR *GetTypeInfoCount )(
  341. IMsmStrings __RPC_FAR * This,
  342. /* [out] */ UINT __RPC_FAR *pctinfo);
  343. HRESULT ( STDMETHODCALLTYPE __RPC_FAR *GetTypeInfo )(
  344. IMsmStrings __RPC_FAR * This,
  345. /* [in] */ UINT iTInfo,
  346. /* [in] */ LCID lcid,
  347. /* [out] */ ITypeInfo __RPC_FAR *__RPC_FAR *ppTInfo);
  348. HRESULT ( STDMETHODCALLTYPE __RPC_FAR *GetIDsOfNames )(
  349. IMsmStrings __RPC_FAR * This,
  350. /* [in] */ REFIID riid,
  351. /* [size_is][in] */ LPOLESTR __RPC_FAR *rgszNames,
  352. /* [in] */ UINT cNames,
  353. /* [in] */ LCID lcid,
  354. /* [size_is][out] */ DISPID __RPC_FAR *rgDispId);
  355. /* [local] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *Invoke )(
  356. IMsmStrings __RPC_FAR * This,
  357. /* [in] */ DISPID dispIdMember,
  358. /* [in] */ REFIID riid,
  359. /* [in] */ LCID lcid,
  360. /* [in] */ WORD wFlags,
  361. /* [out][in] */ DISPPARAMS __RPC_FAR *pDispParams,
  362. /* [out] */ VARIANT __RPC_FAR *pVarResult,
  363. /* [out] */ EXCEPINFO __RPC_FAR *pExcepInfo,
  364. /* [out] */ UINT __RPC_FAR *puArgErr);
  365. /* [helpstring][id][propget] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *get_Item )(
  366. IMsmStrings __RPC_FAR * This,
  367. /* [in] */ long Item,
  368. /* [retval][out] */ BSTR __RPC_FAR *Return);
  369. /* [helpstring][id][propget] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *get_Count )(
  370. IMsmStrings __RPC_FAR * This,
  371. /* [retval][out] */ long __RPC_FAR *Count);
  372. /* [hidden][id][propget] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *get__NewEnum )(
  373. IMsmStrings __RPC_FAR * This,
  374. /* [retval][out] */ IUnknown __RPC_FAR *__RPC_FAR *NewEnum);
  375. END_INTERFACE
  376. } IMsmStringsVtbl;
  377. interface IMsmStrings
  378. {
  379. CONST_VTBL struct IMsmStringsVtbl __RPC_FAR *lpVtbl;
  380. };
  381. #ifdef COBJMACROS
  382. #define IMsmStrings_QueryInterface(This,riid,ppvObject) \
  383. (This)->lpVtbl -> QueryInterface(This,riid,ppvObject)
  384. #define IMsmStrings_AddRef(This) \
  385. (This)->lpVtbl -> AddRef(This)
  386. #define IMsmStrings_Release(This) \
  387. (This)->lpVtbl -> Release(This)
  388. #define IMsmStrings_GetTypeInfoCount(This,pctinfo) \
  389. (This)->lpVtbl -> GetTypeInfoCount(This,pctinfo)
  390. #define IMsmStrings_GetTypeInfo(This,iTInfo,lcid,ppTInfo) \
  391. (This)->lpVtbl -> GetTypeInfo(This,iTInfo,lcid,ppTInfo)
  392. #define IMsmStrings_GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId) \
  393. (This)->lpVtbl -> GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId)
  394. #define IMsmStrings_Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr) \
  395. (This)->lpVtbl -> Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr)
  396. #define IMsmStrings_get_Item(This,Item,Return) \
  397. (This)->lpVtbl -> get_Item(This,Item,Return)
  398. #define IMsmStrings_get_Count(This,Count) \
  399. (This)->lpVtbl -> get_Count(This,Count)
  400. #define IMsmStrings_get__NewEnum(This,NewEnum) \
  401. (This)->lpVtbl -> get__NewEnum(This,NewEnum)
  402. #endif /* COBJMACROS */
  403. #endif /* C style interface */
  404. /* [helpstring][id][propget] */ HRESULT STDMETHODCALLTYPE IMsmStrings_get_Item_Proxy(
  405. IMsmStrings __RPC_FAR * This,
  406. /* [in] */ long Item,
  407. /* [retval][out] */ BSTR __RPC_FAR *Return);
  408. void __RPC_STUB IMsmStrings_get_Item_Stub(
  409. IRpcStubBuffer *This,
  410. IRpcChannelBuffer *_pRpcChannelBuffer,
  411. PRPC_MESSAGE _pRpcMessage,
  412. DWORD *_pdwStubPhase);
  413. /* [helpstring][id][propget] */ HRESULT STDMETHODCALLTYPE IMsmStrings_get_Count_Proxy(
  414. IMsmStrings __RPC_FAR * This,
  415. /* [retval][out] */ long __RPC_FAR *Count);
  416. void __RPC_STUB IMsmStrings_get_Count_Stub(
  417. IRpcStubBuffer *This,
  418. IRpcChannelBuffer *_pRpcChannelBuffer,
  419. PRPC_MESSAGE _pRpcMessage,
  420. DWORD *_pdwStubPhase);
  421. /* [hidden][id][propget] */ HRESULT STDMETHODCALLTYPE IMsmStrings_get__NewEnum_Proxy(
  422. IMsmStrings __RPC_FAR * This,
  423. /* [retval][out] */ IUnknown __RPC_FAR *__RPC_FAR *NewEnum);
  424. void __RPC_STUB IMsmStrings_get__NewEnum_Stub(
  425. IRpcStubBuffer *This,
  426. IRpcChannelBuffer *_pRpcChannelBuffer,
  427. PRPC_MESSAGE _pRpcMessage,
  428. DWORD *_pdwStubPhase);
  429. #endif /* __IMsmStrings_INTERFACE_DEFINED__ */
  430. // --------------------------------------------------------------------------
  431. // IMsmError - interface for retrieving details on a single merge error
  432. // --------------------------------------------------------------------------
  433. #ifndef __IMsmError_INTERFACE_DEFINED__
  434. #define __IMsmError_INTERFACE_DEFINED__
  435. EXTERN_C const IID IID_IMsmError;
  436. #if defined(__cplusplus) && !defined(CINTERFACE)
  437. interface DECLSPEC_UUID("0ADDA828-2C26-11D2-AD65-00A0C9AF11A6")
  438. IMsmError : public IDispatch
  439. {
  440. public:
  441. virtual /* [helpstring][id][propget] */ HRESULT STDMETHODCALLTYPE get_Type(
  442. /* [retval][out] */ msmErrorType __RPC_FAR *ErrorType) = 0;
  443. virtual /* [helpstring][id][propget] */ HRESULT STDMETHODCALLTYPE get_Path(
  444. /* [retval][out] */ BSTR __RPC_FAR *ErrorPath) = 0;
  445. virtual /* [helpstring][id][propget] */ HRESULT STDMETHODCALLTYPE get_Language(
  446. /* [retval][out] */ short __RPC_FAR *ErrorLanguage) = 0;
  447. virtual /* [helpstring][id][propget] */ HRESULT STDMETHODCALLTYPE get_DatabaseTable(
  448. /* [retval][out] */ BSTR __RPC_FAR *ErrorTable) = 0;
  449. virtual /* [helpstring][id][propget] */ HRESULT STDMETHODCALLTYPE get_DatabaseKeys(
  450. /* [retval][out] */ IMsmStrings __RPC_FAR *__RPC_FAR *ErrorKeys) = 0;
  451. virtual /* [helpstring][id][propget] */ HRESULT STDMETHODCALLTYPE get_ModuleTable(
  452. /* [retval][out] */ BSTR __RPC_FAR *ErrorTable) = 0;
  453. virtual /* [helpstring][id][propget] */ HRESULT STDMETHODCALLTYPE get_ModuleKeys(
  454. /* [retval][out] */ IMsmStrings __RPC_FAR *__RPC_FAR *ErrorKeys) = 0;
  455. };
  456. #else /* C style interface */
  457. typedef struct IMsmErrorVtbl
  458. {
  459. BEGIN_INTERFACE
  460. HRESULT ( STDMETHODCALLTYPE __RPC_FAR *QueryInterface )(
  461. IMsmError __RPC_FAR * This,
  462. /* [in] */ REFIID riid,
  463. /* [iid_is][out] */ void __RPC_FAR *__RPC_FAR *ppvObject);
  464. ULONG ( STDMETHODCALLTYPE __RPC_FAR *AddRef )(
  465. IMsmError __RPC_FAR * This);
  466. ULONG ( STDMETHODCALLTYPE __RPC_FAR *Release )(
  467. IMsmError __RPC_FAR * This);
  468. HRESULT ( STDMETHODCALLTYPE __RPC_FAR *GetTypeInfoCount )(
  469. IMsmError __RPC_FAR * This,
  470. /* [out] */ UINT __RPC_FAR *pctinfo);
  471. HRESULT ( STDMETHODCALLTYPE __RPC_FAR *GetTypeInfo )(
  472. IMsmError __RPC_FAR * This,
  473. /* [in] */ UINT iTInfo,
  474. /* [in] */ LCID lcid,
  475. /* [out] */ ITypeInfo __RPC_FAR *__RPC_FAR *ppTInfo);
  476. HRESULT ( STDMETHODCALLTYPE __RPC_FAR *GetIDsOfNames )(
  477. IMsmError __RPC_FAR * This,
  478. /* [in] */ REFIID riid,
  479. /* [size_is][in] */ LPOLESTR __RPC_FAR *rgszNames,
  480. /* [in] */ UINT cNames,
  481. /* [in] */ LCID lcid,
  482. /* [size_is][out] */ DISPID __RPC_FAR *rgDispId);
  483. /* [local] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *Invoke )(
  484. IMsmError __RPC_FAR * This,
  485. /* [in] */ DISPID dispIdMember,
  486. /* [in] */ REFIID riid,
  487. /* [in] */ LCID lcid,
  488. /* [in] */ WORD wFlags,
  489. /* [out][in] */ DISPPARAMS __RPC_FAR *pDispParams,
  490. /* [out] */ VARIANT __RPC_FAR *pVarResult,
  491. /* [out] */ EXCEPINFO __RPC_FAR *pExcepInfo,
  492. /* [out] */ UINT __RPC_FAR *puArgErr);
  493. /* [helpstring][id][propget] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *get_Type )(
  494. IMsmError __RPC_FAR * This,
  495. /* [retval][out] */ msmErrorType __RPC_FAR *ErrorType);
  496. /* [helpstring][id][propget] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *get_Path )(
  497. IMsmError __RPC_FAR * This,
  498. /* [retval][out] */ BSTR __RPC_FAR *ErrorPath);
  499. /* [helpstring][id][propget] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *get_Language )(
  500. IMsmError __RPC_FAR * This,
  501. /* [retval][out] */ short __RPC_FAR *ErrorLanguage);
  502. /* [helpstring][id][propget] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *get_DatabaseTable )(
  503. IMsmError __RPC_FAR * This,
  504. /* [retval][out] */ BSTR __RPC_FAR *ErrorTable);
  505. /* [helpstring][id][propget] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *get_DatabaseKeys )(
  506. IMsmError __RPC_FAR * This,
  507. /* [retval][out] */ IMsmStrings __RPC_FAR *__RPC_FAR *ErrorKeys);
  508. /* [helpstring][id][propget] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *get_ModuleTable )(
  509. IMsmError __RPC_FAR * This,
  510. /* [retval][out] */ BSTR __RPC_FAR *ErrorTable);
  511. /* [helpstring][id][propget] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *get_ModuleKeys )(
  512. IMsmError __RPC_FAR * This,
  513. /* [retval][out] */ IMsmStrings __RPC_FAR *__RPC_FAR *ErrorKeys);
  514. END_INTERFACE
  515. } IMsmErrorVtbl;
  516. interface IMsmError
  517. {
  518. CONST_VTBL struct IMsmErrorVtbl __RPC_FAR *lpVtbl;
  519. };
  520. #ifdef COBJMACROS
  521. #define IMsmError_QueryInterface(This,riid,ppvObject) \
  522. (This)->lpVtbl -> QueryInterface(This,riid,ppvObject)
  523. #define IMsmError_AddRef(This) \
  524. (This)->lpVtbl -> AddRef(This)
  525. #define IMsmError_Release(This) \
  526. (This)->lpVtbl -> Release(This)
  527. #define IMsmError_GetTypeInfoCount(This,pctinfo) \
  528. (This)->lpVtbl -> GetTypeInfoCount(This,pctinfo)
  529. #define IMsmError_GetTypeInfo(This,iTInfo,lcid,ppTInfo) \
  530. (This)->lpVtbl -> GetTypeInfo(This,iTInfo,lcid,ppTInfo)
  531. #define IMsmError_GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId) \
  532. (This)->lpVtbl -> GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId)
  533. #define IMsmError_Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr) \
  534. (This)->lpVtbl -> Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr)
  535. #define IMsmError_get_Type(This,ErrorType) \
  536. (This)->lpVtbl -> get_Type(This,ErrorType)
  537. #define IMsmError_get_Path(This,ErrorPath) \
  538. (This)->lpVtbl -> get_Path(This,ErrorPath)
  539. #define IMsmError_get_Language(This,ErrorLanguage) \
  540. (This)->lpVtbl -> get_Language(This,ErrorLanguage)
  541. #define IMsmError_get_DatabaseTable(This,ErrorTable) \
  542. (This)->lpVtbl -> get_DatabaseTable(This,ErrorTable)
  543. #define IMsmError_get_DatabaseKeys(This,ErrorKeys) \
  544. (This)->lpVtbl -> get_DatabaseKeys(This,ErrorKeys)
  545. #define IMsmError_get_ModuleTable(This,ErrorTable) \
  546. (This)->lpVtbl -> get_ModuleTable(This,ErrorTable)
  547. #define IMsmError_get_ModuleKeys(This,ErrorKeys) \
  548. (This)->lpVtbl -> get_ModuleKeys(This,ErrorKeys)
  549. #endif /* COBJMACROS */
  550. #endif /* C style interface */
  551. /* [helpstring][id][propget] */ HRESULT STDMETHODCALLTYPE IMsmError_get_Type_Proxy(
  552. IMsmError __RPC_FAR * This,
  553. /* [retval][out] */ msmErrorType __RPC_FAR *ErrorType);
  554. void __RPC_STUB IMsmError_get_Type_Stub(
  555. IRpcStubBuffer *This,
  556. IRpcChannelBuffer *_pRpcChannelBuffer,
  557. PRPC_MESSAGE _pRpcMessage,
  558. DWORD *_pdwStubPhase);
  559. /* [helpstring][id][propget] */ HRESULT STDMETHODCALLTYPE IMsmError_get_Path_Proxy(
  560. IMsmError __RPC_FAR * This,
  561. /* [retval][out] */ BSTR __RPC_FAR *ErrorPath);
  562. void __RPC_STUB IMsmError_get_Path_Stub(
  563. IRpcStubBuffer *This,
  564. IRpcChannelBuffer *_pRpcChannelBuffer,
  565. PRPC_MESSAGE _pRpcMessage,
  566. DWORD *_pdwStubPhase);
  567. /* [helpstring][id][propget] */ HRESULT STDMETHODCALLTYPE IMsmError_get_Language_Proxy(
  568. IMsmError __RPC_FAR * This,
  569. /* [retval][out] */ short __RPC_FAR *ErrorLanguage);
  570. void __RPC_STUB IMsmError_get_Language_Stub(
  571. IRpcStubBuffer *This,
  572. IRpcChannelBuffer *_pRpcChannelBuffer,
  573. PRPC_MESSAGE _pRpcMessage,
  574. DWORD *_pdwStubPhase);
  575. /* [helpstring][id][propget] */ HRESULT STDMETHODCALLTYPE IMsmError_get_DatabaseTable_Proxy(
  576. IMsmError __RPC_FAR * This,
  577. /* [retval][out] */ BSTR __RPC_FAR *ErrorTable);
  578. void __RPC_STUB IMsmError_get_DatabaseTable_Stub(
  579. IRpcStubBuffer *This,
  580. IRpcChannelBuffer *_pRpcChannelBuffer,
  581. PRPC_MESSAGE _pRpcMessage,
  582. DWORD *_pdwStubPhase);
  583. /* [helpstring][id][propget] */ HRESULT STDMETHODCALLTYPE IMsmError_get_DatabaseKeys_Proxy(
  584. IMsmError __RPC_FAR * This,
  585. /* [retval][out] */ IMsmStrings __RPC_FAR *__RPC_FAR *ErrorKeys);
  586. void __RPC_STUB IMsmError_get_DatabaseKeys_Stub(
  587. IRpcStubBuffer *This,
  588. IRpcChannelBuffer *_pRpcChannelBuffer,
  589. PRPC_MESSAGE _pRpcMessage,
  590. DWORD *_pdwStubPhase);
  591. /* [helpstring][id][propget] */ HRESULT STDMETHODCALLTYPE IMsmError_get_ModuleTable_Proxy(
  592. IMsmError __RPC_FAR * This,
  593. /* [retval][out] */ BSTR __RPC_FAR *ErrorTable);
  594. void __RPC_STUB IMsmError_get_ModuleTable_Stub(
  595. IRpcStubBuffer *This,
  596. IRpcChannelBuffer *_pRpcChannelBuffer,
  597. PRPC_MESSAGE _pRpcMessage,
  598. DWORD *_pdwStubPhase);
  599. /* [helpstring][id][propget] */ HRESULT STDMETHODCALLTYPE IMsmError_get_ModuleKeys_Proxy(
  600. IMsmError __RPC_FAR * This,
  601. /* [retval][out] */ IMsmStrings __RPC_FAR *__RPC_FAR *ErrorKeys);
  602. void __RPC_STUB IMsmError_get_ModuleKeys_Stub(
  603. IRpcStubBuffer *This,
  604. IRpcChannelBuffer *_pRpcChannelBuffer,
  605. PRPC_MESSAGE _pRpcMessage,
  606. DWORD *_pdwStubPhase);
  607. #endif /* __IMsmError_INTERFACE_DEFINED__ */
  608. // --------------------------------------------------------------------------
  609. // IEnumMsmError - enumeration of IMsmError interfaces
  610. // --------------------------------------------------------------------------
  611. #ifndef __IEnumMsmError_INTERFACE_DEFINED__
  612. #define __IEnumMsmError_INTERFACE_DEFINED__
  613. EXTERN_C const IID IID_IEnumMsmError;
  614. #if defined(__cplusplus) && !defined(CINTERFACE)
  615. interface DECLSPEC_UUID("0ADDA829-2C26-11D2-AD65-00A0C9AF11A6")
  616. IEnumMsmError : public IUnknown
  617. {
  618. public:
  619. virtual HRESULT STDMETHODCALLTYPE Next(
  620. /* [in] */ unsigned long cFetch,
  621. /* [out] */ IMsmError __RPC_FAR *__RPC_FAR *rgmsmErrors,
  622. /* [retval][out] */ unsigned long __RPC_FAR *pcFetched) = 0;
  623. virtual HRESULT STDMETHODCALLTYPE Skip(
  624. /* [in] */ unsigned long cSkip) = 0;
  625. virtual HRESULT STDMETHODCALLTYPE Reset( void) = 0;
  626. virtual HRESULT STDMETHODCALLTYPE Clone(
  627. /* [retval][out] */ IEnumMsmError __RPC_FAR *__RPC_FAR *pemsmErrors) = 0;
  628. };
  629. #else /* C style interface */
  630. typedef struct IEnumMsmErrorVtbl
  631. {
  632. BEGIN_INTERFACE
  633. HRESULT ( STDMETHODCALLTYPE __RPC_FAR *QueryInterface )(
  634. IEnumMsmError __RPC_FAR * This,
  635. /* [in] */ REFIID riid,
  636. /* [iid_is][out] */ void __RPC_FAR *__RPC_FAR *ppvObject);
  637. ULONG ( STDMETHODCALLTYPE __RPC_FAR *AddRef )(
  638. IEnumMsmError __RPC_FAR * This);
  639. ULONG ( STDMETHODCALLTYPE __RPC_FAR *Release )(
  640. IEnumMsmError __RPC_FAR * This);
  641. HRESULT ( STDMETHODCALLTYPE __RPC_FAR *Next )(
  642. IEnumMsmError __RPC_FAR * This,
  643. /* [in] */ unsigned long cFetch,
  644. /* [out] */ IMsmError __RPC_FAR *__RPC_FAR *rgmsmErrors,
  645. /* [retval][out] */ unsigned long __RPC_FAR *pcFetched);
  646. HRESULT ( STDMETHODCALLTYPE __RPC_FAR *Skip )(
  647. IEnumMsmError __RPC_FAR * This,
  648. /* [in] */ unsigned long cSkip);
  649. HRESULT ( STDMETHODCALLTYPE __RPC_FAR *Reset )(
  650. IEnumMsmError __RPC_FAR * This);
  651. HRESULT ( STDMETHODCALLTYPE __RPC_FAR *Clone )(
  652. IEnumMsmError __RPC_FAR * This,
  653. /* [retval][out] */ IEnumMsmError __RPC_FAR *__RPC_FAR *pemsmErrors);
  654. END_INTERFACE
  655. } IEnumMsmErrorVtbl;
  656. interface IEnumMsmError
  657. {
  658. CONST_VTBL struct IEnumMsmErrorVtbl __RPC_FAR *lpVtbl;
  659. };
  660. #ifdef COBJMACROS
  661. #define IEnumMsmError_QueryInterface(This,riid,ppvObject) \
  662. (This)->lpVtbl -> QueryInterface(This,riid,ppvObject)
  663. #define IEnumMsmError_AddRef(This) \
  664. (This)->lpVtbl -> AddRef(This)
  665. #define IEnumMsmError_Release(This) \
  666. (This)->lpVtbl -> Release(This)
  667. #define IEnumMsmError_Next(This,cFetch,rgmsmErrors,pcFetched) \
  668. (This)->lpVtbl -> Next(This,cFetch,rgmsmErrors,pcFetched)
  669. #define IEnumMsmError_Skip(This,cSkip) \
  670. (This)->lpVtbl -> Skip(This,cSkip)
  671. #define IEnumMsmError_Reset(This) \
  672. (This)->lpVtbl -> Reset(This)
  673. #define IEnumMsmError_Clone(This,pemsmErrors) \
  674. (This)->lpVtbl -> Clone(This,pemsmErrors)
  675. #endif /* COBJMACROS */
  676. #endif /* C style interface */
  677. HRESULT STDMETHODCALLTYPE IEnumMsmError_Next_Proxy(
  678. IEnumMsmError __RPC_FAR * This,
  679. /* [in] */ unsigned long cFetch,
  680. /* [out] */ IMsmError __RPC_FAR *__RPC_FAR *rgmsmErrors,
  681. /* [retval][out] */ unsigned long __RPC_FAR *pcFetched);
  682. void __RPC_STUB IEnumMsmError_Next_Stub(
  683. IRpcStubBuffer *This,
  684. IRpcChannelBuffer *_pRpcChannelBuffer,
  685. PRPC_MESSAGE _pRpcMessage,
  686. DWORD *_pdwStubPhase);
  687. HRESULT STDMETHODCALLTYPE IEnumMsmError_Skip_Proxy(
  688. IEnumMsmError __RPC_FAR * This,
  689. /* [in] */ unsigned long cSkip);
  690. void __RPC_STUB IEnumMsmError_Skip_Stub(
  691. IRpcStubBuffer *This,
  692. IRpcChannelBuffer *_pRpcChannelBuffer,
  693. PRPC_MESSAGE _pRpcMessage,
  694. DWORD *_pdwStubPhase);
  695. HRESULT STDMETHODCALLTYPE IEnumMsmError_Reset_Proxy(
  696. IEnumMsmError __RPC_FAR * This);
  697. void __RPC_STUB IEnumMsmError_Reset_Stub(
  698. IRpcStubBuffer *This,
  699. IRpcChannelBuffer *_pRpcChannelBuffer,
  700. PRPC_MESSAGE _pRpcMessage,
  701. DWORD *_pdwStubPhase);
  702. HRESULT STDMETHODCALLTYPE IEnumMsmError_Clone_Proxy(
  703. IEnumMsmError __RPC_FAR * This,
  704. /* [retval][out] */ IEnumMsmError __RPC_FAR *__RPC_FAR *pemsmErrors);
  705. void __RPC_STUB IEnumMsmError_Clone_Stub(
  706. IRpcStubBuffer *This,
  707. IRpcChannelBuffer *_pRpcChannelBuffer,
  708. PRPC_MESSAGE _pRpcMessage,
  709. DWORD *_pdwStubPhase);
  710. #endif /* __IEnumMsmError_INTERFACE_DEFINED__ */
  711. // --------------------------------------------------------------------------
  712. // IMsmErrors - collection of IMsmError interfaces
  713. // --------------------------------------------------------------------------
  714. #ifndef __IMsmErrors_INTERFACE_DEFINED__
  715. #define __IMsmErrors_INTERFACE_DEFINED__
  716. EXTERN_C const IID IID_IMsmErrors;
  717. #if defined(__cplusplus) && !defined(CINTERFACE)
  718. interface DECLSPEC_UUID("0ADDA82A-2C26-11D2-AD65-00A0C9AF11A6")
  719. IMsmErrors : public IDispatch
  720. {
  721. public:
  722. virtual /* [helpstring][id][propget] */ HRESULT STDMETHODCALLTYPE get_Item(
  723. /* [in] */ long Item,
  724. /* [retval][out] */ IMsmError __RPC_FAR *__RPC_FAR *Return) = 0;
  725. virtual /* [helpstring][id][propget] */ HRESULT STDMETHODCALLTYPE get_Count(
  726. /* [retval][out] */ long __RPC_FAR *Count) = 0;
  727. virtual /* [hidden][id][propget] */ HRESULT STDMETHODCALLTYPE get__NewEnum(
  728. /* [retval][out] */ IUnknown __RPC_FAR *__RPC_FAR *NewEnum) = 0;
  729. };
  730. #else /* C style interface */
  731. typedef struct IMsmErrorsVtbl
  732. {
  733. BEGIN_INTERFACE
  734. HRESULT ( STDMETHODCALLTYPE __RPC_FAR *QueryInterface )(
  735. IMsmErrors __RPC_FAR * This,
  736. /* [in] */ REFIID riid,
  737. /* [iid_is][out] */ void __RPC_FAR *__RPC_FAR *ppvObject);
  738. ULONG ( STDMETHODCALLTYPE __RPC_FAR *AddRef )(
  739. IMsmErrors __RPC_FAR * This);
  740. ULONG ( STDMETHODCALLTYPE __RPC_FAR *Release )(
  741. IMsmErrors __RPC_FAR * This);
  742. HRESULT ( STDMETHODCALLTYPE __RPC_FAR *GetTypeInfoCount )(
  743. IMsmErrors __RPC_FAR * This,
  744. /* [out] */ UINT __RPC_FAR *pctinfo);
  745. HRESULT ( STDMETHODCALLTYPE __RPC_FAR *GetTypeInfo )(
  746. IMsmErrors __RPC_FAR * This,
  747. /* [in] */ UINT iTInfo,
  748. /* [in] */ LCID lcid,
  749. /* [out] */ ITypeInfo __RPC_FAR *__RPC_FAR *ppTInfo);
  750. HRESULT ( STDMETHODCALLTYPE __RPC_FAR *GetIDsOfNames )(
  751. IMsmErrors __RPC_FAR * This,
  752. /* [in] */ REFIID riid,
  753. /* [size_is][in] */ LPOLESTR __RPC_FAR *rgszNames,
  754. /* [in] */ UINT cNames,
  755. /* [in] */ LCID lcid,
  756. /* [size_is][out] */ DISPID __RPC_FAR *rgDispId);
  757. /* [local] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *Invoke )(
  758. IMsmErrors __RPC_FAR * This,
  759. /* [in] */ DISPID dispIdMember,
  760. /* [in] */ REFIID riid,
  761. /* [in] */ LCID lcid,
  762. /* [in] */ WORD wFlags,
  763. /* [out][in] */ DISPPARAMS __RPC_FAR *pDispParams,
  764. /* [out] */ VARIANT __RPC_FAR *pVarResult,
  765. /* [out] */ EXCEPINFO __RPC_FAR *pExcepInfo,
  766. /* [out] */ UINT __RPC_FAR *puArgErr);
  767. /* [helpstring][id][propget] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *get_Item )(
  768. IMsmErrors __RPC_FAR * This,
  769. /* [in] */ long Item,
  770. /* [retval][out] */ IMsmError __RPC_FAR *__RPC_FAR *Return);
  771. /* [helpstring][id][propget] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *get_Count )(
  772. IMsmErrors __RPC_FAR * This,
  773. /* [retval][out] */ long __RPC_FAR *Count);
  774. /* [hidden][id][propget] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *get__NewEnum )(
  775. IMsmErrors __RPC_FAR * This,
  776. /* [retval][out] */ IUnknown __RPC_FAR *__RPC_FAR *NewEnum);
  777. END_INTERFACE
  778. } IMsmErrorsVtbl;
  779. interface IMsmErrors
  780. {
  781. CONST_VTBL struct IMsmErrorsVtbl __RPC_FAR *lpVtbl;
  782. };
  783. #ifdef COBJMACROS
  784. #define IMsmErrors_QueryInterface(This,riid,ppvObject) \
  785. (This)->lpVtbl -> QueryInterface(This,riid,ppvObject)
  786. #define IMsmErrors_AddRef(This) \
  787. (This)->lpVtbl -> AddRef(This)
  788. #define IMsmErrors_Release(This) \
  789. (This)->lpVtbl -> Release(This)
  790. #define IMsmErrors_GetTypeInfoCount(This,pctinfo) \
  791. (This)->lpVtbl -> GetTypeInfoCount(This,pctinfo)
  792. #define IMsmErrors_GetTypeInfo(This,iTInfo,lcid,ppTInfo) \
  793. (This)->lpVtbl -> GetTypeInfo(This,iTInfo,lcid,ppTInfo)
  794. #define IMsmErrors_GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId) \
  795. (This)->lpVtbl -> GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId)
  796. #define IMsmErrors_Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr) \
  797. (This)->lpVtbl -> Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr)
  798. #define IMsmErrors_get_Item(This,Item,Return) \
  799. (This)->lpVtbl -> get_Item(This,Item,Return)
  800. #define IMsmErrors_get_Count(This,Count) \
  801. (This)->lpVtbl -> get_Count(This,Count)
  802. #define IMsmErrors_get__NewEnum(This,NewEnum) \
  803. (This)->lpVtbl -> get__NewEnum(This,NewEnum)
  804. #endif /* COBJMACROS */
  805. #endif /* C style interface */
  806. /* [helpstring][id][propget] */ HRESULT STDMETHODCALLTYPE IMsmErrors_get_Item_Proxy(
  807. IMsmErrors __RPC_FAR * This,
  808. /* [in] */ long Item,
  809. /* [retval][out] */ IMsmError __RPC_FAR *__RPC_FAR *Return);
  810. void __RPC_STUB IMsmErrors_get_Item_Stub(
  811. IRpcStubBuffer *This,
  812. IRpcChannelBuffer *_pRpcChannelBuffer,
  813. PRPC_MESSAGE _pRpcMessage,
  814. DWORD *_pdwStubPhase);
  815. /* [helpstring][id][propget] */ HRESULT STDMETHODCALLTYPE IMsmErrors_get_Count_Proxy(
  816. IMsmErrors __RPC_FAR * This,
  817. /* [retval][out] */ long __RPC_FAR *Count);
  818. void __RPC_STUB IMsmErrors_get_Count_Stub(
  819. IRpcStubBuffer *This,
  820. IRpcChannelBuffer *_pRpcChannelBuffer,
  821. PRPC_MESSAGE _pRpcMessage,
  822. DWORD *_pdwStubPhase);
  823. /* [hidden][id][propget] */ HRESULT STDMETHODCALLTYPE IMsmErrors_get__NewEnum_Proxy(
  824. IMsmErrors __RPC_FAR * This,
  825. /* [retval][out] */ IUnknown __RPC_FAR *__RPC_FAR *NewEnum);
  826. void __RPC_STUB IMsmErrors_get__NewEnum_Stub(
  827. IRpcStubBuffer *This,
  828. IRpcChannelBuffer *_pRpcChannelBuffer,
  829. PRPC_MESSAGE _pRpcMessage,
  830. DWORD *_pdwStubPhase);
  831. #endif /* __IMsmErrors_INTERFACE_DEFINED__ */
  832. // --------------------------------------------------------------------------
  833. // IMsmDependency - interface for retrieving details on a single module
  834. // dependency.
  835. // --------------------------------------------------------------------------
  836. #ifndef __IMsmDependency_INTERFACE_DEFINED__
  837. #define __IMsmDependency_INTERFACE_DEFINED__
  838. EXTERN_C const IID IID_IMsmDependency;
  839. #if defined(__cplusplus) && !defined(CINTERFACE)
  840. interface DECLSPEC_UUID("0ADDA82B-2C26-11D2-AD65-00A0C9AF11A6")
  841. IMsmDependency : public IDispatch
  842. {
  843. public:
  844. virtual /* [helpstring][id][propget] */ HRESULT STDMETHODCALLTYPE get_Module(
  845. /* [retval][out] */ BSTR __RPC_FAR *Module) = 0;
  846. virtual /* [helpstring][id][propget] */ HRESULT STDMETHODCALLTYPE get_Language(
  847. /* [retval][out] */ short __RPC_FAR *Language) = 0;
  848. virtual /* [helpstring][id][propget] */ HRESULT STDMETHODCALLTYPE get_Version(
  849. /* [retval][out] */ BSTR __RPC_FAR *Version) = 0;
  850. };
  851. #else /* C style interface */
  852. typedef struct IMsmDependencyVtbl
  853. {
  854. BEGIN_INTERFACE
  855. HRESULT ( STDMETHODCALLTYPE __RPC_FAR *QueryInterface )(
  856. IMsmDependency __RPC_FAR * This,
  857. /* [in] */ REFIID riid,
  858. /* [iid_is][out] */ void __RPC_FAR *__RPC_FAR *ppvObject);
  859. ULONG ( STDMETHODCALLTYPE __RPC_FAR *AddRef )(
  860. IMsmDependency __RPC_FAR * This);
  861. ULONG ( STDMETHODCALLTYPE __RPC_FAR *Release )(
  862. IMsmDependency __RPC_FAR * This);
  863. HRESULT ( STDMETHODCALLTYPE __RPC_FAR *GetTypeInfoCount )(
  864. IMsmDependency __RPC_FAR * This,
  865. /* [out] */ UINT __RPC_FAR *pctinfo);
  866. HRESULT ( STDMETHODCALLTYPE __RPC_FAR *GetTypeInfo )(
  867. IMsmDependency __RPC_FAR * This,
  868. /* [in] */ UINT iTInfo,
  869. /* [in] */ LCID lcid,
  870. /* [out] */ ITypeInfo __RPC_FAR *__RPC_FAR *ppTInfo);
  871. HRESULT ( STDMETHODCALLTYPE __RPC_FAR *GetIDsOfNames )(
  872. IMsmDependency __RPC_FAR * This,
  873. /* [in] */ REFIID riid,
  874. /* [size_is][in] */ LPOLESTR __RPC_FAR *rgszNames,
  875. /* [in] */ UINT cNames,
  876. /* [in] */ LCID lcid,
  877. /* [size_is][out] */ DISPID __RPC_FAR *rgDispId);
  878. /* [local] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *Invoke )(
  879. IMsmDependency __RPC_FAR * This,
  880. /* [in] */ DISPID dispIdMember,
  881. /* [in] */ REFIID riid,
  882. /* [in] */ LCID lcid,
  883. /* [in] */ WORD wFlags,
  884. /* [out][in] */ DISPPARAMS __RPC_FAR *pDispParams,
  885. /* [out] */ VARIANT __RPC_FAR *pVarResult,
  886. /* [out] */ EXCEPINFO __RPC_FAR *pExcepInfo,
  887. /* [out] */ UINT __RPC_FAR *puArgErr);
  888. /* [helpstring][id][propget] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *get_Module )(
  889. IMsmDependency __RPC_FAR * This,
  890. /* [retval][out] */ BSTR __RPC_FAR *Module);
  891. /* [helpstring][id][propget] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *get_Language )(
  892. IMsmDependency __RPC_FAR * This,
  893. /* [retval][out] */ short __RPC_FAR *Language);
  894. /* [helpstring][id][propget] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *get_Version )(
  895. IMsmDependency __RPC_FAR * This,
  896. /* [retval][out] */ BSTR __RPC_FAR *Version);
  897. END_INTERFACE
  898. } IMsmDependencyVtbl;
  899. interface IMsmDependency
  900. {
  901. CONST_VTBL struct IMsmDependencyVtbl __RPC_FAR *lpVtbl;
  902. };
  903. #ifdef COBJMACROS
  904. #define IMsmDependency_QueryInterface(This,riid,ppvObject) \
  905. (This)->lpVtbl -> QueryInterface(This,riid,ppvObject)
  906. #define IMsmDependency_AddRef(This) \
  907. (This)->lpVtbl -> AddRef(This)
  908. #define IMsmDependency_Release(This) \
  909. (This)->lpVtbl -> Release(This)
  910. #define IMsmDependency_GetTypeInfoCount(This,pctinfo) \
  911. (This)->lpVtbl -> GetTypeInfoCount(This,pctinfo)
  912. #define IMsmDependency_GetTypeInfo(This,iTInfo,lcid,ppTInfo) \
  913. (This)->lpVtbl -> GetTypeInfo(This,iTInfo,lcid,ppTInfo)
  914. #define IMsmDependency_GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId) \
  915. (This)->lpVtbl -> GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId)
  916. #define IMsmDependency_Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr) \
  917. (This)->lpVtbl -> Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr)
  918. #define IMsmDependency_get_Module(This,Module) \
  919. (This)->lpVtbl -> get_Module(This,Module)
  920. #define IMsmDependency_get_Language(This,Language) \
  921. (This)->lpVtbl -> get_Language(This,Language)
  922. #define IMsmDependency_get_Version(This,Version) \
  923. (This)->lpVtbl -> get_Version(This,Version)
  924. #endif /* COBJMACROS */
  925. #endif /* C style interface */
  926. /* [helpstring][id][propget] */ HRESULT STDMETHODCALLTYPE IMsmDependency_get_Module_Proxy(
  927. IMsmDependency __RPC_FAR * This,
  928. /* [retval][out] */ BSTR __RPC_FAR *Module);
  929. void __RPC_STUB IMsmDependency_get_Module_Stub(
  930. IRpcStubBuffer *This,
  931. IRpcChannelBuffer *_pRpcChannelBuffer,
  932. PRPC_MESSAGE _pRpcMessage,
  933. DWORD *_pdwStubPhase);
  934. /* [helpstring][id][propget] */ HRESULT STDMETHODCALLTYPE IMsmDependency_get_Language_Proxy(
  935. IMsmDependency __RPC_FAR * This,
  936. /* [retval][out] */ short __RPC_FAR *Language);
  937. void __RPC_STUB IMsmDependency_get_Language_Stub(
  938. IRpcStubBuffer *This,
  939. IRpcChannelBuffer *_pRpcChannelBuffer,
  940. PRPC_MESSAGE _pRpcMessage,
  941. DWORD *_pdwStubPhase);
  942. /* [helpstring][id][propget] */ HRESULT STDMETHODCALLTYPE IMsmDependency_get_Version_Proxy(
  943. IMsmDependency __RPC_FAR * This,
  944. /* [retval][out] */ BSTR __RPC_FAR *Version);
  945. void __RPC_STUB IMsmDependency_get_Version_Stub(
  946. IRpcStubBuffer *This,
  947. IRpcChannelBuffer *_pRpcChannelBuffer,
  948. PRPC_MESSAGE _pRpcMessage,
  949. DWORD *_pdwStubPhase);
  950. #endif /* __IMsmDependency_INTERFACE_DEFINED__ */
  951. // --------------------------------------------------------------------------
  952. // IEnumMsmDependency - enumeration of IMsmDependency interfaces
  953. // --------------------------------------------------------------------------
  954. #ifndef __IEnumMsmDependency_INTERFACE_DEFINED__
  955. #define __IEnumMsmDependency_INTERFACE_DEFINED__
  956. EXTERN_C const IID IID_IEnumMsmDependency;
  957. #if defined(__cplusplus) && !defined(CINTERFACE)
  958. interface DECLSPEC_UUID("0ADDA82C-2C26-11D2-AD65-00A0C9AF11A6")
  959. IEnumMsmDependency : public IUnknown
  960. {
  961. public:
  962. virtual HRESULT STDMETHODCALLTYPE Next(
  963. /* [in] */ unsigned long cFetch,
  964. /* [out] */ IMsmDependency __RPC_FAR *__RPC_FAR *rgmsmDependencies,
  965. /* [retval][out] */ unsigned long __RPC_FAR *pcFetched) = 0;
  966. virtual HRESULT STDMETHODCALLTYPE Skip(
  967. /* [in] */ unsigned long cSkip) = 0;
  968. virtual HRESULT STDMETHODCALLTYPE Reset( void) = 0;
  969. virtual HRESULT STDMETHODCALLTYPE Clone(
  970. /* [retval][out] */ IEnumMsmDependency __RPC_FAR *__RPC_FAR *pemsmDependencies) = 0;
  971. };
  972. #else /* C style interface */
  973. typedef struct IEnumMsmDependencyVtbl
  974. {
  975. BEGIN_INTERFACE
  976. HRESULT ( STDMETHODCALLTYPE __RPC_FAR *QueryInterface )(
  977. IEnumMsmDependency __RPC_FAR * This,
  978. /* [in] */ REFIID riid,
  979. /* [iid_is][out] */ void __RPC_FAR *__RPC_FAR *ppvObject);
  980. ULONG ( STDMETHODCALLTYPE __RPC_FAR *AddRef )(
  981. IEnumMsmDependency __RPC_FAR * This);
  982. ULONG ( STDMETHODCALLTYPE __RPC_FAR *Release )(
  983. IEnumMsmDependency __RPC_FAR * This);
  984. HRESULT ( STDMETHODCALLTYPE __RPC_FAR *Next )(
  985. IEnumMsmDependency __RPC_FAR * This,
  986. /* [in] */ unsigned long cFetch,
  987. /* [out] */ IMsmDependency __RPC_FAR *__RPC_FAR *rgmsmDependencies,
  988. /* [retval][out] */ unsigned long __RPC_FAR *pcFetched);
  989. HRESULT ( STDMETHODCALLTYPE __RPC_FAR *Skip )(
  990. IEnumMsmDependency __RPC_FAR * This,
  991. /* [in] */ unsigned long cSkip);
  992. HRESULT ( STDMETHODCALLTYPE __RPC_FAR *Reset )(
  993. IEnumMsmDependency __RPC_FAR * This);
  994. HRESULT ( STDMETHODCALLTYPE __RPC_FAR *Clone )(
  995. IEnumMsmDependency __RPC_FAR * This,
  996. /* [retval][out] */ IEnumMsmDependency __RPC_FAR *__RPC_FAR *pemsmDependencies);
  997. END_INTERFACE
  998. } IEnumMsmDependencyVtbl;
  999. interface IEnumMsmDependency
  1000. {
  1001. CONST_VTBL struct IEnumMsmDependencyVtbl __RPC_FAR *lpVtbl;
  1002. };
  1003. #ifdef COBJMACROS
  1004. #define IEnumMsmDependency_QueryInterface(This,riid,ppvObject) \
  1005. (This)->lpVtbl -> QueryInterface(This,riid,ppvObject)
  1006. #define IEnumMsmDependency_AddRef(This) \
  1007. (This)->lpVtbl -> AddRef(This)
  1008. #define IEnumMsmDependency_Release(This) \
  1009. (This)->lpVtbl -> Release(This)
  1010. #define IEnumMsmDependency_Next(This,cFetch,rgmsmDependencies,pcFetched) \
  1011. (This)->lpVtbl -> Next(This,cFetch,rgmsmDependencies,pcFetched)
  1012. #define IEnumMsmDependency_Skip(This,cSkip) \
  1013. (This)->lpVtbl -> Skip(This,cSkip)
  1014. #define IEnumMsmDependency_Reset(This) \
  1015. (This)->lpVtbl -> Reset(This)
  1016. #define IEnumMsmDependency_Clone(This,pemsmDependencies) \
  1017. (This)->lpVtbl -> Clone(This,pemsmDependencies)
  1018. #endif /* COBJMACROS */
  1019. #endif /* C style interface */
  1020. HRESULT STDMETHODCALLTYPE IEnumMsmDependency_Next_Proxy(
  1021. IEnumMsmDependency __RPC_FAR * This,
  1022. /* [in] */ unsigned long cFetch,
  1023. /* [out] */ IMsmDependency __RPC_FAR *__RPC_FAR *rgmsmDependencies,
  1024. /* [retval][out] */ unsigned long __RPC_FAR *pcFetched);
  1025. void __RPC_STUB IEnumMsmDependency_Next_Stub(
  1026. IRpcStubBuffer *This,
  1027. IRpcChannelBuffer *_pRpcChannelBuffer,
  1028. PRPC_MESSAGE _pRpcMessage,
  1029. DWORD *_pdwStubPhase);
  1030. HRESULT STDMETHODCALLTYPE IEnumMsmDependency_Skip_Proxy(
  1031. IEnumMsmDependency __RPC_FAR * This,
  1032. /* [in] */ unsigned long cSkip);
  1033. void __RPC_STUB IEnumMsmDependency_Skip_Stub(
  1034. IRpcStubBuffer *This,
  1035. IRpcChannelBuffer *_pRpcChannelBuffer,
  1036. PRPC_MESSAGE _pRpcMessage,
  1037. DWORD *_pdwStubPhase);
  1038. HRESULT STDMETHODCALLTYPE IEnumMsmDependency_Reset_Proxy(
  1039. IEnumMsmDependency __RPC_FAR * This);
  1040. void __RPC_STUB IEnumMsmDependency_Reset_Stub(
  1041. IRpcStubBuffer *This,
  1042. IRpcChannelBuffer *_pRpcChannelBuffer,
  1043. PRPC_MESSAGE _pRpcMessage,
  1044. DWORD *_pdwStubPhase);
  1045. HRESULT STDMETHODCALLTYPE IEnumMsmDependency_Clone_Proxy(
  1046. IEnumMsmDependency __RPC_FAR * This,
  1047. /* [retval][out] */ IEnumMsmDependency __RPC_FAR *__RPC_FAR *pemsmDependencies);
  1048. void __RPC_STUB IEnumMsmDependency_Clone_Stub(
  1049. IRpcStubBuffer *This,
  1050. IRpcChannelBuffer *_pRpcChannelBuffer,
  1051. PRPC_MESSAGE _pRpcMessage,
  1052. DWORD *_pdwStubPhase);
  1053. #endif /* __IEnumMsmDependency_INTERFACE_DEFINED__ */
  1054. // --------------------------------------------------------------------------
  1055. // IMsmDependencies - collection of IMsmDependency interfaces
  1056. // --------------------------------------------------------------------------
  1057. #ifndef __IMsmDependencies_INTERFACE_DEFINED__
  1058. #define __IMsmDependencies_INTERFACE_DEFINED__
  1059. EXTERN_C const IID IID_IMsmDependencies;
  1060. #if defined(__cplusplus) && !defined(CINTERFACE)
  1061. interface DECLSPEC_UUID("0ADDA82D-2C26-11D2-AD65-00A0C9AF11A6")
  1062. IMsmDependencies : public IDispatch
  1063. {
  1064. public:
  1065. virtual /* [helpstring][id][propget] */ HRESULT STDMETHODCALLTYPE get_Item(
  1066. /* [in] */ long Item,
  1067. /* [retval][out] */ IMsmDependency __RPC_FAR *__RPC_FAR *Return) = 0;
  1068. virtual /* [helpstring][id][propget] */ HRESULT STDMETHODCALLTYPE get_Count(
  1069. /* [retval][out] */ long __RPC_FAR *Count) = 0;
  1070. virtual /* [hidden][id][propget] */ HRESULT STDMETHODCALLTYPE get__NewEnum(
  1071. /* [retval][out] */ IUnknown __RPC_FAR *__RPC_FAR *NewEnum) = 0;
  1072. };
  1073. #else /* C style interface */
  1074. typedef struct IMsmDependenciesVtbl
  1075. {
  1076. BEGIN_INTERFACE
  1077. HRESULT ( STDMETHODCALLTYPE __RPC_FAR *QueryInterface )(
  1078. IMsmDependencies __RPC_FAR * This,
  1079. /* [in] */ REFIID riid,
  1080. /* [iid_is][out] */ void __RPC_FAR *__RPC_FAR *ppvObject);
  1081. ULONG ( STDMETHODCALLTYPE __RPC_FAR *AddRef )(
  1082. IMsmDependencies __RPC_FAR * This);
  1083. ULONG ( STDMETHODCALLTYPE __RPC_FAR *Release )(
  1084. IMsmDependencies __RPC_FAR * This);
  1085. HRESULT ( STDMETHODCALLTYPE __RPC_FAR *GetTypeInfoCount )(
  1086. IMsmDependencies __RPC_FAR * This,
  1087. /* [out] */ UINT __RPC_FAR *pctinfo);
  1088. HRESULT ( STDMETHODCALLTYPE __RPC_FAR *GetTypeInfo )(
  1089. IMsmDependencies __RPC_FAR * This,
  1090. /* [in] */ UINT iTInfo,
  1091. /* [in] */ LCID lcid,
  1092. /* [out] */ ITypeInfo __RPC_FAR *__RPC_FAR *ppTInfo);
  1093. HRESULT ( STDMETHODCALLTYPE __RPC_FAR *GetIDsOfNames )(
  1094. IMsmDependencies __RPC_FAR * This,
  1095. /* [in] */ REFIID riid,
  1096. /* [size_is][in] */ LPOLESTR __RPC_FAR *rgszNames,
  1097. /* [in] */ UINT cNames,
  1098. /* [in] */ LCID lcid,
  1099. /* [size_is][out] */ DISPID __RPC_FAR *rgDispId);
  1100. /* [local] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *Invoke )(
  1101. IMsmDependencies __RPC_FAR * This,
  1102. /* [in] */ DISPID dispIdMember,
  1103. /* [in] */ REFIID riid,
  1104. /* [in] */ LCID lcid,
  1105. /* [in] */ WORD wFlags,
  1106. /* [out][in] */ DISPPARAMS __RPC_FAR *pDispParams,
  1107. /* [out] */ VARIANT __RPC_FAR *pVarResult,
  1108. /* [out] */ EXCEPINFO __RPC_FAR *pExcepInfo,
  1109. /* [out] */ UINT __RPC_FAR *puArgErr);
  1110. /* [helpstring][id][propget] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *get_Item )(
  1111. IMsmDependencies __RPC_FAR * This,
  1112. /* [in] */ long Item,
  1113. /* [retval][out] */ IMsmDependency __RPC_FAR *__RPC_FAR *Return);
  1114. /* [helpstring][id][propget] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *get_Count )(
  1115. IMsmDependencies __RPC_FAR * This,
  1116. /* [retval][out] */ long __RPC_FAR *Count);
  1117. /* [hidden][id][propget] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *get__NewEnum )(
  1118. IMsmDependencies __RPC_FAR * This,
  1119. /* [retval][out] */ IUnknown __RPC_FAR *__RPC_FAR *NewEnum);
  1120. END_INTERFACE
  1121. } IMsmDependenciesVtbl;
  1122. interface IMsmDependencies
  1123. {
  1124. CONST_VTBL struct IMsmDependenciesVtbl __RPC_FAR *lpVtbl;
  1125. };
  1126. #ifdef COBJMACROS
  1127. #define IMsmDependencies_QueryInterface(This,riid,ppvObject) \
  1128. (This)->lpVtbl -> QueryInterface(This,riid,ppvObject)
  1129. #define IMsmDependencies_AddRef(This) \
  1130. (This)->lpVtbl -> AddRef(This)
  1131. #define IMsmDependencies_Release(This) \
  1132. (This)->lpVtbl -> Release(This)
  1133. #define IMsmDependencies_GetTypeInfoCount(This,pctinfo) \
  1134. (This)->lpVtbl -> GetTypeInfoCount(This,pctinfo)
  1135. #define IMsmDependencies_GetTypeInfo(This,iTInfo,lcid,ppTInfo) \
  1136. (This)->lpVtbl -> GetTypeInfo(This,iTInfo,lcid,ppTInfo)
  1137. #define IMsmDependencies_GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId) \
  1138. (This)->lpVtbl -> GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId)
  1139. #define IMsmDependencies_Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr) \
  1140. (This)->lpVtbl -> Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr)
  1141. #define IMsmDependencies_get_Item(This,Item,Return) \
  1142. (This)->lpVtbl -> get_Item(This,Item,Return)
  1143. #define IMsmDependencies_get_Count(This,Count) \
  1144. (This)->lpVtbl -> get_Count(This,Count)
  1145. #define IMsmDependencies_get__NewEnum(This,NewEnum) \
  1146. (This)->lpVtbl -> get__NewEnum(This,NewEnum)
  1147. #endif /* COBJMACROS */
  1148. #endif /* C style interface */
  1149. /* [helpstring][id][propget] */ HRESULT STDMETHODCALLTYPE IMsmDependencies_get_Item_Proxy(
  1150. IMsmDependencies __RPC_FAR * This,
  1151. /* [in] */ long Item,
  1152. /* [retval][out] */ IMsmDependency __RPC_FAR *__RPC_FAR *Return);
  1153. void __RPC_STUB IMsmDependencies_get_Item_Stub(
  1154. IRpcStubBuffer *This,
  1155. IRpcChannelBuffer *_pRpcChannelBuffer,
  1156. PRPC_MESSAGE _pRpcMessage,
  1157. DWORD *_pdwStubPhase);
  1158. /* [helpstring][id][propget] */ HRESULT STDMETHODCALLTYPE IMsmDependencies_get_Count_Proxy(
  1159. IMsmDependencies __RPC_FAR * This,
  1160. /* [retval][out] */ long __RPC_FAR *Count);
  1161. void __RPC_STUB IMsmDependencies_get_Count_Stub(
  1162. IRpcStubBuffer *This,
  1163. IRpcChannelBuffer *_pRpcChannelBuffer,
  1164. PRPC_MESSAGE _pRpcMessage,
  1165. DWORD *_pdwStubPhase);
  1166. /* [hidden][id][propget] */ HRESULT STDMETHODCALLTYPE IMsmDependencies_get__NewEnum_Proxy(
  1167. IMsmDependencies __RPC_FAR * This,
  1168. /* [retval][out] */ IUnknown __RPC_FAR *__RPC_FAR *NewEnum);
  1169. void __RPC_STUB IMsmDependencies_get__NewEnum_Stub(
  1170. IRpcStubBuffer *This,
  1171. IRpcChannelBuffer *_pRpcChannelBuffer,
  1172. PRPC_MESSAGE _pRpcMessage,
  1173. DWORD *_pdwStubPhase);
  1174. #endif /* __IMsmDependencies_INTERFACE_DEFINED__ */
  1175. // the following interfaces are available only on MergeMod v1.5 or later
  1176. #if (_WIN32_MSM >= 150)
  1177. // --------------------------------------------------------------------------
  1178. // IMsmConfigurableItem - object describing the properties of a single
  1179. // configurable item.
  1180. // --------------------------------------------------------------------------
  1181. #ifndef __IMsmConfigurableItem_INTERFACE_DEFINED__
  1182. #define __IMsmConfigurableItem_INTERFACE_DEFINED__
  1183. EXTERN_C const IID IID_IMsmConfigurableItem;
  1184. #if defined(__cplusplus) && !defined(CINTERFACE)
  1185. MIDL_INTERFACE("4D6E6284-D21D-401E-84F6-909E00B50F71")
  1186. IMsmConfigurableItem : public IDispatch
  1187. {
  1188. public:
  1189. virtual /* [helpstring][id][propget] */ HRESULT STDMETHODCALLTYPE get_Name(
  1190. /* [retval][out] */ BSTR __RPC_FAR *Name) = 0;
  1191. virtual /* [helpstring][id][propget] */ HRESULT STDMETHODCALLTYPE get_Format(
  1192. /* [retval][out] */ msmConfigurableItemFormat __RPC_FAR *Format) = 0;
  1193. virtual /* [helpstring][id][propget] */ HRESULT STDMETHODCALLTYPE get_Type(
  1194. /* [retval][out] */ BSTR __RPC_FAR *Type) = 0;
  1195. virtual /* [helpstring][id][propget] */ HRESULT STDMETHODCALLTYPE get_Context(
  1196. /* [retval][out] */ BSTR __RPC_FAR *Context) = 0;
  1197. virtual /* [helpstring][id][propget] */ HRESULT STDMETHODCALLTYPE get_DefaultValue(
  1198. /* [retval][out] */ BSTR __RPC_FAR *DefaultValue) = 0;
  1199. virtual /* [helpstring][id][propget] */ HRESULT STDMETHODCALLTYPE get_Attributes(
  1200. /* [retval][out] */ long __RPC_FAR *Attributes) = 0;
  1201. virtual /* [helpstring][id][propget] */ HRESULT STDMETHODCALLTYPE get_DisplayName(
  1202. /* [retval][out] */ BSTR __RPC_FAR *DisplayName) = 0;
  1203. virtual /* [helpstring][id][propget] */ HRESULT STDMETHODCALLTYPE get_Description(
  1204. /* [retval][out] */ BSTR __RPC_FAR *Description) = 0;
  1205. virtual /* [helpstring][id][propget] */ HRESULT STDMETHODCALLTYPE get_HelpLocation(
  1206. /* [retval][out] */ BSTR __RPC_FAR *HelpLocation) = 0;
  1207. virtual /* [helpstring][id][propget] */ HRESULT STDMETHODCALLTYPE get_HelpKeyword(
  1208. /* [retval][out] */ BSTR __RPC_FAR *HelpKeyword) = 0;
  1209. };
  1210. #else /* C style interface */
  1211. typedef struct IMsmConfigurableItemVtbl
  1212. {
  1213. BEGIN_INTERFACE
  1214. HRESULT ( STDMETHODCALLTYPE __RPC_FAR *QueryInterface )(
  1215. IMsmConfigurableItem __RPC_FAR * This,
  1216. /* [in] */ REFIID riid,
  1217. /* [iid_is][out] */ void __RPC_FAR *__RPC_FAR *ppvObject);
  1218. ULONG ( STDMETHODCALLTYPE __RPC_FAR *AddRef )(
  1219. IMsmConfigurableItem __RPC_FAR * This);
  1220. ULONG ( STDMETHODCALLTYPE __RPC_FAR *Release )(
  1221. IMsmConfigurableItem __RPC_FAR * This);
  1222. HRESULT ( STDMETHODCALLTYPE __RPC_FAR *GetTypeInfoCount )(
  1223. IMsmConfigurableItem __RPC_FAR * This,
  1224. /* [out] */ UINT __RPC_FAR *pctinfo);
  1225. HRESULT ( STDMETHODCALLTYPE __RPC_FAR *GetTypeInfo )(
  1226. IMsmConfigurableItem __RPC_FAR * This,
  1227. /* [in] */ UINT iTInfo,
  1228. /* [in] */ LCID lcid,
  1229. /* [out] */ ITypeInfo __RPC_FAR *__RPC_FAR *ppTInfo);
  1230. HRESULT ( STDMETHODCALLTYPE __RPC_FAR *GetIDsOfNames )(
  1231. IMsmConfigurableItem __RPC_FAR * This,
  1232. /* [in] */ REFIID riid,
  1233. /* [size_is][in] */ LPOLESTR __RPC_FAR *rgszNames,
  1234. /* [in] */ UINT cNames,
  1235. /* [in] */ LCID lcid,
  1236. /* [size_is][out] */ DISPID __RPC_FAR *rgDispId);
  1237. /* [local] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *Invoke )(
  1238. IMsmConfigurableItem __RPC_FAR * This,
  1239. /* [in] */ DISPID dispIdMember,
  1240. /* [in] */ REFIID riid,
  1241. /* [in] */ LCID lcid,
  1242. /* [in] */ WORD wFlags,
  1243. /* [out][in] */ DISPPARAMS __RPC_FAR *pDispParams,
  1244. /* [out] */ VARIANT __RPC_FAR *pVarResult,
  1245. /* [out] */ EXCEPINFO __RPC_FAR *pExcepInfo,
  1246. /* [out] */ UINT __RPC_FAR *puArgErr);
  1247. /* [helpstring][id][propget] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *get_Name )(
  1248. IMsmConfigurableItem __RPC_FAR * This,
  1249. /* [retval][out] */ BSTR __RPC_FAR *Name);
  1250. /* [helpstring][id][propget] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *get_Format )(
  1251. IMsmConfigurableItem __RPC_FAR * This,
  1252. /* [retval][out] */ msmConfigurableItemFormat __RPC_FAR *Format);
  1253. /* [helpstring][id][propget] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *get_Type )(
  1254. IMsmConfigurableItem __RPC_FAR * This,
  1255. /* [retval][out] */ BSTR __RPC_FAR *Type);
  1256. /* [helpstring][id][propget] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *get_Context )(
  1257. IMsmConfigurableItem __RPC_FAR * This,
  1258. /* [retval][out] */ BSTR __RPC_FAR *Context);
  1259. /* [helpstring][id][propget] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *get_DefaultValue )(
  1260. IMsmConfigurableItem __RPC_FAR * This,
  1261. /* [retval][out] */ BSTR __RPC_FAR *DefaultValue);
  1262. /* [helpstring][id][propget] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *get_Attributes )(
  1263. IMsmConfigurableItem __RPC_FAR * This,
  1264. /* [retval][out] */ long __RPC_FAR *Attributes);
  1265. /* [helpstring][id][propget] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *get_DisplayName )(
  1266. IMsmConfigurableItem __RPC_FAR * This,
  1267. /* [retval][out] */ BSTR __RPC_FAR *DisplayName);
  1268. /* [helpstring][id][propget] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *get_Description )(
  1269. IMsmConfigurableItem __RPC_FAR * This,
  1270. /* [retval][out] */ BSTR __RPC_FAR *Description);
  1271. /* [helpstring][id][propget] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *get_HelpLocation )(
  1272. IMsmConfigurableItem __RPC_FAR * This,
  1273. /* [retval][out] */ BSTR __RPC_FAR *HelpLocation);
  1274. /* [helpstring][id][propget] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *get_HelpKeyword )(
  1275. IMsmConfigurableItem __RPC_FAR * This,
  1276. /* [retval][out] */ BSTR __RPC_FAR *HelpKeyword);
  1277. END_INTERFACE
  1278. } IMsmConfigurableItemVtbl;
  1279. interface IMsmConfigurableItem
  1280. {
  1281. CONST_VTBL struct IMsmConfigurableItemVtbl __RPC_FAR *lpVtbl;
  1282. };
  1283. #ifdef COBJMACROS
  1284. #define IMsmConfigurableItem_QueryInterface(This,riid,ppvObject) \
  1285. (This)->lpVtbl -> QueryInterface(This,riid,ppvObject)
  1286. #define IMsmConfigurableItem_AddRef(This) \
  1287. (This)->lpVtbl -> AddRef(This)
  1288. #define IMsmConfigurableItem_Release(This) \
  1289. (This)->lpVtbl -> Release(This)
  1290. #define IMsmConfigurableItem_GetTypeInfoCount(This,pctinfo) \
  1291. (This)->lpVtbl -> GetTypeInfoCount(This,pctinfo)
  1292. #define IMsmConfigurableItem_GetTypeInfo(This,iTInfo,lcid,ppTInfo) \
  1293. (This)->lpVtbl -> GetTypeInfo(This,iTInfo,lcid,ppTInfo)
  1294. #define IMsmConfigurableItem_GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId) \
  1295. (This)->lpVtbl -> GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId)
  1296. #define IMsmConfigurableItem_Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr) \
  1297. (This)->lpVtbl -> Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr)
  1298. #define IMsmConfigurableItem_get_Name(This,Name) \
  1299. (This)->lpVtbl -> get_Name(This,Name)
  1300. #define IMsmConfigurableItem_get_Format(This,Format) \
  1301. (This)->lpVtbl -> get_Format(This,Format)
  1302. #define IMsmConfigurableItem_get_Type(This,Type) \
  1303. (This)->lpVtbl -> get_Type(This,Type)
  1304. #define IMsmConfigurableItem_get_Context(This,Context) \
  1305. (This)->lpVtbl -> get_Context(This,Context)
  1306. #define IMsmConfigurableItem_get_DefaultValue(This,DefaultValue) \
  1307. (This)->lpVtbl -> get_DefaultValue(This,DefaultValue)
  1308. #define IMsmConfigurableItem_get_Attributes(This,Attributes) \
  1309. (This)->lpVtbl -> get_Attributes(This,Attributes)
  1310. #define IMsmConfigurableItem_get_DisplayName(This,DisplayName) \
  1311. (This)->lpVtbl -> get_DisplayName(This,DisplayName)
  1312. #define IMsmConfigurableItem_get_Description(This,Description) \
  1313. (This)->lpVtbl -> get_Description(This,Description)
  1314. #define IMsmConfigurableItem_get_HelpLocation(This,HelpLocation) \
  1315. (This)->lpVtbl -> get_HelpLocation(This,HelpLocation)
  1316. #define IMsmConfigurableItem_get_HelpKeyword(This,HelpKeyword) \
  1317. (This)->lpVtbl -> get_HelpKeyword(This,HelpKeyword)
  1318. #endif /* COBJMACROS */
  1319. #endif /* C style interface */
  1320. /* [helpstring][id][propget] */ HRESULT STDMETHODCALLTYPE IMsmConfigurableItem_get_Name_Proxy(
  1321. IMsmConfigurableItem __RPC_FAR * This,
  1322. /* [retval][out] */ BSTR __RPC_FAR *Name);
  1323. void __RPC_STUB IMsmConfigurableItem_get_Name_Stub(
  1324. IRpcStubBuffer *This,
  1325. IRpcChannelBuffer *_pRpcChannelBuffer,
  1326. PRPC_MESSAGE _pRpcMessage,
  1327. DWORD *_pdwStubPhase);
  1328. /* [helpstring][id][propget] */ HRESULT STDMETHODCALLTYPE IMsmConfigurableItem_get_Format_Proxy(
  1329. IMsmConfigurableItem __RPC_FAR * This,
  1330. /* [retval][out] */ msmConfigurableItemFormat __RPC_FAR *Format);
  1331. void __RPC_STUB IMsmConfigurableItem_get_Format_Stub(
  1332. IRpcStubBuffer *This,
  1333. IRpcChannelBuffer *_pRpcChannelBuffer,
  1334. PRPC_MESSAGE _pRpcMessage,
  1335. DWORD *_pdwStubPhase);
  1336. /* [helpstring][id][propget] */ HRESULT STDMETHODCALLTYPE IMsmConfigurableItem_get_Type_Proxy(
  1337. IMsmConfigurableItem __RPC_FAR * This,
  1338. /* [retval][out] */ BSTR __RPC_FAR *Type);
  1339. void __RPC_STUB IMsmConfigurableItem_get_Type_Stub(
  1340. IRpcStubBuffer *This,
  1341. IRpcChannelBuffer *_pRpcChannelBuffer,
  1342. PRPC_MESSAGE _pRpcMessage,
  1343. DWORD *_pdwStubPhase);
  1344. /* [helpstring][id][propget] */ HRESULT STDMETHODCALLTYPE IMsmConfigurableItem_get_Context_Proxy(
  1345. IMsmConfigurableItem __RPC_FAR * This,
  1346. /* [retval][out] */ BSTR __RPC_FAR *Context);
  1347. void __RPC_STUB IMsmConfigurableItem_get_Context_Stub(
  1348. IRpcStubBuffer *This,
  1349. IRpcChannelBuffer *_pRpcChannelBuffer,
  1350. PRPC_MESSAGE _pRpcMessage,
  1351. DWORD *_pdwStubPhase);
  1352. /* [helpstring][id][propget] */ HRESULT STDMETHODCALLTYPE IMsmConfigurableItem_get_DefaultValue_Proxy(
  1353. IMsmConfigurableItem __RPC_FAR * This,
  1354. /* [retval][out] */ BSTR __RPC_FAR *DefaultValue);
  1355. void __RPC_STUB IMsmConfigurableItem_get_DefaultValue_Stub(
  1356. IRpcStubBuffer *This,
  1357. IRpcChannelBuffer *_pRpcChannelBuffer,
  1358. PRPC_MESSAGE _pRpcMessage,
  1359. DWORD *_pdwStubPhase);
  1360. /* [helpstring][id][propget] */ HRESULT STDMETHODCALLTYPE IMsmConfigurableItem_get_Attributes_Proxy(
  1361. IMsmConfigurableItem __RPC_FAR * This,
  1362. /* [retval][out] */ long __RPC_FAR *Attributes);
  1363. void __RPC_STUB IMsmConfigurableItem_get_Attributes_Stub(
  1364. IRpcStubBuffer *This,
  1365. IRpcChannelBuffer *_pRpcChannelBuffer,
  1366. PRPC_MESSAGE _pRpcMessage,
  1367. DWORD *_pdwStubPhase);
  1368. /* [helpstring][id][propget] */ HRESULT STDMETHODCALLTYPE IMsmConfigurableItem_get_DisplayName_Proxy(
  1369. IMsmConfigurableItem __RPC_FAR * This,
  1370. /* [retval][out] */ BSTR __RPC_FAR *DisplayName);
  1371. void __RPC_STUB IMsmConfigurableItem_get_DisplayName_Stub(
  1372. IRpcStubBuffer *This,
  1373. IRpcChannelBuffer *_pRpcChannelBuffer,
  1374. PRPC_MESSAGE _pRpcMessage,
  1375. DWORD *_pdwStubPhase);
  1376. /* [helpstring][id][propget] */ HRESULT STDMETHODCALLTYPE IMsmConfigurableItem_get_Description_Proxy(
  1377. IMsmConfigurableItem __RPC_FAR * This,
  1378. /* [retval][out] */ BSTR __RPC_FAR *Description);
  1379. void __RPC_STUB IMsmConfigurableItem_get_Description_Stub(
  1380. IRpcStubBuffer *This,
  1381. IRpcChannelBuffer *_pRpcChannelBuffer,
  1382. PRPC_MESSAGE _pRpcMessage,
  1383. DWORD *_pdwStubPhase);
  1384. /* [helpstring][id][propget] */ HRESULT STDMETHODCALLTYPE IMsmConfigurableItem_get_HelpLocation_Proxy(
  1385. IMsmConfigurableItem __RPC_FAR * This,
  1386. /* [retval][out] */ BSTR __RPC_FAR *HelpLocation);
  1387. void __RPC_STUB IMsmConfigurableItem_get_HelpLocation_Stub(
  1388. IRpcStubBuffer *This,
  1389. IRpcChannelBuffer *_pRpcChannelBuffer,
  1390. PRPC_MESSAGE _pRpcMessage,
  1391. DWORD *_pdwStubPhase);
  1392. /* [helpstring][id][propget] */ HRESULT STDMETHODCALLTYPE IMsmConfigurableItem_get_HelpKeyword_Proxy(
  1393. IMsmConfigurableItem __RPC_FAR * This,
  1394. /* [retval][out] */ BSTR __RPC_FAR *HelpKeyword);
  1395. void __RPC_STUB IMsmConfigurableItem_get_HelpKeyword_Stub(
  1396. IRpcStubBuffer *This,
  1397. IRpcChannelBuffer *_pRpcChannelBuffer,
  1398. PRPC_MESSAGE _pRpcMessage,
  1399. DWORD *_pdwStubPhase);
  1400. #endif /* __IMsmConfigurableItem_INTERFACE_DEFINED__ */
  1401. // --------------------------------------------------------------------------
  1402. // IEnumMsmConfigurableItem - enumerator for configurable items
  1403. // --------------------------------------------------------------------------
  1404. #ifndef __IEnumMsmConfigurableItem_INTERFACE_DEFINED__
  1405. #define __IEnumMsmConfigurableItem_INTERFACE_DEFINED__
  1406. EXTERN_C const IID IID_IEnumMsmConfigurableItem;
  1407. #if defined(__cplusplus) && !defined(CINTERFACE)
  1408. interface DECLSPEC_UUID("832C6969-4826-4C24-A397-B7002D8196E6")
  1409. IEnumMsmConfigurableItem : public IUnknown
  1410. {
  1411. public:
  1412. virtual HRESULT STDMETHODCALLTYPE Next(
  1413. /* [in] */ unsigned long cFetch,
  1414. /* [out] */ IMsmConfigurableItem __RPC_FAR *__RPC_FAR *rgmsmItems,
  1415. /* [retval][out] */ unsigned long __RPC_FAR *pcFetched) = 0;
  1416. virtual HRESULT STDMETHODCALLTYPE Skip(
  1417. /* [in] */ unsigned long cSkip) = 0;
  1418. virtual HRESULT STDMETHODCALLTYPE Reset( void) = 0;
  1419. virtual HRESULT STDMETHODCALLTYPE Clone(
  1420. /* [retval][out] */ IEnumMsmConfigurableItem __RPC_FAR *__RPC_FAR *pemsmConfigurableItem) = 0;
  1421. };
  1422. #else /* C style interface */
  1423. typedef struct IEnumMsmConfigurableItemVtbl
  1424. {
  1425. BEGIN_INTERFACE
  1426. HRESULT ( STDMETHODCALLTYPE __RPC_FAR *QueryInterface )(
  1427. IEnumMsmConfigurableItem __RPC_FAR * This,
  1428. /* [in] */ REFIID riid,
  1429. /* [iid_is][out] */ void __RPC_FAR *__RPC_FAR *ppvObject);
  1430. ULONG ( STDMETHODCALLTYPE __RPC_FAR *AddRef )(
  1431. IEnumMsmConfigurableItem __RPC_FAR * This);
  1432. ULONG ( STDMETHODCALLTYPE __RPC_FAR *Release )(
  1433. IEnumMsmConfigurableItem __RPC_FAR * This);
  1434. HRESULT ( STDMETHODCALLTYPE __RPC_FAR *Next )(
  1435. IEnumMsmConfigurableItem __RPC_FAR * This,
  1436. /* [in] */ unsigned long cFetch,
  1437. /* [out] */ IMsmConfigurableItem __RPC_FAR *__RPC_FAR *rgmsmItems,
  1438. /* [retval][out] */ unsigned long __RPC_FAR *pcFetched);
  1439. HRESULT ( STDMETHODCALLTYPE __RPC_FAR *Skip )(
  1440. IEnumMsmConfigurableItem __RPC_FAR * This,
  1441. /* [in] */ unsigned long cSkip);
  1442. HRESULT ( STDMETHODCALLTYPE __RPC_FAR *Reset )(
  1443. IEnumMsmConfigurableItem __RPC_FAR * This);
  1444. HRESULT ( STDMETHODCALLTYPE __RPC_FAR *Clone )(
  1445. IEnumMsmConfigurableItem __RPC_FAR * This,
  1446. /* [retval][out] */ IEnumMsmConfigurableItem __RPC_FAR *__RPC_FAR *pemsmConfigurableItem);
  1447. END_INTERFACE
  1448. } IEnumMsmConfigurableItemVtbl;
  1449. interface IEnumMsmConfigurableItem
  1450. {
  1451. CONST_VTBL struct IEnumMsmConfigurableItemVtbl __RPC_FAR *lpVtbl;
  1452. };
  1453. #ifdef COBJMACROS
  1454. #define IEnumMsmConfigurableItem_QueryInterface(This,riid,ppvObject) \
  1455. (This)->lpVtbl -> QueryInterface(This,riid,ppvObject)
  1456. #define IEnumMsmConfigurableItem_AddRef(This) \
  1457. (This)->lpVtbl -> AddRef(This)
  1458. #define IEnumMsmConfigurableItem_Release(This) \
  1459. (This)->lpVtbl -> Release(This)
  1460. #define IEnumMsmConfigurableItem_Next(This,cFetch,rgmsmItems,pcFetched) \
  1461. (This)->lpVtbl -> Next(This,cFetch,rgmsmItems,pcFetched)
  1462. #define IEnumMsmConfigurableItem_Skip(This,cSkip) \
  1463. (This)->lpVtbl -> Skip(This,cSkip)
  1464. #define IEnumMsmConfigurableItem_Reset(This) \
  1465. (This)->lpVtbl -> Reset(This)
  1466. #define IEnumMsmConfigurableItem_Clone(This,pemsmConfigurableItem) \
  1467. (This)->lpVtbl -> Clone(This,pemsmConfigurableItem)
  1468. #endif /* COBJMACROS */
  1469. #endif /* C style interface */
  1470. HRESULT STDMETHODCALLTYPE IEnumMsmConfigurableItem_Next_Proxy(
  1471. IEnumMsmConfigurableItem __RPC_FAR * This,
  1472. /* [in] */ unsigned long cFetch,
  1473. /* [out] */ IMsmConfigurableItem __RPC_FAR *__RPC_FAR *rgmsmItems,
  1474. /* [retval][out] */ unsigned long __RPC_FAR *pcFetched);
  1475. void __RPC_STUB IEnumMsmConfigurableItem_Next_Stub(
  1476. IRpcStubBuffer *This,
  1477. IRpcChannelBuffer *_pRpcChannelBuffer,
  1478. PRPC_MESSAGE _pRpcMessage,
  1479. DWORD *_pdwStubPhase);
  1480. HRESULT STDMETHODCALLTYPE IEnumMsmConfigurableItem_Skip_Proxy(
  1481. IEnumMsmConfigurableItem __RPC_FAR * This,
  1482. /* [in] */ unsigned long cSkip);
  1483. void __RPC_STUB IEnumMsmConfigurableItem_Skip_Stub(
  1484. IRpcStubBuffer *This,
  1485. IRpcChannelBuffer *_pRpcChannelBuffer,
  1486. PRPC_MESSAGE _pRpcMessage,
  1487. DWORD *_pdwStubPhase);
  1488. HRESULT STDMETHODCALLTYPE IEnumMsmConfigurableItem_Reset_Proxy(
  1489. IEnumMsmConfigurableItem __RPC_FAR * This);
  1490. void __RPC_STUB IEnumMsmConfigurableItem_Reset_Stub(
  1491. IRpcStubBuffer *This,
  1492. IRpcChannelBuffer *_pRpcChannelBuffer,
  1493. PRPC_MESSAGE _pRpcMessage,
  1494. DWORD *_pdwStubPhase);
  1495. HRESULT STDMETHODCALLTYPE IEnumMsmConfigurableItem_Clone_Proxy(
  1496. IEnumMsmConfigurableItem __RPC_FAR * This,
  1497. /* [retval][out] */ IEnumMsmConfigurableItem __RPC_FAR *__RPC_FAR *pemsmConfigurableItem);
  1498. void __RPC_STUB IEnumMsmConfigurableItem_Clone_Stub(
  1499. IRpcStubBuffer *This,
  1500. IRpcChannelBuffer *_pRpcChannelBuffer,
  1501. PRPC_MESSAGE _pRpcMessage,
  1502. DWORD *_pdwStubPhase);
  1503. #endif /* __IEnumMsmConfigurableItem_INTERFACE_DEFINED__ */
  1504. // --------------------------------------------------------------------------
  1505. // IMsmConfigurableItems - collection of configurable items
  1506. // --------------------------------------------------------------------------
  1507. #ifndef __IMsmConfigurableItems_INTERFACE_DEFINED__
  1508. #define __IMsmConfigurableItems_INTERFACE_DEFINED__
  1509. EXTERN_C const IID IID_IMsmConfigurableItems;
  1510. #if defined(__cplusplus) && !defined(CINTERFACE)
  1511. MIDL_INTERFACE("55BF723C-9A0D-463E-B42B-B4FBC7BE3C7C")
  1512. IMsmConfigurableItems : public IDispatch
  1513. {
  1514. public:
  1515. virtual /* [helpstring][id][propget] */ HRESULT STDMETHODCALLTYPE get_Item(
  1516. /* [in] */ long Item,
  1517. /* [retval][out] */ IMsmConfigurableItem __RPC_FAR *__RPC_FAR *Return) = 0;
  1518. virtual /* [helpstring][id][propget] */ HRESULT STDMETHODCALLTYPE get_Count(
  1519. /* [retval][out] */ long __RPC_FAR *Count) = 0;
  1520. virtual /* [hidden][id][propget] */ HRESULT STDMETHODCALLTYPE get__NewEnum(
  1521. /* [retval][out] */ IUnknown __RPC_FAR *__RPC_FAR *NewEnum) = 0;
  1522. };
  1523. #else /* C style interface */
  1524. typedef struct IMsmConfigurableItemsVtbl
  1525. {
  1526. BEGIN_INTERFACE
  1527. HRESULT ( STDMETHODCALLTYPE __RPC_FAR *QueryInterface )(
  1528. IMsmConfigurableItems __RPC_FAR * This,
  1529. /* [in] */ REFIID riid,
  1530. /* [iid_is][out] */ void __RPC_FAR *__RPC_FAR *ppvObject);
  1531. ULONG ( STDMETHODCALLTYPE __RPC_FAR *AddRef )(
  1532. IMsmConfigurableItems __RPC_FAR * This);
  1533. ULONG ( STDMETHODCALLTYPE __RPC_FAR *Release )(
  1534. IMsmConfigurableItems __RPC_FAR * This);
  1535. HRESULT ( STDMETHODCALLTYPE __RPC_FAR *GetTypeInfoCount )(
  1536. IMsmConfigurableItems __RPC_FAR * This,
  1537. /* [out] */ UINT __RPC_FAR *pctinfo);
  1538. HRESULT ( STDMETHODCALLTYPE __RPC_FAR *GetTypeInfo )(
  1539. IMsmConfigurableItems __RPC_FAR * This,
  1540. /* [in] */ UINT iTInfo,
  1541. /* [in] */ LCID lcid,
  1542. /* [out] */ ITypeInfo __RPC_FAR *__RPC_FAR *ppTInfo);
  1543. HRESULT ( STDMETHODCALLTYPE __RPC_FAR *GetIDsOfNames )(
  1544. IMsmConfigurableItems __RPC_FAR * This,
  1545. /* [in] */ REFIID riid,
  1546. /* [size_is][in] */ LPOLESTR __RPC_FAR *rgszNames,
  1547. /* [in] */ UINT cNames,
  1548. /* [in] */ LCID lcid,
  1549. /* [size_is][out] */ DISPID __RPC_FAR *rgDispId);
  1550. /* [local] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *Invoke )(
  1551. IMsmConfigurableItems __RPC_FAR * This,
  1552. /* [in] */ DISPID dispIdMember,
  1553. /* [in] */ REFIID riid,
  1554. /* [in] */ LCID lcid,
  1555. /* [in] */ WORD wFlags,
  1556. /* [out][in] */ DISPPARAMS __RPC_FAR *pDispParams,
  1557. /* [out] */ VARIANT __RPC_FAR *pVarResult,
  1558. /* [out] */ EXCEPINFO __RPC_FAR *pExcepInfo,
  1559. /* [out] */ UINT __RPC_FAR *puArgErr);
  1560. /* [helpstring][id][propget] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *get_Item )(
  1561. IMsmConfigurableItems __RPC_FAR * This,
  1562. /* [in] */ long Item,
  1563. /* [retval][out] */ IMsmConfigurableItem __RPC_FAR *__RPC_FAR *Return);
  1564. /* [helpstring][id][propget] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *get_Count )(
  1565. IMsmConfigurableItems __RPC_FAR * This,
  1566. /* [retval][out] */ long __RPC_FAR *Count);
  1567. /* [hidden][id][propget] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *get__NewEnum )(
  1568. IMsmConfigurableItems __RPC_FAR * This,
  1569. /* [retval][out] */ IUnknown __RPC_FAR *__RPC_FAR *NewEnum);
  1570. END_INTERFACE
  1571. } IMsmConfigurableItemsVtbl;
  1572. interface IMsmConfigurableItems
  1573. {
  1574. CONST_VTBL struct IMsmConfigurableItemsVtbl __RPC_FAR *lpVtbl;
  1575. };
  1576. #ifdef COBJMACROS
  1577. #define IMsmConfigurableItems_QueryInterface(This,riid,ppvObject) \
  1578. (This)->lpVtbl -> QueryInterface(This,riid,ppvObject)
  1579. #define IMsmConfigurableItems_AddRef(This) \
  1580. (This)->lpVtbl -> AddRef(This)
  1581. #define IMsmConfigurableItems_Release(This) \
  1582. (This)->lpVtbl -> Release(This)
  1583. #define IMsmConfigurableItems_GetTypeInfoCount(This,pctinfo) \
  1584. (This)->lpVtbl -> GetTypeInfoCount(This,pctinfo)
  1585. #define IMsmConfigurableItems_GetTypeInfo(This,iTInfo,lcid,ppTInfo) \
  1586. (This)->lpVtbl -> GetTypeInfo(This,iTInfo,lcid,ppTInfo)
  1587. #define IMsmConfigurableItems_GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId) \
  1588. (This)->lpVtbl -> GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId)
  1589. #define IMsmConfigurableItems_Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr) \
  1590. (This)->lpVtbl -> Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr)
  1591. #define IMsmConfigurableItems_get_Item(This,Item,Return) \
  1592. (This)->lpVtbl -> get_Item(This,Item,Return)
  1593. #define IMsmConfigurableItems_get_Count(This,Count) \
  1594. (This)->lpVtbl -> get_Count(This,Count)
  1595. #define IMsmConfigurableItems_get__NewEnum(This,NewEnum) \
  1596. (This)->lpVtbl -> get__NewEnum(This,NewEnum)
  1597. #endif /* COBJMACROS */
  1598. #endif /* C style interface */
  1599. /* [helpstring][id][propget] */ HRESULT STDMETHODCALLTYPE IMsmConfigurableItems_get_Item_Proxy(
  1600. IMsmConfigurableItems __RPC_FAR * This,
  1601. /* [in] */ long Item,
  1602. /* [retval][out] */ IMsmConfigurableItem __RPC_FAR *__RPC_FAR *Return);
  1603. void __RPC_STUB IMsmConfigurableItems_get_Item_Stub(
  1604. IRpcStubBuffer *This,
  1605. IRpcChannelBuffer *_pRpcChannelBuffer,
  1606. PRPC_MESSAGE _pRpcMessage,
  1607. DWORD *_pdwStubPhase);
  1608. /* [helpstring][id][propget] */ HRESULT STDMETHODCALLTYPE IMsmConfigurableItems_get_Count_Proxy(
  1609. IMsmConfigurableItems __RPC_FAR * This,
  1610. /* [retval][out] */ long __RPC_FAR *Count);
  1611. void __RPC_STUB IMsmConfigurableItems_get_Count_Stub(
  1612. IRpcStubBuffer *This,
  1613. IRpcChannelBuffer *_pRpcChannelBuffer,
  1614. PRPC_MESSAGE _pRpcMessage,
  1615. DWORD *_pdwStubPhase);
  1616. /* [hidden][id][propget] */ HRESULT STDMETHODCALLTYPE IMsmConfigurableItems_get__NewEnum_Proxy(
  1617. IMsmConfigurableItems __RPC_FAR * This,
  1618. /* [retval][out] */ IUnknown __RPC_FAR *__RPC_FAR *NewEnum);
  1619. void __RPC_STUB IMsmConfigurableItems_get__NewEnum_Stub(
  1620. IRpcStubBuffer *This,
  1621. IRpcChannelBuffer *_pRpcChannelBuffer,
  1622. PRPC_MESSAGE _pRpcMessage,
  1623. DWORD *_pdwStubPhase);
  1624. #endif /* __IMsmConfigurableItems_INTERFACE_DEFINED__ */
  1625. // --------------------------------------------------------------------------
  1626. // IMsmConfigureModule - callback interface called by the MergeMod object.
  1627. // Allows the client to provide merge configuration information during the
  1628. // merge process.
  1629. // --------------------------------------------------------------------------
  1630. #ifndef __IMsmConfigureModule_INTERFACE_DEFINED__
  1631. #define __IMsmConfigureModule_INTERFACE_DEFINED__
  1632. EXTERN_C const IID IID_IMsmConfigureModule;
  1633. #if defined(__cplusplus) && !defined(CINTERFACE)
  1634. MIDL_INTERFACE("AC013209-18A7-4851-8A21-2353443D70A0")
  1635. IMsmConfigureModule : public IDispatch
  1636. {
  1637. public:
  1638. virtual /* [helpstring][id] */ HRESULT STDMETHODCALLTYPE ProvideTextData(
  1639. /* [in] */ const BSTR Name,
  1640. /* [retval][out] */ BSTR __RPC_FAR *ConfigData) = 0;
  1641. virtual /* [helpstring][id] */ HRESULT STDMETHODCALLTYPE ProvideIntegerData(
  1642. /* [in] */ const BSTR Name,
  1643. /* [retval][out] */ long __RPC_FAR *ConfigData) = 0;
  1644. };
  1645. #else /* C style interface */
  1646. typedef struct IMsmConfigureModuleVtbl
  1647. {
  1648. BEGIN_INTERFACE
  1649. HRESULT ( STDMETHODCALLTYPE __RPC_FAR *QueryInterface )(
  1650. IMsmConfigureModule __RPC_FAR * This,
  1651. /* [in] */ REFIID riid,
  1652. /* [iid_is][out] */ void __RPC_FAR *__RPC_FAR *ppvObject);
  1653. ULONG ( STDMETHODCALLTYPE __RPC_FAR *AddRef )(
  1654. IMsmConfigureModule __RPC_FAR * This);
  1655. ULONG ( STDMETHODCALLTYPE __RPC_FAR *Release )(
  1656. IMsmConfigureModule __RPC_FAR * This);
  1657. HRESULT ( STDMETHODCALLTYPE __RPC_FAR *GetTypeInfoCount )(
  1658. IMsmConfigureModule __RPC_FAR * This,
  1659. /* [out] */ UINT __RPC_FAR *pctinfo);
  1660. HRESULT ( STDMETHODCALLTYPE __RPC_FAR *GetTypeInfo )(
  1661. IMsmConfigureModule __RPC_FAR * This,
  1662. /* [in] */ UINT iTInfo,
  1663. /* [in] */ LCID lcid,
  1664. /* [out] */ ITypeInfo __RPC_FAR *__RPC_FAR *ppTInfo);
  1665. HRESULT ( STDMETHODCALLTYPE __RPC_FAR *GetIDsOfNames )(
  1666. IMsmConfigureModule __RPC_FAR * This,
  1667. /* [in] */ REFIID riid,
  1668. /* [size_is][in] */ LPOLESTR __RPC_FAR *rgszNames,
  1669. /* [in] */ UINT cNames,
  1670. /* [in] */ LCID lcid,
  1671. /* [size_is][out] */ DISPID __RPC_FAR *rgDispId);
  1672. /* [local] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *Invoke )(
  1673. IMsmConfigureModule __RPC_FAR * This,
  1674. /* [in] */ DISPID dispIdMember,
  1675. /* [in] */ REFIID riid,
  1676. /* [in] */ LCID lcid,
  1677. /* [in] */ WORD wFlags,
  1678. /* [out][in] */ DISPPARAMS __RPC_FAR *pDispParams,
  1679. /* [out] */ VARIANT __RPC_FAR *pVarResult,
  1680. /* [out] */ EXCEPINFO __RPC_FAR *pExcepInfo,
  1681. /* [out] */ UINT __RPC_FAR *puArgErr);
  1682. /* [helpstring][id] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *ProvideTextData )(
  1683. IMsmConfigureModule __RPC_FAR * This,
  1684. /* [in] */ const BSTR Name,
  1685. /* [retval][out] */ BSTR __RPC_FAR *ConfigData);
  1686. /* [helpstring][id] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *ProvideIntegerData )(
  1687. IMsmConfigureModule __RPC_FAR * This,
  1688. /* [in] */ const BSTR Name,
  1689. /* [retval][out] */ long __RPC_FAR *ConfigData);
  1690. END_INTERFACE
  1691. } IMsmConfigureModuleVtbl;
  1692. interface IMsmConfigureModule
  1693. {
  1694. CONST_VTBL struct IMsmConfigureModuleVtbl __RPC_FAR *lpVtbl;
  1695. };
  1696. #ifdef COBJMACROS
  1697. #define IMsmConfigureModule_QueryInterface(This,riid,ppvObject) \
  1698. (This)->lpVtbl -> QueryInterface(This,riid,ppvObject)
  1699. #define IMsmConfigureModule_AddRef(This) \
  1700. (This)->lpVtbl -> AddRef(This)
  1701. #define IMsmConfigureModule_Release(This) \
  1702. (This)->lpVtbl -> Release(This)
  1703. #define IMsmConfigureModule_GetTypeInfoCount(This,pctinfo) \
  1704. (This)->lpVtbl -> GetTypeInfoCount(This,pctinfo)
  1705. #define IMsmConfigureModule_GetTypeInfo(This,iTInfo,lcid,ppTInfo) \
  1706. (This)->lpVtbl -> GetTypeInfo(This,iTInfo,lcid,ppTInfo)
  1707. #define IMsmConfigureModule_GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId) \
  1708. (This)->lpVtbl -> GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId)
  1709. #define IMsmConfigureModule_Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr) \
  1710. (This)->lpVtbl -> Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr)
  1711. #define IMsmConfigureModule_ProvideTextData(This,Name,ConfigData) \
  1712. (This)->lpVtbl -> ProvideTextData(This,Name,ConfigData)
  1713. #define IMsmConfigureModule_ProvideIntegerData(This,Name,ConfigData) \
  1714. (This)->lpVtbl -> ProvideIntegerData(This,Name,ConfigData)
  1715. #endif /* COBJMACROS */
  1716. #endif /* C style interface */
  1717. /* [helpstring][id] */ HRESULT STDMETHODCALLTYPE IMsmConfigureModule_ProvideTextData_Proxy(
  1718. IMsmConfigureModule __RPC_FAR * This,
  1719. /* [in] */ const BSTR Name,
  1720. /* [retval][out] */ BSTR __RPC_FAR *ConfigData);
  1721. void __RPC_STUB IMsmConfigureModule_ProvideTextData_Stub(
  1722. IRpcStubBuffer *This,
  1723. IRpcChannelBuffer *_pRpcChannelBuffer,
  1724. PRPC_MESSAGE _pRpcMessage,
  1725. DWORD *_pdwStubPhase);
  1726. /* [helpstring][id] */ HRESULT STDMETHODCALLTYPE IMsmConfigureModule_ProvideIntegerData_Proxy(
  1727. IMsmConfigureModule __RPC_FAR * This,
  1728. /* [in] */ const BSTR Name,
  1729. /* [retval][out] */ long __RPC_FAR *ConfigData);
  1730. void __RPC_STUB IMsmConfigureModule_ProvideIntegerData_Stub(
  1731. IRpcStubBuffer *This,
  1732. IRpcChannelBuffer *_pRpcChannelBuffer,
  1733. PRPC_MESSAGE _pRpcMessage,
  1734. DWORD *_pdwStubPhase);
  1735. #endif /* __IMsmConfigureModule_INTERFACE_DEFINED__ */
  1736. #endif // _MSM_WIN32 >= 150
  1737. // --------------------------------------------------------------------------
  1738. // IMsmMerge - primary interface to the MergeMod object. Allows the client
  1739. // to open and close databases, perform merges, retrieve the results
  1740. // of a merge, control the creation of a debug-level log, and extract the
  1741. // files from a module to disk.
  1742. // --------------------------------------------------------------------------
  1743. #ifndef __IMsmMerge_INTERFACE_DEFINED__
  1744. #define __IMsmMerge_INTERFACE_DEFINED__
  1745. EXTERN_C const IID IID_IMsmMerge;
  1746. #if defined(__cplusplus) && !defined(CINTERFACE)
  1747. interface DECLSPEC_UUID("0ADDA82E-2C26-11D2-AD65-00A0C9AF11A6")
  1748. IMsmMerge : public IDispatch
  1749. {
  1750. public:
  1751. virtual /* [helpstring][id] */ HRESULT STDMETHODCALLTYPE OpenDatabase(
  1752. /* [in] */ const BSTR Path) = 0;
  1753. virtual /* [helpstring][id] */ HRESULT STDMETHODCALLTYPE OpenModule(
  1754. /* [in] */ const BSTR Path,
  1755. /* [in] */ const short Language) = 0;
  1756. virtual /* [helpstring][id] */ HRESULT STDMETHODCALLTYPE CloseDatabase(
  1757. /* [in] */ const VARIANT_BOOL Commit) = 0;
  1758. virtual /* [helpstring][id] */ HRESULT STDMETHODCALLTYPE CloseModule( void) = 0;
  1759. virtual /* [helpstring][id] */ HRESULT STDMETHODCALLTYPE OpenLog(
  1760. /* [in] */ const BSTR Path) = 0;
  1761. virtual /* [helpstring][id] */ HRESULT STDMETHODCALLTYPE CloseLog( void) = 0;
  1762. virtual /* [helpstring][id] */ HRESULT STDMETHODCALLTYPE Log(
  1763. /* [in] */ const BSTR Message) = 0;
  1764. virtual /* [helpstring][id][propget] */ HRESULT STDMETHODCALLTYPE get_Errors(
  1765. /* [retval][out] */ IMsmErrors __RPC_FAR *__RPC_FAR *Errors) = 0;
  1766. virtual /* [helpstring][id][propget] */ HRESULT STDMETHODCALLTYPE get_Dependencies(
  1767. /* [retval][out] */ IMsmDependencies __RPC_FAR *__RPC_FAR *Dependencies) = 0;
  1768. virtual /* [helpstring][id] */ HRESULT STDMETHODCALLTYPE Merge(
  1769. /* [in] */ const BSTR Feature,
  1770. /* [in] */ const BSTR RedirectDir) = 0;
  1771. virtual /* [helpstring][id] */ HRESULT STDMETHODCALLTYPE Connect(
  1772. /* [in] */ const BSTR Feature) = 0;
  1773. virtual /* [helpstring][id] */ HRESULT STDMETHODCALLTYPE ExtractCAB(
  1774. /* [in] */ const BSTR FileName) = 0;
  1775. virtual /* [helpstring][id] */ HRESULT STDMETHODCALLTYPE ExtractFiles(
  1776. /* [in] */ const BSTR Path) = 0;
  1777. };
  1778. #else /* C style interface */
  1779. typedef struct IMsmMergeVtbl
  1780. {
  1781. BEGIN_INTERFACE
  1782. HRESULT ( STDMETHODCALLTYPE __RPC_FAR *QueryInterface )(
  1783. IMsmMerge __RPC_FAR * This,
  1784. /* [in] */ REFIID riid,
  1785. /* [iid_is][out] */ void __RPC_FAR *__RPC_FAR *ppvObject);
  1786. ULONG ( STDMETHODCALLTYPE __RPC_FAR *AddRef )(
  1787. IMsmMerge __RPC_FAR * This);
  1788. ULONG ( STDMETHODCALLTYPE __RPC_FAR *Release )(
  1789. IMsmMerge __RPC_FAR * This);
  1790. HRESULT ( STDMETHODCALLTYPE __RPC_FAR *GetTypeInfoCount )(
  1791. IMsmMerge __RPC_FAR * This,
  1792. /* [out] */ UINT __RPC_FAR *pctinfo);
  1793. HRESULT ( STDMETHODCALLTYPE __RPC_FAR *GetTypeInfo )(
  1794. IMsmMerge __RPC_FAR * This,
  1795. /* [in] */ UINT iTInfo,
  1796. /* [in] */ LCID lcid,
  1797. /* [out] */ ITypeInfo __RPC_FAR *__RPC_FAR *ppTInfo);
  1798. HRESULT ( STDMETHODCALLTYPE __RPC_FAR *GetIDsOfNames )(
  1799. IMsmMerge __RPC_FAR * This,
  1800. /* [in] */ REFIID riid,
  1801. /* [size_is][in] */ LPOLESTR __RPC_FAR *rgszNames,
  1802. /* [in] */ UINT cNames,
  1803. /* [in] */ LCID lcid,
  1804. /* [size_is][out] */ DISPID __RPC_FAR *rgDispId);
  1805. /* [local] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *Invoke )(
  1806. IMsmMerge __RPC_FAR * This,
  1807. /* [in] */ DISPID dispIdMember,
  1808. /* [in] */ REFIID riid,
  1809. /* [in] */ LCID lcid,
  1810. /* [in] */ WORD wFlags,
  1811. /* [out][in] */ DISPPARAMS __RPC_FAR *pDispParams,
  1812. /* [out] */ VARIANT __RPC_FAR *pVarResult,
  1813. /* [out] */ EXCEPINFO __RPC_FAR *pExcepInfo,
  1814. /* [out] */ UINT __RPC_FAR *puArgErr);
  1815. /* [helpstring][id] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *OpenDatabase )(
  1816. IMsmMerge __RPC_FAR * This,
  1817. /* [in] */ const BSTR Path);
  1818. /* [helpstring][id] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *OpenModule )(
  1819. IMsmMerge __RPC_FAR * This,
  1820. /* [in] */ const BSTR Path,
  1821. /* [in] */ const short Language);
  1822. /* [helpstring][id] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *CloseDatabase )(
  1823. IMsmMerge __RPC_FAR * This,
  1824. /* [in] */ const VARIANT_BOOL Commit);
  1825. /* [helpstring][id] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *CloseModule )(
  1826. IMsmMerge __RPC_FAR * This);
  1827. /* [helpstring][id] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *OpenLog )(
  1828. IMsmMerge __RPC_FAR * This,
  1829. /* [in] */ const BSTR Path);
  1830. /* [helpstring][id] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *CloseLog )(
  1831. IMsmMerge __RPC_FAR * This);
  1832. /* [helpstring][id] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *Log )(
  1833. IMsmMerge __RPC_FAR * This,
  1834. /* [in] */ const BSTR Message);
  1835. /* [helpstring][id][propget] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *get_Errors )(
  1836. IMsmMerge __RPC_FAR * This,
  1837. /* [retval][out] */ IMsmErrors __RPC_FAR *__RPC_FAR *Errors);
  1838. /* [helpstring][id][propget] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *get_Dependencies )(
  1839. IMsmMerge __RPC_FAR * This,
  1840. /* [retval][out] */ IMsmDependencies __RPC_FAR *__RPC_FAR *Dependencies);
  1841. /* [helpstring][id] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *Merge )(
  1842. IMsmMerge __RPC_FAR * This,
  1843. /* [in] */ const BSTR Feature,
  1844. /* [in] */ const BSTR RedirectDir);
  1845. /* [helpstring][id] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *Connect )(
  1846. IMsmMerge __RPC_FAR * This,
  1847. /* [in] */ const BSTR Feature);
  1848. /* [helpstring][id] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *ExtractCAB )(
  1849. IMsmMerge __RPC_FAR * This,
  1850. /* [in] */ const BSTR FileName);
  1851. /* [helpstring][id] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *ExtractFiles )(
  1852. IMsmMerge __RPC_FAR * This,
  1853. /* [in] */ const BSTR Path);
  1854. END_INTERFACE
  1855. } IMsmMergeVtbl;
  1856. interface IMsmMerge
  1857. {
  1858. CONST_VTBL struct IMsmMergeVtbl __RPC_FAR *lpVtbl;
  1859. };
  1860. #ifdef COBJMACROS
  1861. #define IMsmMerge_QueryInterface(This,riid,ppvObject) \
  1862. (This)->lpVtbl -> QueryInterface(This,riid,ppvObject)
  1863. #define IMsmMerge_AddRef(This) \
  1864. (This)->lpVtbl -> AddRef(This)
  1865. #define IMsmMerge_Release(This) \
  1866. (This)->lpVtbl -> Release(This)
  1867. #define IMsmMerge_GetTypeInfoCount(This,pctinfo) \
  1868. (This)->lpVtbl -> GetTypeInfoCount(This,pctinfo)
  1869. #define IMsmMerge_GetTypeInfo(This,iTInfo,lcid,ppTInfo) \
  1870. (This)->lpVtbl -> GetTypeInfo(This,iTInfo,lcid,ppTInfo)
  1871. #define IMsmMerge_GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId) \
  1872. (This)->lpVtbl -> GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId)
  1873. #define IMsmMerge_Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr) \
  1874. (This)->lpVtbl -> Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr)
  1875. #define IMsmMerge_OpenDatabase(This,Path) \
  1876. (This)->lpVtbl -> OpenDatabase(This,Path)
  1877. #define IMsmMerge_OpenModule(This,Path,Language) \
  1878. (This)->lpVtbl -> OpenModule(This,Path,Language)
  1879. #define IMsmMerge_CloseDatabase(This,Commit) \
  1880. (This)->lpVtbl -> CloseDatabase(This,Commit)
  1881. #define IMsmMerge_CloseModule(This) \
  1882. (This)->lpVtbl -> CloseModule(This)
  1883. #define IMsmMerge_OpenLog(This,Path) \
  1884. (This)->lpVtbl -> OpenLog(This,Path)
  1885. #define IMsmMerge_CloseLog(This) \
  1886. (This)->lpVtbl -> CloseLog(This)
  1887. #define IMsmMerge_Log(This,Message) \
  1888. (This)->lpVtbl -> Log(This,Message)
  1889. #define IMsmMerge_get_Errors(This,Errors) \
  1890. (This)->lpVtbl -> get_Errors(This,Errors)
  1891. #define IMsmMerge_get_Dependencies(This,Dependencies) \
  1892. (This)->lpVtbl -> get_Dependencies(This,Dependencies)
  1893. #define IMsmMerge_Merge(This,Feature,RedirectDir) \
  1894. (This)->lpVtbl -> Merge(This,Feature,RedirectDir)
  1895. #define IMsmMerge_Connect(This,Feature) \
  1896. (This)->lpVtbl -> Connect(This,Feature)
  1897. #define IMsmMerge_ExtractCAB(This,FileName) \
  1898. (This)->lpVtbl -> ExtractCAB(This,FileName)
  1899. #define IMsmMerge_ExtractFiles(This,Path) \
  1900. (This)->lpVtbl -> ExtractFiles(This,Path)
  1901. #endif /* COBJMACROS */
  1902. #endif /* C style interface */
  1903. /* [helpstring][id] */ HRESULT STDMETHODCALLTYPE IMsmMerge_OpenDatabase_Proxy(
  1904. IMsmMerge __RPC_FAR * This,
  1905. /* [in] */ const BSTR Path);
  1906. void __RPC_STUB IMsmMerge_OpenDatabase_Stub(
  1907. IRpcStubBuffer *This,
  1908. IRpcChannelBuffer *_pRpcChannelBuffer,
  1909. PRPC_MESSAGE _pRpcMessage,
  1910. DWORD *_pdwStubPhase);
  1911. /* [helpstring][id] */ HRESULT STDMETHODCALLTYPE IMsmMerge_OpenModule_Proxy(
  1912. IMsmMerge __RPC_FAR * This,
  1913. /* [in] */ const BSTR Path,
  1914. /* [in] */ const short Language);
  1915. void __RPC_STUB IMsmMerge_OpenModule_Stub(
  1916. IRpcStubBuffer *This,
  1917. IRpcChannelBuffer *_pRpcChannelBuffer,
  1918. PRPC_MESSAGE _pRpcMessage,
  1919. DWORD *_pdwStubPhase);
  1920. /* [helpstring][id] */ HRESULT STDMETHODCALLTYPE IMsmMerge_CloseDatabase_Proxy(
  1921. IMsmMerge __RPC_FAR * This,
  1922. /* [in] */ const VARIANT_BOOL Commit);
  1923. void __RPC_STUB IMsmMerge_CloseDatabase_Stub(
  1924. IRpcStubBuffer *This,
  1925. IRpcChannelBuffer *_pRpcChannelBuffer,
  1926. PRPC_MESSAGE _pRpcMessage,
  1927. DWORD *_pdwStubPhase);
  1928. /* [helpstring][id] */ HRESULT STDMETHODCALLTYPE IMsmMerge_CloseModule_Proxy(
  1929. IMsmMerge __RPC_FAR * This);
  1930. void __RPC_STUB IMsmMerge_CloseModule_Stub(
  1931. IRpcStubBuffer *This,
  1932. IRpcChannelBuffer *_pRpcChannelBuffer,
  1933. PRPC_MESSAGE _pRpcMessage,
  1934. DWORD *_pdwStubPhase);
  1935. /* [helpstring][id] */ HRESULT STDMETHODCALLTYPE IMsmMerge_OpenLog_Proxy(
  1936. IMsmMerge __RPC_FAR * This,
  1937. /* [in] */ const BSTR Path);
  1938. void __RPC_STUB IMsmMerge_OpenLog_Stub(
  1939. IRpcStubBuffer *This,
  1940. IRpcChannelBuffer *_pRpcChannelBuffer,
  1941. PRPC_MESSAGE _pRpcMessage,
  1942. DWORD *_pdwStubPhase);
  1943. /* [helpstring][id] */ HRESULT STDMETHODCALLTYPE IMsmMerge_CloseLog_Proxy(
  1944. IMsmMerge __RPC_FAR * This);
  1945. void __RPC_STUB IMsmMerge_CloseLog_Stub(
  1946. IRpcStubBuffer *This,
  1947. IRpcChannelBuffer *_pRpcChannelBuffer,
  1948. PRPC_MESSAGE _pRpcMessage,
  1949. DWORD *_pdwStubPhase);
  1950. /* [helpstring][id] */ HRESULT STDMETHODCALLTYPE IMsmMerge_Log_Proxy(
  1951. IMsmMerge __RPC_FAR * This,
  1952. /* [in] */ const BSTR Message);
  1953. void __RPC_STUB IMsmMerge_Log_Stub(
  1954. IRpcStubBuffer *This,
  1955. IRpcChannelBuffer *_pRpcChannelBuffer,
  1956. PRPC_MESSAGE _pRpcMessage,
  1957. DWORD *_pdwStubPhase);
  1958. /* [helpstring][id][propget] */ HRESULT STDMETHODCALLTYPE IMsmMerge_get_Errors_Proxy(
  1959. IMsmMerge __RPC_FAR * This,
  1960. /* [retval][out] */ IMsmErrors __RPC_FAR *__RPC_FAR *Errors);
  1961. void __RPC_STUB IMsmMerge_get_Errors_Stub(
  1962. IRpcStubBuffer *This,
  1963. IRpcChannelBuffer *_pRpcChannelBuffer,
  1964. PRPC_MESSAGE _pRpcMessage,
  1965. DWORD *_pdwStubPhase);
  1966. /* [helpstring][id][propget] */ HRESULT STDMETHODCALLTYPE IMsmMerge_get_Dependencies_Proxy(
  1967. IMsmMerge __RPC_FAR * This,
  1968. /* [retval][out] */ IMsmDependencies __RPC_FAR *__RPC_FAR *Dependencies);
  1969. void __RPC_STUB IMsmMerge_get_Dependencies_Stub(
  1970. IRpcStubBuffer *This,
  1971. IRpcChannelBuffer *_pRpcChannelBuffer,
  1972. PRPC_MESSAGE _pRpcMessage,
  1973. DWORD *_pdwStubPhase);
  1974. /* [helpstring][id] */ HRESULT STDMETHODCALLTYPE IMsmMerge_Merge_Proxy(
  1975. IMsmMerge __RPC_FAR * This,
  1976. /* [in] */ const BSTR Feature,
  1977. /* [in] */ const BSTR RedirectDir);
  1978. void __RPC_STUB IMsmMerge_Merge_Stub(
  1979. IRpcStubBuffer *This,
  1980. IRpcChannelBuffer *_pRpcChannelBuffer,
  1981. PRPC_MESSAGE _pRpcMessage,
  1982. DWORD *_pdwStubPhase);
  1983. /* [helpstring][id] */ HRESULT STDMETHODCALLTYPE IMsmMerge_Connect_Proxy(
  1984. IMsmMerge __RPC_FAR * This,
  1985. /* [in] */ const BSTR Feature);
  1986. void __RPC_STUB IMsmMerge_Connect_Stub(
  1987. IRpcStubBuffer *This,
  1988. IRpcChannelBuffer *_pRpcChannelBuffer,
  1989. PRPC_MESSAGE _pRpcMessage,
  1990. DWORD *_pdwStubPhase);
  1991. /* [helpstring][id] */ HRESULT STDMETHODCALLTYPE IMsmMerge_ExtractCAB_Proxy(
  1992. IMsmMerge __RPC_FAR * This,
  1993. /* [in] */ const BSTR FileName);
  1994. void __RPC_STUB IMsmMerge_ExtractCAB_Stub(
  1995. IRpcStubBuffer *This,
  1996. IRpcChannelBuffer *_pRpcChannelBuffer,
  1997. PRPC_MESSAGE _pRpcMessage,
  1998. DWORD *_pdwStubPhase);
  1999. /* [helpstring][id] */ HRESULT STDMETHODCALLTYPE IMsmMerge_ExtractFiles_Proxy(
  2000. IMsmMerge __RPC_FAR * This,
  2001. /* [in] */ const BSTR Path);
  2002. void __RPC_STUB IMsmMerge_ExtractFiles_Stub(
  2003. IRpcStubBuffer *This,
  2004. IRpcChannelBuffer *_pRpcChannelBuffer,
  2005. PRPC_MESSAGE _pRpcMessage,
  2006. DWORD *_pdwStubPhase);
  2007. #endif /* __IMsmMerge_INTERFACE_DEFINED__ */
  2008. // --------------------------------------------------------------------------
  2009. // IMsmGetFiles - secondary interface to the MergeMod object, allows
  2010. // the client to retrieve the files needed in a particular language of the
  2011. // module. Requires certain actions be performed via the IMsmMerge interface
  2012. // before some calls on this interface will return valid results.
  2013. // --------------------------------------------------------------------------
  2014. #ifndef __IMsmGetFiles_INTERFACE_DEFINED__
  2015. #define __IMsmGetFiles_INTERFACE_DEFINED__
  2016. EXTERN_C const IID IID_IMsmGetFiles;
  2017. #if defined(__cplusplus) && !defined(CINTERFACE)
  2018. interface DECLSPEC_UUID("7041AE26-2D78-11d2-888A-00A0C981B015")
  2019. IMsmGetFiles : public IDispatch
  2020. {
  2021. public:
  2022. virtual /* [helpstring][id][propget] */ HRESULT STDMETHODCALLTYPE get_ModuleFiles(
  2023. /* [retval][out] */ IMsmStrings __RPC_FAR *__RPC_FAR *Files) = 0;
  2024. };
  2025. #else /* C style interface */
  2026. typedef struct IMsmGetFilesVtbl
  2027. {
  2028. BEGIN_INTERFACE
  2029. HRESULT ( STDMETHODCALLTYPE __RPC_FAR *QueryInterface )(
  2030. IMsmGetFiles __RPC_FAR * This,
  2031. /* [in] */ REFIID riid,
  2032. /* [iid_is][out] */ void __RPC_FAR *__RPC_FAR *ppvObject);
  2033. ULONG ( STDMETHODCALLTYPE __RPC_FAR *AddRef )(
  2034. IMsmGetFiles __RPC_FAR * This);
  2035. ULONG ( STDMETHODCALLTYPE __RPC_FAR *Release )(
  2036. IMsmGetFiles __RPC_FAR * This);
  2037. HRESULT ( STDMETHODCALLTYPE __RPC_FAR *GetTypeInfoCount )(
  2038. IMsmGetFiles __RPC_FAR * This,
  2039. /* [out] */ UINT __RPC_FAR *pctinfo);
  2040. HRESULT ( STDMETHODCALLTYPE __RPC_FAR *GetTypeInfo )(
  2041. IMsmGetFiles __RPC_FAR * This,
  2042. /* [in] */ UINT iTInfo,
  2043. /* [in] */ LCID lcid,
  2044. /* [out] */ ITypeInfo __RPC_FAR *__RPC_FAR *ppTInfo);
  2045. HRESULT ( STDMETHODCALLTYPE __RPC_FAR *GetIDsOfNames )(
  2046. IMsmGetFiles __RPC_FAR * This,
  2047. /* [in] */ REFIID riid,
  2048. /* [size_is][in] */ LPOLESTR __RPC_FAR *rgszNames,
  2049. /* [in] */ UINT cNames,
  2050. /* [in] */ LCID lcid,
  2051. /* [size_is][out] */ DISPID __RPC_FAR *rgDispId);
  2052. /* [local] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *Invoke )(
  2053. IMsmGetFiles __RPC_FAR * This,
  2054. /* [in] */ DISPID dispIdMember,
  2055. /* [in] */ REFIID riid,
  2056. /* [in] */ LCID lcid,
  2057. /* [in] */ WORD wFlags,
  2058. /* [out][in] */ DISPPARAMS __RPC_FAR *pDispParams,
  2059. /* [out] */ VARIANT __RPC_FAR *pVarResult,
  2060. /* [out] */ EXCEPINFO __RPC_FAR *pExcepInfo,
  2061. /* [out] */ UINT __RPC_FAR *puArgErr);
  2062. /* [helpstring][id][propget] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *get_ModuleFiles )(
  2063. IMsmGetFiles __RPC_FAR * This,
  2064. /* [retval][out] */ IMsmStrings __RPC_FAR *__RPC_FAR *Files);
  2065. END_INTERFACE
  2066. } IMsmGetFilesVtbl;
  2067. interface IMsmGetFiles
  2068. {
  2069. CONST_VTBL struct IMsmGetFilesVtbl __RPC_FAR *lpVtbl;
  2070. };
  2071. #ifdef COBJMACROS
  2072. #define IMsmGetFiles_QueryInterface(This,riid,ppvObject) \
  2073. (This)->lpVtbl -> QueryInterface(This,riid,ppvObject)
  2074. #define IMsmGetFiles_AddRef(This) \
  2075. (This)->lpVtbl -> AddRef(This)
  2076. #define IMsmGetFiles_Release(This) \
  2077. (This)->lpVtbl -> Release(This)
  2078. #define IMsmGetFiles_GetTypeInfoCount(This,pctinfo) \
  2079. (This)->lpVtbl -> GetTypeInfoCount(This,pctinfo)
  2080. #define IMsmGetFiles_GetTypeInfo(This,iTInfo,lcid,ppTInfo) \
  2081. (This)->lpVtbl -> GetTypeInfo(This,iTInfo,lcid,ppTInfo)
  2082. #define IMsmGetFiles_GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId) \
  2083. (This)->lpVtbl -> GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId)
  2084. #define IMsmGetFiles_Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr) \
  2085. (This)->lpVtbl -> Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr)
  2086. #define IMsmGetFiles_get_ModuleFiles(This,Files) \
  2087. (This)->lpVtbl -> get_ModuleFiles(This,Files)
  2088. #endif /* COBJMACROS */
  2089. #endif /* C style interface */
  2090. /* [helpstring][id][propget] */ HRESULT STDMETHODCALLTYPE IMsmGetFiles_get_ModuleFiles_Proxy(
  2091. IMsmGetFiles __RPC_FAR * This,
  2092. /* [retval][out] */ IMsmStrings __RPC_FAR *__RPC_FAR *Files);
  2093. void __RPC_STUB IMsmGetFiles_get_ModuleFiles_Stub(
  2094. IRpcStubBuffer *This,
  2095. IRpcChannelBuffer *_pRpcChannelBuffer,
  2096. PRPC_MESSAGE _pRpcMessage,
  2097. DWORD *_pdwStubPhase);
  2098. #endif /* __IMsmGetFiles_INTERFACE_DEFINED__ */
  2099. // The following interface is available only on MergeMod v1.5 and later
  2100. #if (_WIN32_MSM >= 150)
  2101. // --------------------------------------------------------------------------
  2102. // IMsmMerge2 - primary interface to the MsmMerge2 object. Allows the client
  2103. // to open and close databases, perform merges, retrieve the results
  2104. // of a merge, control the creation of a debug-level log, and extract the
  2105. // files from a module to disk. Extends the original object by adding
  2106. // LFN support and configurable module support.
  2107. // --------------------------------------------------------------------------
  2108. #ifndef __IMsmMerge2_INTERFACE_DEFINED__
  2109. #define __IMsmMerge2_INTERFACE_DEFINED__
  2110. EXTERN_C const IID IID_IMsmMerge2;
  2111. #if defined(__cplusplus) && !defined(CINTERFACE)
  2112. MIDL_INTERFACE("351A72AB-21CB-47AB-B7AA-C4D7B02EA305")
  2113. IMsmMerge2 : public IDispatch
  2114. {
  2115. public:
  2116. virtual /* [helpstring][id] */ HRESULT STDMETHODCALLTYPE OpenDatabase(
  2117. /* [in] */ const BSTR Path) = 0;
  2118. virtual /* [helpstring][id] */ HRESULT STDMETHODCALLTYPE OpenModule(
  2119. /* [in] */ const BSTR Path,
  2120. /* [in] */ const short Language) = 0;
  2121. virtual /* [helpstring][id] */ HRESULT STDMETHODCALLTYPE CloseDatabase(
  2122. /* [in] */ const VARIANT_BOOL Commit) = 0;
  2123. virtual /* [helpstring][id] */ HRESULT STDMETHODCALLTYPE CloseModule( void) = 0;
  2124. virtual /* [helpstring][id] */ HRESULT STDMETHODCALLTYPE OpenLog(
  2125. /* [in] */ const BSTR Path) = 0;
  2126. virtual /* [helpstring][id] */ HRESULT STDMETHODCALLTYPE CloseLog( void) = 0;
  2127. virtual /* [helpstring][id] */ HRESULT STDMETHODCALLTYPE Log(
  2128. /* [in] */ const BSTR Message) = 0;
  2129. virtual /* [helpstring][id][propget] */ HRESULT STDMETHODCALLTYPE get_Errors(
  2130. /* [retval][out] */ IMsmErrors __RPC_FAR *__RPC_FAR *Errors) = 0;
  2131. virtual /* [helpstring][id][propget] */ HRESULT STDMETHODCALLTYPE get_Dependencies(
  2132. /* [retval][out] */ IMsmDependencies __RPC_FAR *__RPC_FAR *Dependencies) = 0;
  2133. virtual /* [helpstring][id] */ HRESULT STDMETHODCALLTYPE Merge(
  2134. /* [in] */ const BSTR Feature,
  2135. /* [in] */ const BSTR RedirectDir) = 0;
  2136. virtual /* [helpstring][id] */ HRESULT STDMETHODCALLTYPE Connect(
  2137. /* [in] */ const BSTR Feature) = 0;
  2138. virtual /* [helpstring][id] */ HRESULT STDMETHODCALLTYPE ExtractCAB(
  2139. /* [in] */ const BSTR FileName) = 0;
  2140. virtual /* [helpstring][id] */ HRESULT STDMETHODCALLTYPE ExtractFiles(
  2141. /* [in] */ const BSTR Path) = 0;
  2142. virtual /* [helpstring][id] */ HRESULT STDMETHODCALLTYPE MergeEx(
  2143. /* [in] */ const BSTR Feature,
  2144. /* [in] */ const BSTR RedirectDir,
  2145. /* [in] */ IMsmConfigureModule __RPC_FAR *pConfiguration) = 0;
  2146. virtual /* [helpstring][id] */ HRESULT STDMETHODCALLTYPE ExtractFilesEx(
  2147. /* [in] */ const BSTR Path,
  2148. /* [in] */ VARIANT_BOOL fLongFileNames,
  2149. /* [out] */ IMsmStrings __RPC_FAR *__RPC_FAR *pFilePaths) = 0;
  2150. virtual /* [helpstring][id][propget] */ HRESULT STDMETHODCALLTYPE get_ConfigurableItems(
  2151. /* [retval][out] */ IMsmConfigurableItems __RPC_FAR *__RPC_FAR *ConfigurableItems) = 0;
  2152. virtual /* [helpstring][id] */ HRESULT STDMETHODCALLTYPE CreateSourceImage(
  2153. /* [in] */ const BSTR Path,
  2154. /* [in] */ VARIANT_BOOL fLongFileNames,
  2155. /* [out] */ IMsmStrings __RPC_FAR *__RPC_FAR *pFilePaths) = 0;
  2156. virtual /* [helpstring][id][propget] */ HRESULT STDMETHODCALLTYPE get_ModuleFiles(
  2157. /* [retval][out] */ IMsmStrings **Files) = 0;
  2158. };
  2159. #else /* C style interface */
  2160. typedef struct IMsmMerge2Vtbl
  2161. {
  2162. BEGIN_INTERFACE
  2163. HRESULT ( STDMETHODCALLTYPE __RPC_FAR *QueryInterface )(
  2164. IMsmMerge2 __RPC_FAR * This,
  2165. /* [in] */ REFIID riid,
  2166. /* [iid_is][out] */ void __RPC_FAR *__RPC_FAR *ppvObject);
  2167. ULONG ( STDMETHODCALLTYPE __RPC_FAR *AddRef )(
  2168. IMsmMerge2 __RPC_FAR * This);
  2169. ULONG ( STDMETHODCALLTYPE __RPC_FAR *Release )(
  2170. IMsmMerge2 __RPC_FAR * This);
  2171. HRESULT ( STDMETHODCALLTYPE __RPC_FAR *GetTypeInfoCount )(
  2172. IMsmMerge2 __RPC_FAR * This,
  2173. /* [out] */ UINT __RPC_FAR *pctinfo);
  2174. HRESULT ( STDMETHODCALLTYPE __RPC_FAR *GetTypeInfo )(
  2175. IMsmMerge2 __RPC_FAR * This,
  2176. /* [in] */ UINT iTInfo,
  2177. /* [in] */ LCID lcid,
  2178. /* [out] */ ITypeInfo __RPC_FAR *__RPC_FAR *ppTInfo);
  2179. HRESULT ( STDMETHODCALLTYPE __RPC_FAR *GetIDsOfNames )(
  2180. IMsmMerge2 __RPC_FAR * This,
  2181. /* [in] */ REFIID riid,
  2182. /* [size_is][in] */ LPOLESTR __RPC_FAR *rgszNames,
  2183. /* [in] */ UINT cNames,
  2184. /* [in] */ LCID lcid,
  2185. /* [size_is][out] */ DISPID __RPC_FAR *rgDispId);
  2186. /* [local] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *Invoke )(
  2187. IMsmMerge2 __RPC_FAR * This,
  2188. /* [in] */ DISPID dispIdMember,
  2189. /* [in] */ REFIID riid,
  2190. /* [in] */ LCID lcid,
  2191. /* [in] */ WORD wFlags,
  2192. /* [out][in] */ DISPPARAMS __RPC_FAR *pDispParams,
  2193. /* [out] */ VARIANT __RPC_FAR *pVarResult,
  2194. /* [out] */ EXCEPINFO __RPC_FAR *pExcepInfo,
  2195. /* [out] */ UINT __RPC_FAR *puArgErr);
  2196. /* [helpstring][id] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *OpenDatabase )(
  2197. IMsmMerge2 __RPC_FAR * This,
  2198. /* [in] */ const BSTR Path);
  2199. /* [helpstring][id] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *OpenModule )(
  2200. IMsmMerge2 __RPC_FAR * This,
  2201. /* [in] */ const BSTR Path,
  2202. /* [in] */ const short Language);
  2203. /* [helpstring][id] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *CloseDatabase )(
  2204. IMsmMerge2 __RPC_FAR * This,
  2205. /* [in] */ const VARIANT_BOOL Commit);
  2206. /* [helpstring][id] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *CloseModule )(
  2207. IMsmMerge2 __RPC_FAR * This);
  2208. /* [helpstring][id] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *OpenLog )(
  2209. IMsmMerge2 __RPC_FAR * This,
  2210. /* [in] */ const BSTR Path);
  2211. /* [helpstring][id] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *CloseLog )(
  2212. IMsmMerge2 __RPC_FAR * This);
  2213. /* [helpstring][id] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *Log )(
  2214. IMsmMerge2 __RPC_FAR * This,
  2215. /* [in] */ const BSTR Message);
  2216. /* [helpstring][id][propget] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *get_Errors )(
  2217. IMsmMerge2 __RPC_FAR * This,
  2218. /* [retval][out] */ IMsmErrors __RPC_FAR *__RPC_FAR *Errors);
  2219. /* [helpstring][id][propget] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *get_Dependencies )(
  2220. IMsmMerge2 __RPC_FAR * This,
  2221. /* [retval][out] */ IMsmDependencies __RPC_FAR *__RPC_FAR *Dependencies);
  2222. /* [helpstring][id] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *Merge )(
  2223. IMsmMerge2 __RPC_FAR * This,
  2224. /* [in] */ const BSTR Feature,
  2225. /* [in] */ const BSTR RedirectDir);
  2226. /* [helpstring][id] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *Connect )(
  2227. IMsmMerge2 __RPC_FAR * This,
  2228. /* [in] */ const BSTR Feature);
  2229. /* [helpstring][id] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *ExtractCAB )(
  2230. IMsmMerge2 __RPC_FAR * This,
  2231. /* [in] */ const BSTR FileName);
  2232. /* [helpstring][id] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *ExtractFiles )(
  2233. IMsmMerge2 __RPC_FAR * This,
  2234. /* [in] */ const BSTR Path);
  2235. /* [helpstring][id] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *MergeEx )(
  2236. IMsmMerge2 __RPC_FAR * This,
  2237. /* [in] */ const BSTR Feature,
  2238. /* [in] */ const BSTR RedirectDir,
  2239. /* [in] */ IMsmConfigureModule __RPC_FAR *pConfiguration);
  2240. /* [helpstring][id] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *ExtractFilesEx )(
  2241. IMsmMerge2 __RPC_FAR * This,
  2242. /* [in] */ const BSTR Path,
  2243. /* [in] */ VARIANT_BOOL fLongFileNames,
  2244. /* [out] */ IMsmStrings __RPC_FAR *__RPC_FAR *pFilePaths);
  2245. /* [helpstring][id][propget] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *get_ConfigurableItems )(
  2246. IMsmMerge2 __RPC_FAR * This,
  2247. /* [retval][out] */ IMsmConfigurableItems __RPC_FAR *__RPC_FAR *ConfigurableItems);
  2248. /* [helpstring][id] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *CreateSourceImage )(
  2249. IMsmMerge2 __RPC_FAR * This,
  2250. /* [in] */ const BSTR Path,
  2251. /* [in] */ VARIANT_BOOL fLongFileNames,
  2252. /* [out] */ IMsmStrings __RPC_FAR *__RPC_FAR *pFilePaths);
  2253. /* [helpstring][id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_ModuleFiles )(
  2254. IMsmMerge2 * This,
  2255. /* [retval][out] */ IMsmStrings **Files);
  2256. END_INTERFACE
  2257. } IMsmMerge2Vtbl;
  2258. interface IMsmMerge2
  2259. {
  2260. CONST_VTBL struct IMsmMerge2Vtbl __RPC_FAR *lpVtbl;
  2261. };
  2262. #ifdef COBJMACROS
  2263. #define IMsmMerge2_QueryInterface(This,riid,ppvObject) \
  2264. (This)->lpVtbl -> QueryInterface(This,riid,ppvObject)
  2265. #define IMsmMerge2_AddRef(This) \
  2266. (This)->lpVtbl -> AddRef(This)
  2267. #define IMsmMerge2_Release(This) \
  2268. (This)->lpVtbl -> Release(This)
  2269. #define IMsmMerge2_GetTypeInfoCount(This,pctinfo) \
  2270. (This)->lpVtbl -> GetTypeInfoCount(This,pctinfo)
  2271. #define IMsmMerge2_GetTypeInfo(This,iTInfo,lcid,ppTInfo) \
  2272. (This)->lpVtbl -> GetTypeInfo(This,iTInfo,lcid,ppTInfo)
  2273. #define IMsmMerge2_GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId) \
  2274. (This)->lpVtbl -> GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId)
  2275. #define IMsmMerge2_Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr) \
  2276. (This)->lpVtbl -> Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr)
  2277. #define IMsmMerge2_OpenDatabase(This,Path) \
  2278. (This)->lpVtbl -> OpenDatabase(This,Path)
  2279. #define IMsmMerge2_OpenModule(This,Path,Language) \
  2280. (This)->lpVtbl -> OpenModule(This,Path,Language)
  2281. #define IMsmMerge2_CloseDatabase(This,Commit) \
  2282. (This)->lpVtbl -> CloseDatabase(This,Commit)
  2283. #define IMsmMerge2_CloseModule(This) \
  2284. (This)->lpVtbl -> CloseModule(This)
  2285. #define IMsmMerge2_OpenLog(This,Path) \
  2286. (This)->lpVtbl -> OpenLog(This,Path)
  2287. #define IMsmMerge2_CloseLog(This) \
  2288. (This)->lpVtbl -> CloseLog(This)
  2289. #define IMsmMerge2_Log(This,Message) \
  2290. (This)->lpVtbl -> Log(This,Message)
  2291. #define IMsmMerge2_get_Errors(This,Errors) \
  2292. (This)->lpVtbl -> get_Errors(This,Errors)
  2293. #define IMsmMerge2_get_Dependencies(This,Dependencies) \
  2294. (This)->lpVtbl -> get_Dependencies(This,Dependencies)
  2295. #define IMsmMerge2_Merge(This,Feature,RedirectDir) \
  2296. (This)->lpVtbl -> Merge(This,Feature,RedirectDir)
  2297. #define IMsmMerge2_Connect(This,Feature) \
  2298. (This)->lpVtbl -> Connect(This,Feature)
  2299. #define IMsmMerge2_ExtractCAB(This,FileName) \
  2300. (This)->lpVtbl -> ExtractCAB(This,FileName)
  2301. #define IMsmMerge2_ExtractFiles(This,Path) \
  2302. (This)->lpVtbl -> ExtractFiles(This,Path)
  2303. #define IMsmMerge2_MergeEx(This,Feature,RedirectDir,pConfiguration) \
  2304. (This)->lpVtbl -> MergeEx(This,Feature,RedirectDir,pConfiguration)
  2305. #define IMsmMerge2_ExtractFilesEx(This,Path,fLongFileNames,pFilePaths) \
  2306. (This)->lpVtbl -> ExtractFilesEx(This,Path,fLongFileNames,pFilePaths)
  2307. #define IMsmMerge2_get_ConfigurableItems(This,ConfigurableItems) \
  2308. (This)->lpVtbl -> get_ConfigurableItems(This,ConfigurableItems)
  2309. #define IMsmMerge2_CreateSourceImage(This,Path,fLongFileNames,pFilePaths) \
  2310. (This)->lpVtbl -> CreateSourceImage(This,Path,fLongFileNames,pFilePaths)
  2311. #define IMsmMerge2_get_ModuleFiles(This,Files) \
  2312. (This)->lpVtbl -> get_ModuleFiles(This,Files)
  2313. #endif /* COBJMACROS */
  2314. #endif /* C style interface */
  2315. /* [helpstring][id] */ HRESULT STDMETHODCALLTYPE IMsmMerge2_OpenDatabase_Proxy(
  2316. IMsmMerge2 __RPC_FAR * This,
  2317. /* [in] */ const BSTR Path);
  2318. void __RPC_STUB IMsmMerge2_OpenDatabase_Stub(
  2319. IRpcStubBuffer *This,
  2320. IRpcChannelBuffer *_pRpcChannelBuffer,
  2321. PRPC_MESSAGE _pRpcMessage,
  2322. DWORD *_pdwStubPhase);
  2323. /* [helpstring][id] */ HRESULT STDMETHODCALLTYPE IMsmMerge2_OpenModule_Proxy(
  2324. IMsmMerge2 __RPC_FAR * This,
  2325. /* [in] */ const BSTR Path,
  2326. /* [in] */ const short Language);
  2327. void __RPC_STUB IMsmMerge2_OpenModule_Stub(
  2328. IRpcStubBuffer *This,
  2329. IRpcChannelBuffer *_pRpcChannelBuffer,
  2330. PRPC_MESSAGE _pRpcMessage,
  2331. DWORD *_pdwStubPhase);
  2332. /* [helpstring][id] */ HRESULT STDMETHODCALLTYPE IMsmMerge2_CloseDatabase_Proxy(
  2333. IMsmMerge2 __RPC_FAR * This,
  2334. /* [in] */ const VARIANT_BOOL Commit);
  2335. void __RPC_STUB IMsmMerge2_CloseDatabase_Stub(
  2336. IRpcStubBuffer *This,
  2337. IRpcChannelBuffer *_pRpcChannelBuffer,
  2338. PRPC_MESSAGE _pRpcMessage,
  2339. DWORD *_pdwStubPhase);
  2340. /* [helpstring][id] */ HRESULT STDMETHODCALLTYPE IMsmMerge2_CloseModule_Proxy(
  2341. IMsmMerge2 __RPC_FAR * This);
  2342. void __RPC_STUB IMsmMerge2_CloseModule_Stub(
  2343. IRpcStubBuffer *This,
  2344. IRpcChannelBuffer *_pRpcChannelBuffer,
  2345. PRPC_MESSAGE _pRpcMessage,
  2346. DWORD *_pdwStubPhase);
  2347. /* [helpstring][id] */ HRESULT STDMETHODCALLTYPE IMsmMerge2_OpenLog_Proxy(
  2348. IMsmMerge2 __RPC_FAR * This,
  2349. /* [in] */ const BSTR Path);
  2350. void __RPC_STUB IMsmMerge2_OpenLog_Stub(
  2351. IRpcStubBuffer *This,
  2352. IRpcChannelBuffer *_pRpcChannelBuffer,
  2353. PRPC_MESSAGE _pRpcMessage,
  2354. DWORD *_pdwStubPhase);
  2355. /* [helpstring][id] */ HRESULT STDMETHODCALLTYPE IMsmMerge2_CloseLog_Proxy(
  2356. IMsmMerge2 __RPC_FAR * This);
  2357. void __RPC_STUB IMsmMerge2_CloseLog_Stub(
  2358. IRpcStubBuffer *This,
  2359. IRpcChannelBuffer *_pRpcChannelBuffer,
  2360. PRPC_MESSAGE _pRpcMessage,
  2361. DWORD *_pdwStubPhase);
  2362. /* [helpstring][id] */ HRESULT STDMETHODCALLTYPE IMsmMerge2_Log_Proxy(
  2363. IMsmMerge2 __RPC_FAR * This,
  2364. /* [in] */ const BSTR Message);
  2365. void __RPC_STUB IMsmMerge2_Log_Stub(
  2366. IRpcStubBuffer *This,
  2367. IRpcChannelBuffer *_pRpcChannelBuffer,
  2368. PRPC_MESSAGE _pRpcMessage,
  2369. DWORD *_pdwStubPhase);
  2370. /* [helpstring][id][propget] */ HRESULT STDMETHODCALLTYPE IMsmMerge2_get_Errors_Proxy(
  2371. IMsmMerge2 __RPC_FAR * This,
  2372. /* [retval][out] */ IMsmErrors __RPC_FAR *__RPC_FAR *Errors);
  2373. void __RPC_STUB IMsmMerge2_get_Errors_Stub(
  2374. IRpcStubBuffer *This,
  2375. IRpcChannelBuffer *_pRpcChannelBuffer,
  2376. PRPC_MESSAGE _pRpcMessage,
  2377. DWORD *_pdwStubPhase);
  2378. /* [helpstring][id][propget] */ HRESULT STDMETHODCALLTYPE IMsmMerge2_get_Dependencies_Proxy(
  2379. IMsmMerge2 __RPC_FAR * This,
  2380. /* [retval][out] */ IMsmDependencies __RPC_FAR *__RPC_FAR *Dependencies);
  2381. void __RPC_STUB IMsmMerge2_get_Dependencies_Stub(
  2382. IRpcStubBuffer *This,
  2383. IRpcChannelBuffer *_pRpcChannelBuffer,
  2384. PRPC_MESSAGE _pRpcMessage,
  2385. DWORD *_pdwStubPhase);
  2386. /* [helpstring][id] */ HRESULT STDMETHODCALLTYPE IMsmMerge2_Merge_Proxy(
  2387. IMsmMerge2 __RPC_FAR * This,
  2388. /* [in] */ const BSTR Feature,
  2389. /* [in] */ const BSTR RedirectDir);
  2390. void __RPC_STUB IMsmMerge2_Merge_Stub(
  2391. IRpcStubBuffer *This,
  2392. IRpcChannelBuffer *_pRpcChannelBuffer,
  2393. PRPC_MESSAGE _pRpcMessage,
  2394. DWORD *_pdwStubPhase);
  2395. /* [helpstring][id] */ HRESULT STDMETHODCALLTYPE IMsmMerge2_Connect_Proxy(
  2396. IMsmMerge2 __RPC_FAR * This,
  2397. /* [in] */ const BSTR Feature);
  2398. void __RPC_STUB IMsmMerge2_Connect_Stub(
  2399. IRpcStubBuffer *This,
  2400. IRpcChannelBuffer *_pRpcChannelBuffer,
  2401. PRPC_MESSAGE _pRpcMessage,
  2402. DWORD *_pdwStubPhase);
  2403. /* [helpstring][id] */ HRESULT STDMETHODCALLTYPE IMsmMerge2_ExtractCAB_Proxy(
  2404. IMsmMerge2 __RPC_FAR * This,
  2405. /* [in] */ const BSTR FileName);
  2406. void __RPC_STUB IMsmMerge2_ExtractCAB_Stub(
  2407. IRpcStubBuffer *This,
  2408. IRpcChannelBuffer *_pRpcChannelBuffer,
  2409. PRPC_MESSAGE _pRpcMessage,
  2410. DWORD *_pdwStubPhase);
  2411. /* [helpstring][id] */ HRESULT STDMETHODCALLTYPE IMsmMerge2_ExtractFiles_Proxy(
  2412. IMsmMerge2 __RPC_FAR * This,
  2413. /* [in] */ const BSTR Path);
  2414. void __RPC_STUB IMsmMerge2_ExtractFiles_Stub(
  2415. IRpcStubBuffer *This,
  2416. IRpcChannelBuffer *_pRpcChannelBuffer,
  2417. PRPC_MESSAGE _pRpcMessage,
  2418. DWORD *_pdwStubPhase);
  2419. /* [helpstring][id] */ HRESULT STDMETHODCALLTYPE IMsmMerge2_MergeEx_Proxy(
  2420. IMsmMerge2 __RPC_FAR * This,
  2421. /* [in] */ const BSTR Feature,
  2422. /* [in] */ const BSTR RedirectDir,
  2423. /* [in] */ IMsmConfigureModule __RPC_FAR *pConfiguration);
  2424. void __RPC_STUB IMsmMerge2_MergeEx_Stub(
  2425. IRpcStubBuffer *This,
  2426. IRpcChannelBuffer *_pRpcChannelBuffer,
  2427. PRPC_MESSAGE _pRpcMessage,
  2428. DWORD *_pdwStubPhase);
  2429. /* [helpstring][id] */ HRESULT STDMETHODCALLTYPE IMsmMerge2_ExtractFilesEx_Proxy(
  2430. IMsmMerge2 __RPC_FAR * This,
  2431. /* [in] */ const BSTR Path,
  2432. /* [in] */ VARIANT_BOOL fLongFileNames,
  2433. /* [out] */ IMsmStrings __RPC_FAR *__RPC_FAR *pFilePaths);
  2434. void __RPC_STUB IMsmMerge2_ExtractFilesEx_Stub(
  2435. IRpcStubBuffer *This,
  2436. IRpcChannelBuffer *_pRpcChannelBuffer,
  2437. PRPC_MESSAGE _pRpcMessage,
  2438. DWORD *_pdwStubPhase);
  2439. /* [helpstring][id][propget] */ HRESULT STDMETHODCALLTYPE IMsmMerge2_get_ConfigurableItems_Proxy(
  2440. IMsmMerge2 __RPC_FAR * This,
  2441. /* [retval][out] */ IMsmConfigurableItems __RPC_FAR *__RPC_FAR *
  2442. ConfigurableItems);
  2443. void __RPC_STUB IMsmMerge2_get_ConfigurableItems_Stub(
  2444. IRpcStubBuffer *This,
  2445. IRpcChannelBuffer *_pRpcChannelBuffer,
  2446. PRPC_MESSAGE _pRpcMessage,
  2447. DWORD *_pdwStubPhase);
  2448. /* [helpstring][id] */ HRESULT STDMETHODCALLTYPE
  2449. IMsmMerge2_CreateSourceImage_Proxy(
  2450. IMsmMerge2 __RPC_FAR * This,
  2451. /* [in] */ const BSTR Path,
  2452. /* [in] */ VARIANT_BOOL fLongFileNames,
  2453. /* [out] */ IMsmStrings __RPC_FAR *__RPC_FAR *pFilePaths);
  2454. void __RPC_STUB IMsmMerge2_CreateSourceImage_Stub(
  2455. IRpcStubBuffer *This,
  2456. IRpcChannelBuffer *_pRpcChannelBuffer,
  2457. PRPC_MESSAGE _pRpcMessage,
  2458. DWORD *_pdwStubPhase);
  2459. /* [helpstring][id][propget] */ HRESULT STDMETHODCALLTYPE IMsmMerge2_get_ModuleFiles_Proxy(
  2460. IMsmMerge2 * This,
  2461. /* [retval][out] */ IMsmStrings **Files);
  2462. void __RPC_STUB IMsmMerge2_get_ModuleFiles_Stub(
  2463. IRpcStubBuffer *This,
  2464. IRpcChannelBuffer *_pRpcChannelBuffer,
  2465. PRPC_MESSAGE _pRpcMessage,
  2466. DWORD *_pdwStubPhase);
  2467. #endif /* __IMsmMerge2_INTERFACE_DEFINED__ */
  2468. #endif // _WIN32_MSM >= 150
  2469. // --------------------------------------------------------------------------
  2470. // TypeLib definitions
  2471. // --------------------------------------------------------------------------
  2472. #ifndef __MsmMergeTypeLib_LIBRARY_DEFINED__
  2473. #define __MsmMergeTypeLib_LIBRARY_DEFINED__
  2474. EXTERN_C const IID LIBID_MsmMergeTypeLib;
  2475. #ifdef __cplusplus
  2476. EXTERN_C const CLSID CLSID_MsmMerge;
  2477. class DECLSPEC_UUID("0ADDA830-2C26-11D2-AD65-00A0C9AF11A6")
  2478. MsmMerge;
  2479. #endif
  2480. // the following class is available only on MergeMod v1.5 or later
  2481. #if (_WIN32_MSM >= 150)
  2482. EXTERN_C const CLSID CLSID_MsmMerge2;
  2483. #ifdef __cplusplus
  2484. class DECLSPEC_UUID("F94985D5-29F9-4743-9805-99BC3F35B678")
  2485. MsmMerge2;
  2486. #endif
  2487. #endif // _WIN32_MSM >= 150
  2488. #endif /* __MsmMergeTypeLib_LIBRARY_DEFINED__ */
  2489. // --------------------------------------------------------------------------
  2490. // Additional Prototypes for ALL interfaces
  2491. // --------------------------------------------------------------------------
  2492. unsigned long __RPC_USER BSTR_UserSize( unsigned long __RPC_FAR *, unsigned long , BSTR __RPC_FAR * );
  2493. unsigned char __RPC_FAR * __RPC_USER BSTR_UserMarshal( unsigned long __RPC_FAR *, unsigned char __RPC_FAR *, BSTR __RPC_FAR * );
  2494. unsigned char __RPC_FAR * __RPC_USER BSTR_UserUnmarshal(unsigned long __RPC_FAR *, unsigned char __RPC_FAR *, BSTR __RPC_FAR * );
  2495. void __RPC_USER BSTR_UserFree( unsigned long __RPC_FAR *, BSTR __RPC_FAR * );
  2496. #ifdef __cplusplus
  2497. }
  2498. #endif
  2499. #endif