mergemod.h 72 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356357358359360361362363364365366367368369370371372373374375376377378379380381382383384385386387388389390391392393394395396397398399400401402403404405406407408409410411412413414415416417418419420421422423424425426427428429430431432433434435436437438439440441442443444445446447448449450451452453454455456457458459460461462463464465466467468469470471472473474475476477478479480481482483484485486487488489490491492493494495496497498499500501502503504505506507508509510511512513514515516517518519520521522523524525526527528529530531532533534535536537538539540541542543544545546547548549550551552553554555556557558559560561562563564565566567568569570571572573574575576577578579580581582583584585586587588589590591592593594595596597598599600601602603604605606607608609610611612613614615616617618619620621622623624625626627628629630631632633634635636637638639640641642643644645646647648649650651652653654655656657658659660661662663664665666667668669670671672673674675676677678679680681682683684685686687688689690691692693694695696697698699700701702703704705706707708709710711712713714715716717718719720721722723724725726727728729730731732733734735736737738739740741742743744745746747748749750751752753754755756757758759760761762763764765766767768769770771772773774775776777778779780781782783784785786787788789790791792793794795796797798799800801802803804805806807808809810811812813814815816817818819820821822823824825826827828829830831832833834835836837838839840841842843844845846847848849850851852853854855856857858859860861862863864865866867868869870871872873874875876877878879880881882883884885886887888889890891892893894895896897898899900901902903904905906907908909910911912913914915916917918919920921922923924925926927928929930931932933934935936937938939940941942943944945946947948949950951952953954955956957958959960961962963964965966967968969970971972973974975976977978979980981982983984985986987988989990991992993994995996997998999100010011002100310041005100610071008100910101011101210131014101510161017101810191020102110221023102410251026102710281029103010311032103310341035103610371038103910401041104210431044104510461047104810491050105110521053105410551056105710581059106010611062106310641065106610671068106910701071107210731074107510761077107810791080108110821083108410851086108710881089109010911092109310941095109610971098109911001101110211031104
  1. /**
  2. * This file has no copyright assigned and is placed in the Public Domain.
  3. * This file is part of the mingw-w64 runtime package.
  4. * No warranty is given; refer to the file DISCLAIMER.PD within this package.
  5. */
  6. #include "rpc.h"
  7. #include "rpcndr.h"
  8. #ifndef COM_NO_WINDOWS_H
  9. #include "windows.h"
  10. #include "ole2.h"
  11. #endif
  12. #ifndef __mergemod_h__
  13. #define __mergemod_h__
  14. #ifndef _WIN32_MSM
  15. #define _WIN32_MSM 100
  16. #endif
  17. #ifdef __cplusplus
  18. extern "C"{
  19. #endif
  20. #ifndef __IEnumMsmString_FWD_DEFINED__
  21. #define __IEnumMsmString_FWD_DEFINED__
  22. typedef struct IEnumMsmString IEnumMsmString;
  23. #endif
  24. #ifndef __IMsmStrings_FWD_DEFINED__
  25. #define __IMsmStrings_FWD_DEFINED__
  26. typedef struct IMsmStrings IMsmStrings;
  27. #endif
  28. #ifndef __IMsmError_FWD_DEFINED__
  29. #define __IMsmError_FWD_DEFINED__
  30. typedef struct IMsmError IMsmError;
  31. #endif
  32. #ifndef __IEnumMsmError_FWD_DEFINED__
  33. #define __IEnumMsmError_FWD_DEFINED__
  34. typedef struct IEnumMsmError IEnumMsmError;
  35. #endif
  36. #ifndef __IMsmErrors_FWD_DEFINED__
  37. #define __IMsmErrors_FWD_DEFINED__
  38. typedef struct IMsmErrors IMsmErrors;
  39. #endif
  40. #ifndef __IMsmDependency_FWD_DEFINED__
  41. #define __IMsmDependency_FWD_DEFINED__
  42. typedef struct IMsmDependency IMsmDependency;
  43. #endif
  44. #ifndef __IEnumMsmDependency_FWD_DEFINED__
  45. #define __IEnumMsmDependency_FWD_DEFINED__
  46. typedef struct IEnumMsmDependency IEnumMsmDependency;
  47. #endif
  48. #ifndef __IMsmDependencies_FWD_DEFINED__
  49. #define __IMsmDependencies_FWD_DEFINED__
  50. typedef struct IMsmDependencies IMsmDependencies;
  51. #endif
  52. #ifndef __IMsmMerge_FWD_DEFINED__
  53. #define __IMsmMerge_FWD_DEFINED__
  54. typedef struct IMsmMerge IMsmMerge;
  55. #endif
  56. #ifndef __IMsmGetFiles_FWD_DEFINED__
  57. #define __IMsmGetFiles_FWD_DEFINED__
  58. typedef struct IMsmGetFiles IMsmGetFiles;
  59. #endif
  60. #ifndef __IMsmStrings_FWD_DEFINED__
  61. #define __IMsmStrings_FWD_DEFINED__
  62. typedef struct IMsmStrings IMsmStrings;
  63. #endif
  64. #ifndef __IMsmError_FWD_DEFINED__
  65. #define __IMsmError_FWD_DEFINED__
  66. typedef struct IMsmError IMsmError;
  67. #endif
  68. #ifndef __IMsmErrors_FWD_DEFINED__
  69. #define __IMsmErrors_FWD_DEFINED__
  70. typedef struct IMsmErrors IMsmErrors;
  71. #endif
  72. #ifndef __IMsmDependency_FWD_DEFINED__
  73. #define __IMsmDependency_FWD_DEFINED__
  74. typedef struct IMsmDependency IMsmDependency;
  75. #endif
  76. #ifndef __IMsmDependencies_FWD_DEFINED__
  77. #define __IMsmDependencies_FWD_DEFINED__
  78. typedef struct IMsmDependencies IMsmDependencies;
  79. #endif
  80. #ifndef __IMsmGetFiles_FWD_DEFINED__
  81. #define __IMsmGetFiles_FWD_DEFINED__
  82. typedef struct IMsmGetFiles IMsmGetFiles;
  83. #endif
  84. #if (_WIN32_MSM >= 150)
  85. #ifndef __IMsmConfigurableItem_FWD_DEFINED__
  86. #define __IMsmConfigurableItem_FWD_DEFINED__
  87. typedef struct IMsmConfigurableItem IMsmConfigurableItem;
  88. #endif
  89. #ifndef __IEnumMsmConfigurableItem_FWD_DEFINED__
  90. #define __IEnumMsmConfigurableItem_FWD_DEFINED__
  91. typedef struct IEnumMsmConfigurableItem IEnumMsmConfigurableItem;
  92. #endif
  93. #ifndef __IMsmConfigurableItems_FWD_DEFINED__
  94. #define __IMsmConfigurableItems_FWD_DEFINED__
  95. typedef struct IMsmConfigurableItems IMsmConfigurableItems;
  96. #endif
  97. #ifndef __IMsmMerge2_FWD_DEFINED__
  98. #define __IMsmMerge2_FWD_DEFINED__
  99. typedef struct IMsmMerge2 IMsmMerge2;
  100. #endif
  101. #ifndef __IMsmConfigureModule_FWD_DEFINED__
  102. #define __IMsmConfigureModule_FWD_DEFINED__
  103. typedef struct IMsmConfigureModule IMsmConfigureModule;
  104. #endif
  105. #ifndef __MsmMerge2_FWD_DEFINED__
  106. #define __MsmMerge2_FWD_DEFINED__
  107. #ifdef __cplusplus
  108. typedef class MsmMerge2 MsmMerge2;
  109. #else
  110. typedef struct MsmMerge2 MsmMerge2;
  111. #endif
  112. #endif
  113. #endif
  114. #ifndef __MsmMerge_FWD_DEFINED__
  115. #define __MsmMerge_FWD_DEFINED__
  116. #ifdef __cplusplus
  117. typedef class MsmMerge MsmMerge;
  118. #else
  119. typedef struct MsmMerge MsmMerge;
  120. #endif
  121. #endif
  122. #include "oaidl.h"
  123. #ifndef __MIDL_user_allocate_free_DEFINED__
  124. #define __MIDL_user_allocate_free_DEFINED__
  125. void *__RPC_API MIDL_user_allocate(size_t);
  126. void __RPC_API MIDL_user_free(void *);
  127. #endif
  128. #ifndef __FORWARD_IID_IMSMMERGETYPELIB
  129. #define __FORWARD_IID_IMSMMERGETYPELIB
  130. typedef enum msmErrorType {
  131. msmErrorLanguageUnsupported = 1,msmErrorLanguageFailed = 2,msmErrorExclusion = 3,msmErrorTableMerge = 4,msmErrorResequenceMerge = 5,
  132. msmErrorFileCreate = 6,msmErrorDirCreate = 7,msmErrorFeatureRequired = 8,
  133. #if (_WIN32_MSM >= 150)
  134. msmErrorBadNullSubstitution = 9,msmErrorBadSubstitutionType = 10,msmErrorMissingConfigItem = 11,msmErrorBadNullResponse = 12,
  135. msmErrorDataRequestFailed = 13,msmErrorPlatformMismatch = 14
  136. #endif
  137. } msmErrorType;
  138. #if (_WIN32_MSM >= 150)
  139. typedef enum msmConfigurableItemFormat {
  140. msmConfigurableItemText = 0,msmConfigurableItemKey = 1,msmConfigurableItemInteger = 2,msmConfigurableItemBitfield = 3
  141. } msmConfigurableItemFormat;
  142. typedef enum msmConfigurableItemOptions {
  143. msmConfigurableOptionKeyNoOrphan = 1,msmConfigurableOptionNonNullable = 2
  144. } msmConfigurableItemOptions;
  145. #endif
  146. #endif
  147. extern RPC_IF_HANDLE __MIDL_itf_mergemod_0000_v0_0_c_ifspec;
  148. extern RPC_IF_HANDLE __MIDL_itf_mergemod_0000_v0_0_s_ifspec;
  149. #ifndef __IEnumMsmString_INTERFACE_DEFINED__
  150. #define __IEnumMsmString_INTERFACE_DEFINED__
  151. #if defined(__cplusplus) && !defined(CINTERFACE)
  152. struct IEnumMsmString : public IUnknown {
  153. public:
  154. virtual HRESULT WINAPI Next(unsigned __LONG32 cFetch,BSTR *rgbstrStrings,unsigned __LONG32 *pcFetched) = 0;
  155. virtual HRESULT WINAPI Skip(unsigned __LONG32 cSkip) = 0;
  156. virtual HRESULT WINAPI Reset(void) = 0;
  157. virtual HRESULT WINAPI Clone(IEnumMsmString **pemsmStrings) = 0;
  158. };
  159. #else
  160. typedef struct IEnumMsmStringVtbl {
  161. BEGIN_INTERFACE
  162. HRESULT (WINAPI *QueryInterface)(IEnumMsmString *This,REFIID riid,void **ppvObject);
  163. ULONG (WINAPI *AddRef)(IEnumMsmString *This);
  164. ULONG (WINAPI *Release)(IEnumMsmString *This);
  165. HRESULT (WINAPI *Next)(IEnumMsmString *This,unsigned __LONG32 cFetch,BSTR *rgbstrStrings,unsigned __LONG32 *pcFetched);
  166. HRESULT (WINAPI *Skip)(IEnumMsmString *This,unsigned __LONG32 cSkip);
  167. HRESULT (WINAPI *Reset)(IEnumMsmString *This);
  168. HRESULT (WINAPI *Clone)(IEnumMsmString *This,IEnumMsmString **pemsmStrings);
  169. END_INTERFACE
  170. } IEnumMsmStringVtbl;
  171. struct IEnumMsmString {
  172. CONST_VTBL struct IEnumMsmStringVtbl *lpVtbl;
  173. };
  174. #ifdef COBJMACROS
  175. #define IEnumMsmString_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject)
  176. #define IEnumMsmString_AddRef(This) (This)->lpVtbl->AddRef(This)
  177. #define IEnumMsmString_Release(This) (This)->lpVtbl->Release(This)
  178. #define IEnumMsmString_Next(This,cFetch,rgbstrStrings,pcFetched) (This)->lpVtbl->Next(This,cFetch,rgbstrStrings,pcFetched)
  179. #define IEnumMsmString_Skip(This,cSkip) (This)->lpVtbl->Skip(This,cSkip)
  180. #define IEnumMsmString_Reset(This) (This)->lpVtbl->Reset(This)
  181. #define IEnumMsmString_Clone(This,pemsmStrings) (This)->lpVtbl->Clone(This,pemsmStrings)
  182. #endif
  183. #endif
  184. HRESULT WINAPI IEnumMsmString_Next_Proxy(IEnumMsmString *This,unsigned __LONG32 cFetch,BSTR *rgbstrStrings,unsigned __LONG32 *pcFetched);
  185. void __RPC_STUB IEnumMsmString_Next_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
  186. HRESULT WINAPI IEnumMsmString_Skip_Proxy(IEnumMsmString *This,unsigned __LONG32 cSkip);
  187. void __RPC_STUB IEnumMsmString_Skip_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
  188. HRESULT WINAPI IEnumMsmString_Reset_Proxy(IEnumMsmString *This);
  189. void __RPC_STUB IEnumMsmString_Reset_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
  190. HRESULT WINAPI IEnumMsmString_Clone_Proxy(IEnumMsmString *This,IEnumMsmString **pemsmStrings);
  191. void __RPC_STUB IEnumMsmString_Clone_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
  192. #endif
  193. #ifndef __IMsmStrings_INTERFACE_DEFINED__
  194. #define __IMsmStrings_INTERFACE_DEFINED__
  195. #if defined(__cplusplus) && !defined(CINTERFACE)
  196. struct IMsmStrings : public IDispatch {
  197. public:
  198. virtual HRESULT WINAPI get_Item(__LONG32 Item,BSTR *Return) = 0;
  199. virtual HRESULT WINAPI get_Count(__LONG32 *Count) = 0;
  200. virtual HRESULT WINAPI get__NewEnum(IUnknown **NewEnum) = 0;
  201. };
  202. #else
  203. typedef struct IMsmStringsVtbl {
  204. BEGIN_INTERFACE
  205. HRESULT (WINAPI *QueryInterface)(IMsmStrings *This,REFIID riid,void **ppvObject);
  206. ULONG (WINAPI *AddRef)(IMsmStrings *This);
  207. ULONG (WINAPI *Release)(IMsmStrings *This);
  208. HRESULT (WINAPI *GetTypeInfoCount)(IMsmStrings *This,UINT *pctinfo);
  209. HRESULT (WINAPI *GetTypeInfo)(IMsmStrings *This,UINT iTInfo,LCID lcid,ITypeInfo **ppTInfo);
  210. HRESULT (WINAPI *GetIDsOfNames)(IMsmStrings *This,REFIID riid,LPOLESTR *rgszNames,UINT cNames,LCID lcid,DISPID *rgDispId);
  211. HRESULT (WINAPI *Invoke)(IMsmStrings *This,DISPID dispIdMember,REFIID riid,LCID lcid,WORD wFlags,DISPPARAMS *pDispParams,VARIANT *pVarResult,EXCEPINFO *pExcepInfo,UINT *puArgErr);
  212. HRESULT (WINAPI *get_Item)(IMsmStrings *This,__LONG32 Item,BSTR *Return);
  213. HRESULT (WINAPI *get_Count)(IMsmStrings *This,__LONG32 *Count);
  214. HRESULT (WINAPI *get__NewEnum)(IMsmStrings *This,IUnknown **NewEnum);
  215. END_INTERFACE
  216. } IMsmStringsVtbl;
  217. struct IMsmStrings {
  218. CONST_VTBL struct IMsmStringsVtbl *lpVtbl;
  219. };
  220. #ifdef COBJMACROS
  221. #define IMsmStrings_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject)
  222. #define IMsmStrings_AddRef(This) (This)->lpVtbl->AddRef(This)
  223. #define IMsmStrings_Release(This) (This)->lpVtbl->Release(This)
  224. #define IMsmStrings_GetTypeInfoCount(This,pctinfo) (This)->lpVtbl->GetTypeInfoCount(This,pctinfo)
  225. #define IMsmStrings_GetTypeInfo(This,iTInfo,lcid,ppTInfo) (This)->lpVtbl->GetTypeInfo(This,iTInfo,lcid,ppTInfo)
  226. #define IMsmStrings_GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId) (This)->lpVtbl->GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId)
  227. #define IMsmStrings_Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr) (This)->lpVtbl->Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr)
  228. #define IMsmStrings_get_Item(This,Item,Return) (This)->lpVtbl->get_Item(This,Item,Return)
  229. #define IMsmStrings_get_Count(This,Count) (This)->lpVtbl->get_Count(This,Count)
  230. #define IMsmStrings_get__NewEnum(This,NewEnum) (This)->lpVtbl->get__NewEnum(This,NewEnum)
  231. #endif
  232. #endif
  233. HRESULT WINAPI IMsmStrings_get_Item_Proxy(IMsmStrings *This,__LONG32 Item,BSTR *Return);
  234. void __RPC_STUB IMsmStrings_get_Item_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
  235. HRESULT WINAPI IMsmStrings_get_Count_Proxy(IMsmStrings *This,__LONG32 *Count);
  236. void __RPC_STUB IMsmStrings_get_Count_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
  237. HRESULT WINAPI IMsmStrings_get__NewEnum_Proxy(IMsmStrings *This,IUnknown **NewEnum);
  238. void __RPC_STUB IMsmStrings_get__NewEnum_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
  239. #endif
  240. #ifndef __IMsmError_INTERFACE_DEFINED__
  241. #define __IMsmError_INTERFACE_DEFINED__
  242. #if defined(__cplusplus) && !defined(CINTERFACE)
  243. struct IMsmError : public IDispatch {
  244. public:
  245. virtual HRESULT WINAPI get_Type(msmErrorType *ErrorType) = 0;
  246. virtual HRESULT WINAPI get_Path(BSTR *ErrorPath) = 0;
  247. virtual HRESULT WINAPI get_Language(short *ErrorLanguage) = 0;
  248. virtual HRESULT WINAPI get_DatabaseTable(BSTR *ErrorTable) = 0;
  249. virtual HRESULT WINAPI get_DatabaseKeys(IMsmStrings **ErrorKeys) = 0;
  250. virtual HRESULT WINAPI get_ModuleTable(BSTR *ErrorTable) = 0;
  251. virtual HRESULT WINAPI get_ModuleKeys(IMsmStrings **ErrorKeys) = 0;
  252. };
  253. #else
  254. typedef struct IMsmErrorVtbl {
  255. BEGIN_INTERFACE
  256. HRESULT (WINAPI *QueryInterface)(IMsmError *This,REFIID riid,void **ppvObject);
  257. ULONG (WINAPI *AddRef)(IMsmError *This);
  258. ULONG (WINAPI *Release)(IMsmError *This);
  259. HRESULT (WINAPI *GetTypeInfoCount)(IMsmError *This,UINT *pctinfo);
  260. HRESULT (WINAPI *GetTypeInfo)(IMsmError *This,UINT iTInfo,LCID lcid,ITypeInfo **ppTInfo);
  261. HRESULT (WINAPI *GetIDsOfNames)(IMsmError *This,REFIID riid,LPOLESTR *rgszNames,UINT cNames,LCID lcid,DISPID *rgDispId);
  262. HRESULT (WINAPI *Invoke)(IMsmError *This,DISPID dispIdMember,REFIID riid,LCID lcid,WORD wFlags,DISPPARAMS *pDispParams,VARIANT *pVarResult,EXCEPINFO *pExcepInfo,UINT *puArgErr);
  263. HRESULT (WINAPI *get_Type)(IMsmError *This,msmErrorType *ErrorType);
  264. HRESULT (WINAPI *get_Path)(IMsmError *This,BSTR *ErrorPath);
  265. HRESULT (WINAPI *get_Language)(IMsmError *This,short *ErrorLanguage);
  266. HRESULT (WINAPI *get_DatabaseTable)(IMsmError *This,BSTR *ErrorTable);
  267. HRESULT (WINAPI *get_DatabaseKeys)(IMsmError *This,IMsmStrings **ErrorKeys);
  268. HRESULT (WINAPI *get_ModuleTable)(IMsmError *This,BSTR *ErrorTable);
  269. HRESULT (WINAPI *get_ModuleKeys)(IMsmError *This,IMsmStrings **ErrorKeys);
  270. END_INTERFACE
  271. } IMsmErrorVtbl;
  272. struct IMsmError {
  273. CONST_VTBL struct IMsmErrorVtbl *lpVtbl;
  274. };
  275. #ifdef COBJMACROS
  276. #define IMsmError_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject)
  277. #define IMsmError_AddRef(This) (This)->lpVtbl->AddRef(This)
  278. #define IMsmError_Release(This) (This)->lpVtbl->Release(This)
  279. #define IMsmError_GetTypeInfoCount(This,pctinfo) (This)->lpVtbl->GetTypeInfoCount(This,pctinfo)
  280. #define IMsmError_GetTypeInfo(This,iTInfo,lcid,ppTInfo) (This)->lpVtbl->GetTypeInfo(This,iTInfo,lcid,ppTInfo)
  281. #define IMsmError_GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId) (This)->lpVtbl->GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId)
  282. #define IMsmError_Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr) (This)->lpVtbl->Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr)
  283. #define IMsmError_get_Type(This,ErrorType) (This)->lpVtbl->get_Type(This,ErrorType)
  284. #define IMsmError_get_Path(This,ErrorPath) (This)->lpVtbl->get_Path(This,ErrorPath)
  285. #define IMsmError_get_Language(This,ErrorLanguage) (This)->lpVtbl->get_Language(This,ErrorLanguage)
  286. #define IMsmError_get_DatabaseTable(This,ErrorTable) (This)->lpVtbl->get_DatabaseTable(This,ErrorTable)
  287. #define IMsmError_get_DatabaseKeys(This,ErrorKeys) (This)->lpVtbl->get_DatabaseKeys(This,ErrorKeys)
  288. #define IMsmError_get_ModuleTable(This,ErrorTable) (This)->lpVtbl->get_ModuleTable(This,ErrorTable)
  289. #define IMsmError_get_ModuleKeys(This,ErrorKeys) (This)->lpVtbl->get_ModuleKeys(This,ErrorKeys)
  290. #endif
  291. #endif
  292. HRESULT WINAPI IMsmError_get_Type_Proxy(IMsmError *This,msmErrorType *ErrorType);
  293. void __RPC_STUB IMsmError_get_Type_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
  294. HRESULT WINAPI IMsmError_get_Path_Proxy(IMsmError *This,BSTR *ErrorPath);
  295. void __RPC_STUB IMsmError_get_Path_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
  296. HRESULT WINAPI IMsmError_get_Language_Proxy(IMsmError *This,short *ErrorLanguage);
  297. void __RPC_STUB IMsmError_get_Language_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
  298. HRESULT WINAPI IMsmError_get_DatabaseTable_Proxy(IMsmError *This,BSTR *ErrorTable);
  299. void __RPC_STUB IMsmError_get_DatabaseTable_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
  300. HRESULT WINAPI IMsmError_get_DatabaseKeys_Proxy(IMsmError *This,IMsmStrings **ErrorKeys);
  301. void __RPC_STUB IMsmError_get_DatabaseKeys_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
  302. HRESULT WINAPI IMsmError_get_ModuleTable_Proxy(IMsmError *This,BSTR *ErrorTable);
  303. void __RPC_STUB IMsmError_get_ModuleTable_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
  304. HRESULT WINAPI IMsmError_get_ModuleKeys_Proxy(IMsmError *This,IMsmStrings **ErrorKeys);
  305. void __RPC_STUB IMsmError_get_ModuleKeys_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
  306. #endif
  307. #ifndef __IEnumMsmError_INTERFACE_DEFINED__
  308. #define __IEnumMsmError_INTERFACE_DEFINED__
  309. #if defined(__cplusplus) && !defined(CINTERFACE)
  310. struct IEnumMsmError : public IUnknown {
  311. public:
  312. virtual HRESULT WINAPI Next(unsigned __LONG32 cFetch,IMsmError **rgmsmErrors,unsigned __LONG32 *pcFetched) = 0;
  313. virtual HRESULT WINAPI Skip(unsigned __LONG32 cSkip) = 0;
  314. virtual HRESULT WINAPI Reset(void) = 0;
  315. virtual HRESULT WINAPI Clone(IEnumMsmError **pemsmErrors) = 0;
  316. };
  317. #else
  318. typedef struct IEnumMsmErrorVtbl {
  319. BEGIN_INTERFACE
  320. HRESULT (WINAPI *QueryInterface)(IEnumMsmError *This,REFIID riid,void **ppvObject);
  321. ULONG (WINAPI *AddRef)(IEnumMsmError *This);
  322. ULONG (WINAPI *Release)(IEnumMsmError *This);
  323. HRESULT (WINAPI *Next)(IEnumMsmError *This,unsigned __LONG32 cFetch,IMsmError **rgmsmErrors,unsigned __LONG32 *pcFetched);
  324. HRESULT (WINAPI *Skip)(IEnumMsmError *This,unsigned __LONG32 cSkip);
  325. HRESULT (WINAPI *Reset)(IEnumMsmError *This);
  326. HRESULT (WINAPI *Clone)(IEnumMsmError *This,IEnumMsmError **pemsmErrors);
  327. END_INTERFACE
  328. } IEnumMsmErrorVtbl;
  329. struct IEnumMsmError {
  330. CONST_VTBL struct IEnumMsmErrorVtbl *lpVtbl;
  331. };
  332. #ifdef COBJMACROS
  333. #define IEnumMsmError_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject)
  334. #define IEnumMsmError_AddRef(This) (This)->lpVtbl->AddRef(This)
  335. #define IEnumMsmError_Release(This) (This)->lpVtbl->Release(This)
  336. #define IEnumMsmError_Next(This,cFetch,rgmsmErrors,pcFetched) (This)->lpVtbl->Next(This,cFetch,rgmsmErrors,pcFetched)
  337. #define IEnumMsmError_Skip(This,cSkip) (This)->lpVtbl->Skip(This,cSkip)
  338. #define IEnumMsmError_Reset(This) (This)->lpVtbl->Reset(This)
  339. #define IEnumMsmError_Clone(This,pemsmErrors) (This)->lpVtbl->Clone(This,pemsmErrors)
  340. #endif
  341. #endif
  342. HRESULT WINAPI IEnumMsmError_Next_Proxy(IEnumMsmError *This,unsigned __LONG32 cFetch,IMsmError **rgmsmErrors,unsigned __LONG32 *pcFetched);
  343. void __RPC_STUB IEnumMsmError_Next_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
  344. HRESULT WINAPI IEnumMsmError_Skip_Proxy(IEnumMsmError *This,unsigned __LONG32 cSkip);
  345. void __RPC_STUB IEnumMsmError_Skip_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
  346. HRESULT WINAPI IEnumMsmError_Reset_Proxy(IEnumMsmError *This);
  347. void __RPC_STUB IEnumMsmError_Reset_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
  348. HRESULT WINAPI IEnumMsmError_Clone_Proxy(IEnumMsmError *This,IEnumMsmError **pemsmErrors);
  349. void __RPC_STUB IEnumMsmError_Clone_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
  350. #endif
  351. #ifndef __IMsmErrors_INTERFACE_DEFINED__
  352. #define __IMsmErrors_INTERFACE_DEFINED__
  353. #if defined(__cplusplus) && !defined(CINTERFACE)
  354. struct IMsmErrors : public IDispatch {
  355. public:
  356. virtual HRESULT WINAPI get_Item(__LONG32 Item,IMsmError **Return) = 0;
  357. virtual HRESULT WINAPI get_Count(__LONG32 *Count) = 0;
  358. virtual HRESULT WINAPI get__NewEnum(IUnknown **NewEnum) = 0;
  359. };
  360. #else
  361. typedef struct IMsmErrorsVtbl {
  362. BEGIN_INTERFACE
  363. HRESULT (WINAPI *QueryInterface)(IMsmErrors *This,REFIID riid,void **ppvObject);
  364. ULONG (WINAPI *AddRef)(IMsmErrors *This);
  365. ULONG (WINAPI *Release)(IMsmErrors *This);
  366. HRESULT (WINAPI *GetTypeInfoCount)(IMsmErrors *This,UINT *pctinfo);
  367. HRESULT (WINAPI *GetTypeInfo)(IMsmErrors *This,UINT iTInfo,LCID lcid,ITypeInfo **ppTInfo);
  368. HRESULT (WINAPI *GetIDsOfNames)(IMsmErrors *This,REFIID riid,LPOLESTR *rgszNames,UINT cNames,LCID lcid,DISPID *rgDispId);
  369. HRESULT (WINAPI *Invoke)(IMsmErrors *This,DISPID dispIdMember,REFIID riid,LCID lcid,WORD wFlags,DISPPARAMS *pDispParams,VARIANT *pVarResult,EXCEPINFO *pExcepInfo,UINT *puArgErr);
  370. HRESULT (WINAPI *get_Item)(IMsmErrors *This,__LONG32 Item,IMsmError **Return);
  371. HRESULT (WINAPI *get_Count)(IMsmErrors *This,__LONG32 *Count);
  372. HRESULT (WINAPI *get__NewEnum)(IMsmErrors *This,IUnknown **NewEnum);
  373. END_INTERFACE
  374. } IMsmErrorsVtbl;
  375. struct IMsmErrors {
  376. CONST_VTBL struct IMsmErrorsVtbl *lpVtbl;
  377. };
  378. #ifdef COBJMACROS
  379. #define IMsmErrors_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject)
  380. #define IMsmErrors_AddRef(This) (This)->lpVtbl->AddRef(This)
  381. #define IMsmErrors_Release(This) (This)->lpVtbl->Release(This)
  382. #define IMsmErrors_GetTypeInfoCount(This,pctinfo) (This)->lpVtbl->GetTypeInfoCount(This,pctinfo)
  383. #define IMsmErrors_GetTypeInfo(This,iTInfo,lcid,ppTInfo) (This)->lpVtbl->GetTypeInfo(This,iTInfo,lcid,ppTInfo)
  384. #define IMsmErrors_GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId) (This)->lpVtbl->GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId)
  385. #define IMsmErrors_Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr) (This)->lpVtbl->Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr)
  386. #define IMsmErrors_get_Item(This,Item,Return) (This)->lpVtbl->get_Item(This,Item,Return)
  387. #define IMsmErrors_get_Count(This,Count) (This)->lpVtbl->get_Count(This,Count)
  388. #define IMsmErrors_get__NewEnum(This,NewEnum) (This)->lpVtbl->get__NewEnum(This,NewEnum)
  389. #endif
  390. #endif
  391. HRESULT WINAPI IMsmErrors_get_Item_Proxy(IMsmErrors *This,__LONG32 Item,IMsmError **Return);
  392. void __RPC_STUB IMsmErrors_get_Item_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
  393. HRESULT WINAPI IMsmErrors_get_Count_Proxy(IMsmErrors *This,__LONG32 *Count);
  394. void __RPC_STUB IMsmErrors_get_Count_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
  395. HRESULT WINAPI IMsmErrors_get__NewEnum_Proxy(IMsmErrors *This,IUnknown **NewEnum);
  396. void __RPC_STUB IMsmErrors_get__NewEnum_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
  397. #endif
  398. #ifndef __IMsmDependency_INTERFACE_DEFINED__
  399. #define __IMsmDependency_INTERFACE_DEFINED__
  400. #if defined(__cplusplus) && !defined(CINTERFACE)
  401. struct IMsmDependency : public IDispatch {
  402. public:
  403. virtual HRESULT WINAPI get_Module(BSTR *Module) = 0;
  404. virtual HRESULT WINAPI get_Language(short *Language) = 0;
  405. virtual HRESULT WINAPI get_Version(BSTR *Version) = 0;
  406. };
  407. #else
  408. typedef struct IMsmDependencyVtbl {
  409. BEGIN_INTERFACE
  410. HRESULT (WINAPI *QueryInterface)(IMsmDependency *This,REFIID riid,void **ppvObject);
  411. ULONG (WINAPI *AddRef)(IMsmDependency *This);
  412. ULONG (WINAPI *Release)(IMsmDependency *This);
  413. HRESULT (WINAPI *GetTypeInfoCount)(IMsmDependency *This,UINT *pctinfo);
  414. HRESULT (WINAPI *GetTypeInfo)(IMsmDependency *This,UINT iTInfo,LCID lcid,ITypeInfo **ppTInfo);
  415. HRESULT (WINAPI *GetIDsOfNames)(IMsmDependency *This,REFIID riid,LPOLESTR *rgszNames,UINT cNames,LCID lcid,DISPID *rgDispId);
  416. HRESULT (WINAPI *Invoke)(IMsmDependency *This,DISPID dispIdMember,REFIID riid,LCID lcid,WORD wFlags,DISPPARAMS *pDispParams,VARIANT *pVarResult,EXCEPINFO *pExcepInfo,UINT *puArgErr);
  417. HRESULT (WINAPI *get_Module)(IMsmDependency *This,BSTR *Module);
  418. HRESULT (WINAPI *get_Language)(IMsmDependency *This,short *Language);
  419. HRESULT (WINAPI *get_Version)(IMsmDependency *This,BSTR *Version);
  420. END_INTERFACE
  421. } IMsmDependencyVtbl;
  422. struct IMsmDependency {
  423. CONST_VTBL struct IMsmDependencyVtbl *lpVtbl;
  424. };
  425. #ifdef COBJMACROS
  426. #define IMsmDependency_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject)
  427. #define IMsmDependency_AddRef(This) (This)->lpVtbl->AddRef(This)
  428. #define IMsmDependency_Release(This) (This)->lpVtbl->Release(This)
  429. #define IMsmDependency_GetTypeInfoCount(This,pctinfo) (This)->lpVtbl->GetTypeInfoCount(This,pctinfo)
  430. #define IMsmDependency_GetTypeInfo(This,iTInfo,lcid,ppTInfo) (This)->lpVtbl->GetTypeInfo(This,iTInfo,lcid,ppTInfo)
  431. #define IMsmDependency_GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId) (This)->lpVtbl->GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId)
  432. #define IMsmDependency_Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr) (This)->lpVtbl->Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr)
  433. #define IMsmDependency_get_Module(This,Module) (This)->lpVtbl->get_Module(This,Module)
  434. #define IMsmDependency_get_Language(This,Language) (This)->lpVtbl->get_Language(This,Language)
  435. #define IMsmDependency_get_Version(This,Version) (This)->lpVtbl->get_Version(This,Version)
  436. #endif
  437. #endif
  438. HRESULT WINAPI IMsmDependency_get_Module_Proxy(IMsmDependency *This,BSTR *Module);
  439. void __RPC_STUB IMsmDependency_get_Module_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
  440. HRESULT WINAPI IMsmDependency_get_Language_Proxy(IMsmDependency *This,short *Language);
  441. void __RPC_STUB IMsmDependency_get_Language_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
  442. HRESULT WINAPI IMsmDependency_get_Version_Proxy(IMsmDependency *This,BSTR *Version);
  443. void __RPC_STUB IMsmDependency_get_Version_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
  444. #endif
  445. #ifndef __IEnumMsmDependency_INTERFACE_DEFINED__
  446. #define __IEnumMsmDependency_INTERFACE_DEFINED__
  447. #if defined(__cplusplus) && !defined(CINTERFACE)
  448. struct IEnumMsmDependency : public IUnknown {
  449. public:
  450. virtual HRESULT WINAPI Next(unsigned __LONG32 cFetch,IMsmDependency **rgmsmDependencies,unsigned __LONG32 *pcFetched) = 0;
  451. virtual HRESULT WINAPI Skip(unsigned __LONG32 cSkip) = 0;
  452. virtual HRESULT WINAPI Reset(void) = 0;
  453. virtual HRESULT WINAPI Clone(IEnumMsmDependency **pemsmDependencies) = 0;
  454. };
  455. #else
  456. typedef struct IEnumMsmDependencyVtbl {
  457. BEGIN_INTERFACE
  458. HRESULT (WINAPI *QueryInterface)(IEnumMsmDependency *This,REFIID riid,void **ppvObject);
  459. ULONG (WINAPI *AddRef)(IEnumMsmDependency *This);
  460. ULONG (WINAPI *Release)(IEnumMsmDependency *This);
  461. HRESULT (WINAPI *Next)(IEnumMsmDependency *This,unsigned __LONG32 cFetch,IMsmDependency **rgmsmDependencies,unsigned __LONG32 *pcFetched);
  462. HRESULT (WINAPI *Skip)(IEnumMsmDependency *This,unsigned __LONG32 cSkip);
  463. HRESULT (WINAPI *Reset)(IEnumMsmDependency *This);
  464. HRESULT (WINAPI *Clone)(IEnumMsmDependency *This,IEnumMsmDependency **pemsmDependencies);
  465. END_INTERFACE
  466. } IEnumMsmDependencyVtbl;
  467. struct IEnumMsmDependency {
  468. CONST_VTBL struct IEnumMsmDependencyVtbl *lpVtbl;
  469. };
  470. #ifdef COBJMACROS
  471. #define IEnumMsmDependency_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject)
  472. #define IEnumMsmDependency_AddRef(This) (This)->lpVtbl->AddRef(This)
  473. #define IEnumMsmDependency_Release(This) (This)->lpVtbl->Release(This)
  474. #define IEnumMsmDependency_Next(This,cFetch,rgmsmDependencies,pcFetched) (This)->lpVtbl->Next(This,cFetch,rgmsmDependencies,pcFetched)
  475. #define IEnumMsmDependency_Skip(This,cSkip) (This)->lpVtbl->Skip(This,cSkip)
  476. #define IEnumMsmDependency_Reset(This) (This)->lpVtbl->Reset(This)
  477. #define IEnumMsmDependency_Clone(This,pemsmDependencies) (This)->lpVtbl->Clone(This,pemsmDependencies)
  478. #endif
  479. #endif
  480. HRESULT WINAPI IEnumMsmDependency_Next_Proxy(IEnumMsmDependency *This,unsigned __LONG32 cFetch,IMsmDependency **rgmsmDependencies,unsigned __LONG32 *pcFetched);
  481. void __RPC_STUB IEnumMsmDependency_Next_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
  482. HRESULT WINAPI IEnumMsmDependency_Skip_Proxy(IEnumMsmDependency *This,unsigned __LONG32 cSkip);
  483. void __RPC_STUB IEnumMsmDependency_Skip_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
  484. HRESULT WINAPI IEnumMsmDependency_Reset_Proxy(IEnumMsmDependency *This);
  485. void __RPC_STUB IEnumMsmDependency_Reset_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
  486. HRESULT WINAPI IEnumMsmDependency_Clone_Proxy(IEnumMsmDependency *This,IEnumMsmDependency **pemsmDependencies);
  487. void __RPC_STUB IEnumMsmDependency_Clone_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
  488. #endif
  489. #ifndef __IMsmDependencies_INTERFACE_DEFINED__
  490. #define __IMsmDependencies_INTERFACE_DEFINED__
  491. #if defined(__cplusplus) && !defined(CINTERFACE)
  492. struct IMsmDependencies : public IDispatch {
  493. public:
  494. virtual HRESULT WINAPI get_Item(__LONG32 Item,IMsmDependency **Return) = 0;
  495. virtual HRESULT WINAPI get_Count(__LONG32 *Count) = 0;
  496. virtual HRESULT WINAPI get__NewEnum(IUnknown **NewEnum) = 0;
  497. };
  498. #else
  499. typedef struct IMsmDependenciesVtbl {
  500. BEGIN_INTERFACE
  501. HRESULT (WINAPI *QueryInterface)(IMsmDependencies *This,REFIID riid,void **ppvObject);
  502. ULONG (WINAPI *AddRef)(IMsmDependencies *This);
  503. ULONG (WINAPI *Release)(IMsmDependencies *This);
  504. HRESULT (WINAPI *GetTypeInfoCount)(IMsmDependencies *This,UINT *pctinfo);
  505. HRESULT (WINAPI *GetTypeInfo)(IMsmDependencies *This,UINT iTInfo,LCID lcid,ITypeInfo **ppTInfo);
  506. HRESULT (WINAPI *GetIDsOfNames)(IMsmDependencies *This,REFIID riid,LPOLESTR *rgszNames,UINT cNames,LCID lcid,DISPID *rgDispId);
  507. HRESULT (WINAPI *Invoke)(IMsmDependencies *This,DISPID dispIdMember,REFIID riid,LCID lcid,WORD wFlags,DISPPARAMS *pDispParams,VARIANT *pVarResult,EXCEPINFO *pExcepInfo,UINT *puArgErr);
  508. HRESULT (WINAPI *get_Item)(IMsmDependencies *This,__LONG32 Item,IMsmDependency **Return);
  509. HRESULT (WINAPI *get_Count)(IMsmDependencies *This,__LONG32 *Count);
  510. HRESULT (WINAPI *get__NewEnum)(IMsmDependencies *This,IUnknown **NewEnum);
  511. END_INTERFACE
  512. } IMsmDependenciesVtbl;
  513. struct IMsmDependencies {
  514. CONST_VTBL struct IMsmDependenciesVtbl *lpVtbl;
  515. };
  516. #ifdef COBJMACROS
  517. #define IMsmDependencies_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject)
  518. #define IMsmDependencies_AddRef(This) (This)->lpVtbl->AddRef(This)
  519. #define IMsmDependencies_Release(This) (This)->lpVtbl->Release(This)
  520. #define IMsmDependencies_GetTypeInfoCount(This,pctinfo) (This)->lpVtbl->GetTypeInfoCount(This,pctinfo)
  521. #define IMsmDependencies_GetTypeInfo(This,iTInfo,lcid,ppTInfo) (This)->lpVtbl->GetTypeInfo(This,iTInfo,lcid,ppTInfo)
  522. #define IMsmDependencies_GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId) (This)->lpVtbl->GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId)
  523. #define IMsmDependencies_Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr) (This)->lpVtbl->Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr)
  524. #define IMsmDependencies_get_Item(This,Item,Return) (This)->lpVtbl->get_Item(This,Item,Return)
  525. #define IMsmDependencies_get_Count(This,Count) (This)->lpVtbl->get_Count(This,Count)
  526. #define IMsmDependencies_get__NewEnum(This,NewEnum) (This)->lpVtbl->get__NewEnum(This,NewEnum)
  527. #endif
  528. #endif
  529. HRESULT WINAPI IMsmDependencies_get_Item_Proxy(IMsmDependencies *This,__LONG32 Item,IMsmDependency **Return);
  530. void __RPC_STUB IMsmDependencies_get_Item_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
  531. HRESULT WINAPI IMsmDependencies_get_Count_Proxy(IMsmDependencies *This,__LONG32 *Count);
  532. void __RPC_STUB IMsmDependencies_get_Count_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
  533. HRESULT WINAPI IMsmDependencies_get__NewEnum_Proxy(IMsmDependencies *This,IUnknown **NewEnum);
  534. void __RPC_STUB IMsmDependencies_get__NewEnum_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
  535. #endif
  536. #if (_WIN32_MSM >= 150)
  537. #ifndef __IMsmConfigurableItem_INTERFACE_DEFINED__
  538. #define __IMsmConfigurableItem_INTERFACE_DEFINED__
  539. #if defined(__cplusplus) && !defined(CINTERFACE)
  540. struct IMsmConfigurableItem : public IDispatch {
  541. public:
  542. virtual HRESULT WINAPI get_Name(BSTR *Name) = 0;
  543. virtual HRESULT WINAPI get_Format(msmConfigurableItemFormat *Format) = 0;
  544. virtual HRESULT WINAPI get_Type(BSTR *Type) = 0;
  545. virtual HRESULT WINAPI get_Context(BSTR *Context) = 0;
  546. virtual HRESULT WINAPI get_DefaultValue(BSTR *DefaultValue) = 0;
  547. virtual HRESULT WINAPI get_Attributes(__LONG32 *Attributes) = 0;
  548. virtual HRESULT WINAPI get_DisplayName(BSTR *DisplayName) = 0;
  549. virtual HRESULT WINAPI get_Description(BSTR *Description) = 0;
  550. virtual HRESULT WINAPI get_HelpLocation(BSTR *HelpLocation) = 0;
  551. virtual HRESULT WINAPI get_HelpKeyword(BSTR *HelpKeyword) = 0;
  552. };
  553. #else
  554. typedef struct IMsmConfigurableItemVtbl {
  555. BEGIN_INTERFACE
  556. HRESULT (WINAPI *QueryInterface)(IMsmConfigurableItem *This,REFIID riid,void **ppvObject);
  557. ULONG (WINAPI *AddRef)(IMsmConfigurableItem *This);
  558. ULONG (WINAPI *Release)(IMsmConfigurableItem *This);
  559. HRESULT (WINAPI *GetTypeInfoCount)(IMsmConfigurableItem *This,UINT *pctinfo);
  560. HRESULT (WINAPI *GetTypeInfo)(IMsmConfigurableItem *This,UINT iTInfo,LCID lcid,ITypeInfo **ppTInfo);
  561. HRESULT (WINAPI *GetIDsOfNames)(IMsmConfigurableItem *This,REFIID riid,LPOLESTR *rgszNames,UINT cNames,LCID lcid,DISPID *rgDispId);
  562. HRESULT (WINAPI *Invoke)(IMsmConfigurableItem *This,DISPID dispIdMember,REFIID riid,LCID lcid,WORD wFlags,DISPPARAMS *pDispParams,VARIANT *pVarResult,EXCEPINFO *pExcepInfo,UINT *puArgErr);
  563. HRESULT (WINAPI *get_Name)(IMsmConfigurableItem *This,BSTR *Name);
  564. HRESULT (WINAPI *get_Format)(IMsmConfigurableItem *This,msmConfigurableItemFormat *Format);
  565. HRESULT (WINAPI *get_Type)(IMsmConfigurableItem *This,BSTR *Type);
  566. HRESULT (WINAPI *get_Context)(IMsmConfigurableItem *This,BSTR *Context);
  567. HRESULT (WINAPI *get_DefaultValue)(IMsmConfigurableItem *This,BSTR *DefaultValue);
  568. HRESULT (WINAPI *get_Attributes)(IMsmConfigurableItem *This,__LONG32 *Attributes);
  569. HRESULT (WINAPI *get_DisplayName)(IMsmConfigurableItem *This,BSTR *DisplayName);
  570. HRESULT (WINAPI *get_Description)(IMsmConfigurableItem *This,BSTR *Description);
  571. HRESULT (WINAPI *get_HelpLocation)(IMsmConfigurableItem *This,BSTR *HelpLocation);
  572. HRESULT (WINAPI *get_HelpKeyword)(IMsmConfigurableItem *This,BSTR *HelpKeyword);
  573. END_INTERFACE
  574. } IMsmConfigurableItemVtbl;
  575. struct IMsmConfigurableItem {
  576. CONST_VTBL struct IMsmConfigurableItemVtbl *lpVtbl;
  577. };
  578. #ifdef COBJMACROS
  579. #define IMsmConfigurableItem_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject)
  580. #define IMsmConfigurableItem_AddRef(This) (This)->lpVtbl->AddRef(This)
  581. #define IMsmConfigurableItem_Release(This) (This)->lpVtbl->Release(This)
  582. #define IMsmConfigurableItem_GetTypeInfoCount(This,pctinfo) (This)->lpVtbl->GetTypeInfoCount(This,pctinfo)
  583. #define IMsmConfigurableItem_GetTypeInfo(This,iTInfo,lcid,ppTInfo) (This)->lpVtbl->GetTypeInfo(This,iTInfo,lcid,ppTInfo)
  584. #define IMsmConfigurableItem_GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId) (This)->lpVtbl->GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId)
  585. #define IMsmConfigurableItem_Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr) (This)->lpVtbl->Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr)
  586. #define IMsmConfigurableItem_get_Name(This,Name) (This)->lpVtbl->get_Name(This,Name)
  587. #define IMsmConfigurableItem_get_Format(This,Format) (This)->lpVtbl->get_Format(This,Format)
  588. #define IMsmConfigurableItem_get_Type(This,Type) (This)->lpVtbl->get_Type(This,Type)
  589. #define IMsmConfigurableItem_get_Context(This,Context) (This)->lpVtbl->get_Context(This,Context)
  590. #define IMsmConfigurableItem_get_DefaultValue(This,DefaultValue) (This)->lpVtbl->get_DefaultValue(This,DefaultValue)
  591. #define IMsmConfigurableItem_get_Attributes(This,Attributes) (This)->lpVtbl->get_Attributes(This,Attributes)
  592. #define IMsmConfigurableItem_get_DisplayName(This,DisplayName) (This)->lpVtbl->get_DisplayName(This,DisplayName)
  593. #define IMsmConfigurableItem_get_Description(This,Description) (This)->lpVtbl->get_Description(This,Description)
  594. #define IMsmConfigurableItem_get_HelpLocation(This,HelpLocation) (This)->lpVtbl->get_HelpLocation(This,HelpLocation)
  595. #define IMsmConfigurableItem_get_HelpKeyword(This,HelpKeyword) (This)->lpVtbl->get_HelpKeyword(This,HelpKeyword)
  596. #endif
  597. #endif
  598. HRESULT WINAPI IMsmConfigurableItem_get_Name_Proxy(IMsmConfigurableItem *This,BSTR *Name);
  599. void __RPC_STUB IMsmConfigurableItem_get_Name_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
  600. HRESULT WINAPI IMsmConfigurableItem_get_Format_Proxy(IMsmConfigurableItem *This,msmConfigurableItemFormat *Format);
  601. void __RPC_STUB IMsmConfigurableItem_get_Format_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
  602. HRESULT WINAPI IMsmConfigurableItem_get_Type_Proxy(IMsmConfigurableItem *This,BSTR *Type);
  603. void __RPC_STUB IMsmConfigurableItem_get_Type_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
  604. HRESULT WINAPI IMsmConfigurableItem_get_Context_Proxy(IMsmConfigurableItem *This,BSTR *Context);
  605. void __RPC_STUB IMsmConfigurableItem_get_Context_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
  606. HRESULT WINAPI IMsmConfigurableItem_get_DefaultValue_Proxy(IMsmConfigurableItem *This,BSTR *DefaultValue);
  607. void __RPC_STUB IMsmConfigurableItem_get_DefaultValue_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
  608. HRESULT WINAPI IMsmConfigurableItem_get_Attributes_Proxy(IMsmConfigurableItem *This,__LONG32 *Attributes);
  609. void __RPC_STUB IMsmConfigurableItem_get_Attributes_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
  610. HRESULT WINAPI IMsmConfigurableItem_get_DisplayName_Proxy(IMsmConfigurableItem *This,BSTR *DisplayName);
  611. void __RPC_STUB IMsmConfigurableItem_get_DisplayName_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
  612. HRESULT WINAPI IMsmConfigurableItem_get_Description_Proxy(IMsmConfigurableItem *This,BSTR *Description);
  613. void __RPC_STUB IMsmConfigurableItem_get_Description_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
  614. HRESULT WINAPI IMsmConfigurableItem_get_HelpLocation_Proxy(IMsmConfigurableItem *This,BSTR *HelpLocation);
  615. void __RPC_STUB IMsmConfigurableItem_get_HelpLocation_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
  616. HRESULT WINAPI IMsmConfigurableItem_get_HelpKeyword_Proxy(IMsmConfigurableItem *This,BSTR *HelpKeyword);
  617. void __RPC_STUB IMsmConfigurableItem_get_HelpKeyword_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
  618. #endif
  619. #ifndef __IEnumMsmConfigurableItem_INTERFACE_DEFINED__
  620. #define __IEnumMsmConfigurableItem_INTERFACE_DEFINED__
  621. #if defined(__cplusplus) && !defined(CINTERFACE)
  622. struct IEnumMsmConfigurableItem : public IUnknown {
  623. public:
  624. virtual HRESULT WINAPI Next(unsigned __LONG32 cFetch,IMsmConfigurableItem **rgmsmItems,unsigned __LONG32 *pcFetched) = 0;
  625. virtual HRESULT WINAPI Skip(unsigned __LONG32 cSkip) = 0;
  626. virtual HRESULT WINAPI Reset(void) = 0;
  627. virtual HRESULT WINAPI Clone(IEnumMsmConfigurableItem **pemsmConfigurableItem) = 0;
  628. };
  629. #else
  630. typedef struct IEnumMsmConfigurableItemVtbl {
  631. BEGIN_INTERFACE
  632. HRESULT (WINAPI *QueryInterface)(IEnumMsmConfigurableItem *This,REFIID riid,void **ppvObject);
  633. ULONG (WINAPI *AddRef)(IEnumMsmConfigurableItem *This);
  634. ULONG (WINAPI *Release)(IEnumMsmConfigurableItem *This);
  635. HRESULT (WINAPI *Next)(IEnumMsmConfigurableItem *This,unsigned __LONG32 cFetch,IMsmConfigurableItem **rgmsmItems,unsigned __LONG32 *pcFetched);
  636. HRESULT (WINAPI *Skip)(IEnumMsmConfigurableItem *This,unsigned __LONG32 cSkip);
  637. HRESULT (WINAPI *Reset)(IEnumMsmConfigurableItem *This);
  638. HRESULT (WINAPI *Clone)(IEnumMsmConfigurableItem *This,IEnumMsmConfigurableItem **pemsmConfigurableItem);
  639. END_INTERFACE
  640. } IEnumMsmConfigurableItemVtbl;
  641. struct IEnumMsmConfigurableItem {
  642. CONST_VTBL struct IEnumMsmConfigurableItemVtbl *lpVtbl;
  643. };
  644. #ifdef COBJMACROS
  645. #define IEnumMsmConfigurableItem_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject)
  646. #define IEnumMsmConfigurableItem_AddRef(This) (This)->lpVtbl->AddRef(This)
  647. #define IEnumMsmConfigurableItem_Release(This) (This)->lpVtbl->Release(This)
  648. #define IEnumMsmConfigurableItem_Next(This,cFetch,rgmsmItems,pcFetched) (This)->lpVtbl->Next(This,cFetch,rgmsmItems,pcFetched)
  649. #define IEnumMsmConfigurableItem_Skip(This,cSkip) (This)->lpVtbl->Skip(This,cSkip)
  650. #define IEnumMsmConfigurableItem_Reset(This) (This)->lpVtbl->Reset(This)
  651. #define IEnumMsmConfigurableItem_Clone(This,pemsmConfigurableItem) (This)->lpVtbl->Clone(This,pemsmConfigurableItem)
  652. #endif
  653. #endif
  654. HRESULT WINAPI IEnumMsmConfigurableItem_Next_Proxy(IEnumMsmConfigurableItem *This,unsigned __LONG32 cFetch,IMsmConfigurableItem **rgmsmItems,unsigned __LONG32 *pcFetched);
  655. void __RPC_STUB IEnumMsmConfigurableItem_Next_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
  656. HRESULT WINAPI IEnumMsmConfigurableItem_Skip_Proxy(IEnumMsmConfigurableItem *This,unsigned __LONG32 cSkip);
  657. void __RPC_STUB IEnumMsmConfigurableItem_Skip_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
  658. HRESULT WINAPI IEnumMsmConfigurableItem_Reset_Proxy(IEnumMsmConfigurableItem *This);
  659. void __RPC_STUB IEnumMsmConfigurableItem_Reset_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
  660. HRESULT WINAPI IEnumMsmConfigurableItem_Clone_Proxy(IEnumMsmConfigurableItem *This,IEnumMsmConfigurableItem **pemsmConfigurableItem);
  661. void __RPC_STUB IEnumMsmConfigurableItem_Clone_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
  662. #endif
  663. #ifndef __IMsmConfigurableItems_INTERFACE_DEFINED__
  664. #define __IMsmConfigurableItems_INTERFACE_DEFINED__
  665. #if defined(__cplusplus) && !defined(CINTERFACE)
  666. struct IMsmConfigurableItems : public IDispatch {
  667. public:
  668. virtual HRESULT WINAPI get_Item(__LONG32 Item,IMsmConfigurableItem **Return) = 0;
  669. virtual HRESULT WINAPI get_Count(__LONG32 *Count) = 0;
  670. virtual HRESULT WINAPI get__NewEnum(IUnknown **NewEnum) = 0;
  671. };
  672. #else
  673. typedef struct IMsmConfigurableItemsVtbl {
  674. BEGIN_INTERFACE
  675. HRESULT (WINAPI *QueryInterface)(IMsmConfigurableItems *This,REFIID riid,void **ppvObject);
  676. ULONG (WINAPI *AddRef)(IMsmConfigurableItems *This);
  677. ULONG (WINAPI *Release)(IMsmConfigurableItems *This);
  678. HRESULT (WINAPI *GetTypeInfoCount)(IMsmConfigurableItems *This,UINT *pctinfo);
  679. HRESULT (WINAPI *GetTypeInfo)(IMsmConfigurableItems *This,UINT iTInfo,LCID lcid,ITypeInfo **ppTInfo);
  680. HRESULT (WINAPI *GetIDsOfNames)(IMsmConfigurableItems *This,REFIID riid,LPOLESTR *rgszNames,UINT cNames,LCID lcid,DISPID *rgDispId);
  681. HRESULT (WINAPI *Invoke)(IMsmConfigurableItems *This,DISPID dispIdMember,REFIID riid,LCID lcid,WORD wFlags,DISPPARAMS *pDispParams,VARIANT *pVarResult,EXCEPINFO *pExcepInfo,UINT *puArgErr);
  682. HRESULT (WINAPI *get_Item)(IMsmConfigurableItems *This,__LONG32 Item,IMsmConfigurableItem **Return);
  683. HRESULT (WINAPI *get_Count)(IMsmConfigurableItems *This,__LONG32 *Count);
  684. HRESULT (WINAPI *get__NewEnum)(IMsmConfigurableItems *This,IUnknown **NewEnum);
  685. END_INTERFACE
  686. } IMsmConfigurableItemsVtbl;
  687. struct IMsmConfigurableItems {
  688. CONST_VTBL struct IMsmConfigurableItemsVtbl *lpVtbl;
  689. };
  690. #ifdef COBJMACROS
  691. #define IMsmConfigurableItems_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject)
  692. #define IMsmConfigurableItems_AddRef(This) (This)->lpVtbl->AddRef(This)
  693. #define IMsmConfigurableItems_Release(This) (This)->lpVtbl->Release(This)
  694. #define IMsmConfigurableItems_GetTypeInfoCount(This,pctinfo) (This)->lpVtbl->GetTypeInfoCount(This,pctinfo)
  695. #define IMsmConfigurableItems_GetTypeInfo(This,iTInfo,lcid,ppTInfo) (This)->lpVtbl->GetTypeInfo(This,iTInfo,lcid,ppTInfo)
  696. #define IMsmConfigurableItems_GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId) (This)->lpVtbl->GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId)
  697. #define IMsmConfigurableItems_Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr) (This)->lpVtbl->Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr)
  698. #define IMsmConfigurableItems_get_Item(This,Item,Return) (This)->lpVtbl->get_Item(This,Item,Return)
  699. #define IMsmConfigurableItems_get_Count(This,Count) (This)->lpVtbl->get_Count(This,Count)
  700. #define IMsmConfigurableItems_get__NewEnum(This,NewEnum) (This)->lpVtbl->get__NewEnum(This,NewEnum)
  701. #endif
  702. #endif
  703. HRESULT WINAPI IMsmConfigurableItems_get_Item_Proxy(IMsmConfigurableItems *This,__LONG32 Item,IMsmConfigurableItem **Return);
  704. void __RPC_STUB IMsmConfigurableItems_get_Item_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
  705. HRESULT WINAPI IMsmConfigurableItems_get_Count_Proxy(IMsmConfigurableItems *This,__LONG32 *Count);
  706. void __RPC_STUB IMsmConfigurableItems_get_Count_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
  707. HRESULT WINAPI IMsmConfigurableItems_get__NewEnum_Proxy(IMsmConfigurableItems *This,IUnknown **NewEnum);
  708. void __RPC_STUB IMsmConfigurableItems_get__NewEnum_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
  709. #endif
  710. #ifndef __IMsmConfigureModule_INTERFACE_DEFINED__
  711. #define __IMsmConfigureModule_INTERFACE_DEFINED__
  712. #if defined(__cplusplus) && !defined(CINTERFACE)
  713. struct IMsmConfigureModule : public IDispatch {
  714. public:
  715. virtual HRESULT WINAPI ProvideTextData(const BSTR Name,BSTR *ConfigData) = 0;
  716. virtual HRESULT WINAPI ProvideIntegerData(const BSTR Name,__LONG32 *ConfigData) = 0;
  717. };
  718. #else
  719. typedef struct IMsmConfigureModuleVtbl {
  720. BEGIN_INTERFACE
  721. HRESULT (WINAPI *QueryInterface)(IMsmConfigureModule *This,REFIID riid,void **ppvObject);
  722. ULONG (WINAPI *AddRef)(IMsmConfigureModule *This);
  723. ULONG (WINAPI *Release)(IMsmConfigureModule *This);
  724. HRESULT (WINAPI *GetTypeInfoCount)(IMsmConfigureModule *This,UINT *pctinfo);
  725. HRESULT (WINAPI *GetTypeInfo)(IMsmConfigureModule *This,UINT iTInfo,LCID lcid,ITypeInfo **ppTInfo);
  726. HRESULT (WINAPI *GetIDsOfNames)(IMsmConfigureModule *This,REFIID riid,LPOLESTR *rgszNames,UINT cNames,LCID lcid,DISPID *rgDispId);
  727. HRESULT (WINAPI *Invoke)(IMsmConfigureModule *This,DISPID dispIdMember,REFIID riid,LCID lcid,WORD wFlags,DISPPARAMS *pDispParams,VARIANT *pVarResult,EXCEPINFO *pExcepInfo,UINT *puArgErr);
  728. HRESULT (WINAPI *ProvideTextData)(IMsmConfigureModule *This,const BSTR Name,BSTR *ConfigData);
  729. HRESULT (WINAPI *ProvideIntegerData)(IMsmConfigureModule *This,const BSTR Name,__LONG32 *ConfigData);
  730. END_INTERFACE
  731. } IMsmConfigureModuleVtbl;
  732. struct IMsmConfigureModule {
  733. CONST_VTBL struct IMsmConfigureModuleVtbl *lpVtbl;
  734. };
  735. #ifdef COBJMACROS
  736. #define IMsmConfigureModule_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject)
  737. #define IMsmConfigureModule_AddRef(This) (This)->lpVtbl->AddRef(This)
  738. #define IMsmConfigureModule_Release(This) (This)->lpVtbl->Release(This)
  739. #define IMsmConfigureModule_GetTypeInfoCount(This,pctinfo) (This)->lpVtbl->GetTypeInfoCount(This,pctinfo)
  740. #define IMsmConfigureModule_GetTypeInfo(This,iTInfo,lcid,ppTInfo) (This)->lpVtbl->GetTypeInfo(This,iTInfo,lcid,ppTInfo)
  741. #define IMsmConfigureModule_GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId) (This)->lpVtbl->GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId)
  742. #define IMsmConfigureModule_Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr) (This)->lpVtbl->Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr)
  743. #define IMsmConfigureModule_ProvideTextData(This,Name,ConfigData) (This)->lpVtbl->ProvideTextData(This,Name,ConfigData)
  744. #define IMsmConfigureModule_ProvideIntegerData(This,Name,ConfigData) (This)->lpVtbl->ProvideIntegerData(This,Name,ConfigData)
  745. #endif
  746. #endif
  747. HRESULT WINAPI IMsmConfigureModule_ProvideTextData_Proxy(IMsmConfigureModule *This,const BSTR Name,BSTR *ConfigData);
  748. void __RPC_STUB IMsmConfigureModule_ProvideTextData_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
  749. HRESULT WINAPI IMsmConfigureModule_ProvideIntegerData_Proxy(IMsmConfigureModule *This,const BSTR Name,__LONG32 *ConfigData);
  750. void __RPC_STUB IMsmConfigureModule_ProvideIntegerData_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
  751. #endif
  752. #endif
  753. #ifndef __IMsmMerge_INTERFACE_DEFINED__
  754. #define __IMsmMerge_INTERFACE_DEFINED__
  755. #if defined(__cplusplus) && !defined(CINTERFACE)
  756. struct IMsmMerge : public IDispatch {
  757. public:
  758. virtual HRESULT WINAPI OpenDatabase(const BSTR Path) = 0;
  759. virtual HRESULT WINAPI OpenModule(const BSTR Path,const short Language) = 0;
  760. virtual HRESULT WINAPI CloseDatabase(const VARIANT_BOOL Commit) = 0;
  761. virtual HRESULT WINAPI CloseModule(void) = 0;
  762. virtual HRESULT WINAPI OpenLog(const BSTR Path) = 0;
  763. virtual HRESULT WINAPI CloseLog(void) = 0;
  764. virtual HRESULT WINAPI Log(const BSTR Message) = 0;
  765. virtual HRESULT WINAPI get_Errors(IMsmErrors **Errors) = 0;
  766. virtual HRESULT WINAPI get_Dependencies(IMsmDependencies **Dependencies) = 0;
  767. virtual HRESULT WINAPI Merge(const BSTR Feature,const BSTR RedirectDir) = 0;
  768. virtual HRESULT WINAPI Connect(const BSTR Feature) = 0;
  769. virtual HRESULT WINAPI ExtractCAB(const BSTR FileName) = 0;
  770. virtual HRESULT WINAPI ExtractFiles(const BSTR Path) = 0;
  771. };
  772. #else
  773. typedef struct IMsmMergeVtbl {
  774. BEGIN_INTERFACE
  775. HRESULT (WINAPI *QueryInterface)(IMsmMerge *This,REFIID riid,void **ppvObject);
  776. ULONG (WINAPI *AddRef)(IMsmMerge *This);
  777. ULONG (WINAPI *Release)(IMsmMerge *This);
  778. HRESULT (WINAPI *GetTypeInfoCount)(IMsmMerge *This,UINT *pctinfo);
  779. HRESULT (WINAPI *GetTypeInfo)(IMsmMerge *This,UINT iTInfo,LCID lcid,ITypeInfo **ppTInfo);
  780. HRESULT (WINAPI *GetIDsOfNames)(IMsmMerge *This,REFIID riid,LPOLESTR *rgszNames,UINT cNames,LCID lcid,DISPID *rgDispId);
  781. HRESULT (WINAPI *Invoke)(IMsmMerge *This,DISPID dispIdMember,REFIID riid,LCID lcid,WORD wFlags,DISPPARAMS *pDispParams,VARIANT *pVarResult,EXCEPINFO *pExcepInfo,UINT *puArgErr);
  782. HRESULT (WINAPI *OpenDatabase)(IMsmMerge *This,const BSTR Path);
  783. HRESULT (WINAPI *OpenModule)(IMsmMerge *This,const BSTR Path,const short Language);
  784. HRESULT (WINAPI *CloseDatabase)(IMsmMerge *This,const VARIANT_BOOL Commit);
  785. HRESULT (WINAPI *CloseModule)(IMsmMerge *This);
  786. HRESULT (WINAPI *OpenLog)(IMsmMerge *This,const BSTR Path);
  787. HRESULT (WINAPI *CloseLog)(IMsmMerge *This);
  788. HRESULT (WINAPI *Log)(IMsmMerge *This,const BSTR Message);
  789. HRESULT (WINAPI *get_Errors)(IMsmMerge *This,IMsmErrors **Errors);
  790. HRESULT (WINAPI *get_Dependencies)(IMsmMerge *This,IMsmDependencies **Dependencies);
  791. HRESULT (WINAPI *Merge)(IMsmMerge *This,const BSTR Feature,const BSTR RedirectDir);
  792. HRESULT (WINAPI *Connect)(IMsmMerge *This,const BSTR Feature);
  793. HRESULT (WINAPI *ExtractCAB)(IMsmMerge *This,const BSTR FileName);
  794. HRESULT (WINAPI *ExtractFiles)(IMsmMerge *This,const BSTR Path);
  795. END_INTERFACE
  796. } IMsmMergeVtbl;
  797. struct IMsmMerge {
  798. CONST_VTBL struct IMsmMergeVtbl *lpVtbl;
  799. };
  800. #ifdef COBJMACROS
  801. #define IMsmMerge_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject)
  802. #define IMsmMerge_AddRef(This) (This)->lpVtbl->AddRef(This)
  803. #define IMsmMerge_Release(This) (This)->lpVtbl->Release(This)
  804. #define IMsmMerge_GetTypeInfoCount(This,pctinfo) (This)->lpVtbl->GetTypeInfoCount(This,pctinfo)
  805. #define IMsmMerge_GetTypeInfo(This,iTInfo,lcid,ppTInfo) (This)->lpVtbl->GetTypeInfo(This,iTInfo,lcid,ppTInfo)
  806. #define IMsmMerge_GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId) (This)->lpVtbl->GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId)
  807. #define IMsmMerge_Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr) (This)->lpVtbl->Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr)
  808. #define IMsmMerge_OpenDatabase(This,Path) (This)->lpVtbl->OpenDatabase(This,Path)
  809. #define IMsmMerge_OpenModule(This,Path,Language) (This)->lpVtbl->OpenModule(This,Path,Language)
  810. #define IMsmMerge_CloseDatabase(This,Commit) (This)->lpVtbl->CloseDatabase(This,Commit)
  811. #define IMsmMerge_CloseModule(This) (This)->lpVtbl->CloseModule(This)
  812. #define IMsmMerge_OpenLog(This,Path) (This)->lpVtbl->OpenLog(This,Path)
  813. #define IMsmMerge_CloseLog(This) (This)->lpVtbl->CloseLog(This)
  814. #define IMsmMerge_Log(This,Message) (This)->lpVtbl->Log(This,Message)
  815. #define IMsmMerge_get_Errors(This,Errors) (This)->lpVtbl->get_Errors(This,Errors)
  816. #define IMsmMerge_get_Dependencies(This,Dependencies) (This)->lpVtbl->get_Dependencies(This,Dependencies)
  817. #define IMsmMerge_Merge(This,Feature,RedirectDir) (This)->lpVtbl->Merge(This,Feature,RedirectDir)
  818. #define IMsmMerge_Connect(This,Feature) (This)->lpVtbl->Connect(This,Feature)
  819. #define IMsmMerge_ExtractCAB(This,FileName) (This)->lpVtbl->ExtractCAB(This,FileName)
  820. #define IMsmMerge_ExtractFiles(This,Path) (This)->lpVtbl->ExtractFiles(This,Path)
  821. #endif
  822. #endif
  823. HRESULT WINAPI IMsmMerge_OpenDatabase_Proxy(IMsmMerge *This,const BSTR Path);
  824. void __RPC_STUB IMsmMerge_OpenDatabase_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
  825. HRESULT WINAPI IMsmMerge_OpenModule_Proxy(IMsmMerge *This,const BSTR Path,const short Language);
  826. void __RPC_STUB IMsmMerge_OpenModule_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
  827. HRESULT WINAPI IMsmMerge_CloseDatabase_Proxy(IMsmMerge *This,const VARIANT_BOOL Commit);
  828. void __RPC_STUB IMsmMerge_CloseDatabase_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
  829. HRESULT WINAPI IMsmMerge_CloseModule_Proxy(IMsmMerge *This);
  830. void __RPC_STUB IMsmMerge_CloseModule_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
  831. HRESULT WINAPI IMsmMerge_OpenLog_Proxy(IMsmMerge *This,const BSTR Path);
  832. void __RPC_STUB IMsmMerge_OpenLog_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
  833. HRESULT WINAPI IMsmMerge_CloseLog_Proxy(IMsmMerge *This);
  834. void __RPC_STUB IMsmMerge_CloseLog_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
  835. HRESULT WINAPI IMsmMerge_Log_Proxy(IMsmMerge *This,const BSTR Message);
  836. void __RPC_STUB IMsmMerge_Log_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
  837. HRESULT WINAPI IMsmMerge_get_Errors_Proxy(IMsmMerge *This,IMsmErrors **Errors);
  838. void __RPC_STUB IMsmMerge_get_Errors_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
  839. HRESULT WINAPI IMsmMerge_get_Dependencies_Proxy(IMsmMerge *This,IMsmDependencies **Dependencies);
  840. void __RPC_STUB IMsmMerge_get_Dependencies_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
  841. HRESULT WINAPI IMsmMerge_Merge_Proxy(IMsmMerge *This,const BSTR Feature,const BSTR RedirectDir);
  842. void __RPC_STUB IMsmMerge_Merge_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
  843. HRESULT WINAPI IMsmMerge_Connect_Proxy(IMsmMerge *This,const BSTR Feature);
  844. void __RPC_STUB IMsmMerge_Connect_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
  845. HRESULT WINAPI IMsmMerge_ExtractCAB_Proxy(IMsmMerge *This,const BSTR FileName);
  846. void __RPC_STUB IMsmMerge_ExtractCAB_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
  847. HRESULT WINAPI IMsmMerge_ExtractFiles_Proxy(IMsmMerge *This,const BSTR Path);
  848. void __RPC_STUB IMsmMerge_ExtractFiles_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
  849. #endif
  850. #ifndef __IMsmGetFiles_INTERFACE_DEFINED__
  851. #define __IMsmGetFiles_INTERFACE_DEFINED__
  852. #if defined(__cplusplus) && !defined(CINTERFACE)
  853. struct IMsmGetFiles : public IDispatch {
  854. public:
  855. virtual HRESULT WINAPI get_ModuleFiles(IMsmStrings **Files) = 0;
  856. };
  857. #else
  858. typedef struct IMsmGetFilesVtbl {
  859. BEGIN_INTERFACE
  860. HRESULT (WINAPI *QueryInterface)(IMsmGetFiles *This,REFIID riid,void **ppvObject);
  861. ULONG (WINAPI *AddRef)(IMsmGetFiles *This);
  862. ULONG (WINAPI *Release)(IMsmGetFiles *This);
  863. HRESULT (WINAPI *GetTypeInfoCount)(IMsmGetFiles *This,UINT *pctinfo);
  864. HRESULT (WINAPI *GetTypeInfo)(IMsmGetFiles *This,UINT iTInfo,LCID lcid,ITypeInfo **ppTInfo);
  865. HRESULT (WINAPI *GetIDsOfNames)(IMsmGetFiles *This,REFIID riid,LPOLESTR *rgszNames,UINT cNames,LCID lcid,DISPID *rgDispId);
  866. HRESULT (WINAPI *Invoke)(IMsmGetFiles *This,DISPID dispIdMember,REFIID riid,LCID lcid,WORD wFlags,DISPPARAMS *pDispParams,VARIANT *pVarResult,EXCEPINFO *pExcepInfo,UINT *puArgErr);
  867. HRESULT (WINAPI *get_ModuleFiles)(IMsmGetFiles *This,IMsmStrings **Files);
  868. END_INTERFACE
  869. } IMsmGetFilesVtbl;
  870. struct IMsmGetFiles {
  871. CONST_VTBL struct IMsmGetFilesVtbl *lpVtbl;
  872. };
  873. #ifdef COBJMACROS
  874. #define IMsmGetFiles_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject)
  875. #define IMsmGetFiles_AddRef(This) (This)->lpVtbl->AddRef(This)
  876. #define IMsmGetFiles_Release(This) (This)->lpVtbl->Release(This)
  877. #define IMsmGetFiles_GetTypeInfoCount(This,pctinfo) (This)->lpVtbl->GetTypeInfoCount(This,pctinfo)
  878. #define IMsmGetFiles_GetTypeInfo(This,iTInfo,lcid,ppTInfo) (This)->lpVtbl->GetTypeInfo(This,iTInfo,lcid,ppTInfo)
  879. #define IMsmGetFiles_GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId) (This)->lpVtbl->GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId)
  880. #define IMsmGetFiles_Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr) (This)->lpVtbl->Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr)
  881. #define IMsmGetFiles_get_ModuleFiles(This,Files) (This)->lpVtbl->get_ModuleFiles(This,Files)
  882. #endif
  883. #endif
  884. HRESULT WINAPI IMsmGetFiles_get_ModuleFiles_Proxy(IMsmGetFiles *This,IMsmStrings **Files);
  885. void __RPC_STUB IMsmGetFiles_get_ModuleFiles_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
  886. #endif
  887. #if (_WIN32_MSM >= 150)
  888. #ifndef __IMsmMerge2_INTERFACE_DEFINED__
  889. #define __IMsmMerge2_INTERFACE_DEFINED__
  890. #if defined(__cplusplus) && !defined(CINTERFACE)
  891. struct IMsmMerge2 : public IDispatch {
  892. public:
  893. virtual HRESULT WINAPI OpenDatabase(const BSTR Path) = 0;
  894. virtual HRESULT WINAPI OpenModule(const BSTR Path,const short Language) = 0;
  895. virtual HRESULT WINAPI CloseDatabase(const VARIANT_BOOL Commit) = 0;
  896. virtual HRESULT WINAPI CloseModule(void) = 0;
  897. virtual HRESULT WINAPI OpenLog(const BSTR Path) = 0;
  898. virtual HRESULT WINAPI CloseLog(void) = 0;
  899. virtual HRESULT WINAPI Log(const BSTR Message) = 0;
  900. virtual HRESULT WINAPI get_Errors(IMsmErrors **Errors) = 0;
  901. virtual HRESULT WINAPI get_Dependencies(IMsmDependencies **Dependencies) = 0;
  902. virtual HRESULT WINAPI Merge(const BSTR Feature,const BSTR RedirectDir) = 0;
  903. virtual HRESULT WINAPI Connect(const BSTR Feature) = 0;
  904. virtual HRESULT WINAPI ExtractCAB(const BSTR FileName) = 0;
  905. virtual HRESULT WINAPI ExtractFiles(const BSTR Path) = 0;
  906. virtual HRESULT WINAPI MergeEx(const BSTR Feature,const BSTR RedirectDir,IUnknown *pConfiguration) = 0;
  907. virtual HRESULT WINAPI ExtractFilesEx(const BSTR Path,VARIANT_BOOL fLongFileNames,IMsmStrings **pFilePaths) = 0;
  908. virtual HRESULT WINAPI get_ConfigurableItems(IMsmConfigurableItems **ConfigurableItems) = 0;
  909. virtual HRESULT WINAPI CreateSourceImage(const BSTR Path,VARIANT_BOOL fLongFileNames,IMsmStrings **pFilePaths) = 0;
  910. virtual HRESULT WINAPI get_ModuleFiles(IMsmStrings **Files) = 0;
  911. };
  912. #else
  913. typedef struct IMsmMerge2Vtbl {
  914. BEGIN_INTERFACE
  915. HRESULT (WINAPI *QueryInterface)(IMsmMerge2 *This,REFIID riid,void **ppvObject);
  916. ULONG (WINAPI *AddRef)(IMsmMerge2 *This);
  917. ULONG (WINAPI *Release)(IMsmMerge2 *This);
  918. HRESULT (WINAPI *GetTypeInfoCount)(IMsmMerge2 *This,UINT *pctinfo);
  919. HRESULT (WINAPI *GetTypeInfo)(IMsmMerge2 *This,UINT iTInfo,LCID lcid,ITypeInfo **ppTInfo);
  920. HRESULT (WINAPI *GetIDsOfNames)(IMsmMerge2 *This,REFIID riid,LPOLESTR *rgszNames,UINT cNames,LCID lcid,DISPID *rgDispId);
  921. HRESULT (WINAPI *Invoke)(IMsmMerge2 *This,DISPID dispIdMember,REFIID riid,LCID lcid,WORD wFlags,DISPPARAMS *pDispParams,VARIANT *pVarResult,EXCEPINFO *pExcepInfo,UINT *puArgErr);
  922. HRESULT (WINAPI *OpenDatabase)(IMsmMerge2 *This,const BSTR Path);
  923. HRESULT (WINAPI *OpenModule)(IMsmMerge2 *This,const BSTR Path,const short Language);
  924. HRESULT (WINAPI *CloseDatabase)(IMsmMerge2 *This,const VARIANT_BOOL Commit);
  925. HRESULT (WINAPI *CloseModule)(IMsmMerge2 *This);
  926. HRESULT (WINAPI *OpenLog)(IMsmMerge2 *This,const BSTR Path);
  927. HRESULT (WINAPI *CloseLog)(IMsmMerge2 *This);
  928. HRESULT (WINAPI *Log)(IMsmMerge2 *This,const BSTR Message);
  929. HRESULT (WINAPI *get_Errors)(IMsmMerge2 *This,IMsmErrors **Errors);
  930. HRESULT (WINAPI *get_Dependencies)(IMsmMerge2 *This,IMsmDependencies **Dependencies);
  931. HRESULT (WINAPI *Merge)(IMsmMerge2 *This,const BSTR Feature,const BSTR RedirectDir);
  932. HRESULT (WINAPI *Connect)(IMsmMerge2 *This,const BSTR Feature);
  933. HRESULT (WINAPI *ExtractCAB)(IMsmMerge2 *This,const BSTR FileName);
  934. HRESULT (WINAPI *ExtractFiles)(IMsmMerge2 *This,const BSTR Path);
  935. HRESULT (WINAPI *MergeEx)(IMsmMerge2 *This,const BSTR Feature,const BSTR RedirectDir,IMsmConfigureModule *pConfiguration);
  936. HRESULT (WINAPI *ExtractFilesEx)(IMsmMerge2 *This,const BSTR Path,VARIANT_BOOL fLongFileNames,IMsmStrings **pFilePaths);
  937. HRESULT (WINAPI *get_ConfigurableItems)(IMsmMerge2 *This,IMsmConfigurableItems **ConfigurableItems);
  938. HRESULT (WINAPI *CreateSourceImage)(IMsmMerge2 *This,const BSTR Path,VARIANT_BOOL fLongFileNames,IMsmStrings **pFilePaths);
  939. HRESULT (WINAPI *get_ModuleFiles)(IMsmMerge2 *This,IMsmStrings **Files);
  940. END_INTERFACE
  941. } IMsmMerge2Vtbl;
  942. struct IMsmMerge2 {
  943. CONST_VTBL struct IMsmMerge2Vtbl *lpVtbl;
  944. };
  945. #ifdef COBJMACROS
  946. #define IMsmMerge2_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject)
  947. #define IMsmMerge2_AddRef(This) (This)->lpVtbl->AddRef(This)
  948. #define IMsmMerge2_Release(This) (This)->lpVtbl->Release(This)
  949. #define IMsmMerge2_GetTypeInfoCount(This,pctinfo) (This)->lpVtbl->GetTypeInfoCount(This,pctinfo)
  950. #define IMsmMerge2_GetTypeInfo(This,iTInfo,lcid,ppTInfo) (This)->lpVtbl->GetTypeInfo(This,iTInfo,lcid,ppTInfo)
  951. #define IMsmMerge2_GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId) (This)->lpVtbl->GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId)
  952. #define IMsmMerge2_Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr) (This)->lpVtbl->Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr)
  953. #define IMsmMerge2_OpenDatabase(This,Path) (This)->lpVtbl->OpenDatabase(This,Path)
  954. #define IMsmMerge2_OpenModule(This,Path,Language) (This)->lpVtbl->OpenModule(This,Path,Language)
  955. #define IMsmMerge2_CloseDatabase(This,Commit) (This)->lpVtbl->CloseDatabase(This,Commit)
  956. #define IMsmMerge2_CloseModule(This) (This)->lpVtbl->CloseModule(This)
  957. #define IMsmMerge2_OpenLog(This,Path) (This)->lpVtbl->OpenLog(This,Path)
  958. #define IMsmMerge2_CloseLog(This) (This)->lpVtbl->CloseLog(This)
  959. #define IMsmMerge2_Log(This,Message) (This)->lpVtbl->Log(This,Message)
  960. #define IMsmMerge2_get_Errors(This,Errors) (This)->lpVtbl->get_Errors(This,Errors)
  961. #define IMsmMerge2_get_Dependencies(This,Dependencies) (This)->lpVtbl->get_Dependencies(This,Dependencies)
  962. #define IMsmMerge2_Merge(This,Feature,RedirectDir) (This)->lpVtbl->Merge(This,Feature,RedirectDir)
  963. #define IMsmMerge2_Connect(This,Feature) (This)->lpVtbl->Connect(This,Feature)
  964. #define IMsmMerge2_ExtractCAB(This,FileName) (This)->lpVtbl->ExtractCAB(This,FileName)
  965. #define IMsmMerge2_ExtractFiles(This,Path) (This)->lpVtbl->ExtractFiles(This,Path)
  966. #define IMsmMerge2_MergeEx(This,Feature,RedirectDir,pConfiguration) (This)->lpVtbl->MergeEx(This,Feature,RedirectDir,pConfiguration)
  967. #define IMsmMerge2_ExtractFilesEx(This,Path,fLongFileNames,pFilePaths) (This)->lpVtbl->ExtractFilesEx(This,Path,fLongFileNames,pFilePaths)
  968. #define IMsmMerge2_get_ConfigurableItems(This,ConfigurableItems) (This)->lpVtbl->get_ConfigurableItems(This,ConfigurableItems)
  969. #define IMsmMerge2_CreateSourceImage(This,Path,fLongFileNames,pFilePaths) (This)->lpVtbl->CreateSourceImage(This,Path,fLongFileNames,pFilePaths)
  970. #define IMsmMerge2_get_ModuleFiles(This,Files) (This)->lpVtbl->get_ModuleFiles(This,Files)
  971. #endif
  972. #endif
  973. HRESULT WINAPI IMsmMerge2_OpenDatabase_Proxy(IMsmMerge2 *This,const BSTR Path);
  974. void __RPC_STUB IMsmMerge2_OpenDatabase_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
  975. HRESULT WINAPI IMsmMerge2_OpenModule_Proxy(IMsmMerge2 *This,const BSTR Path,const short Language);
  976. void __RPC_STUB IMsmMerge2_OpenModule_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
  977. HRESULT WINAPI IMsmMerge2_CloseDatabase_Proxy(IMsmMerge2 *This,const VARIANT_BOOL Commit);
  978. void __RPC_STUB IMsmMerge2_CloseDatabase_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
  979. HRESULT WINAPI IMsmMerge2_CloseModule_Proxy(IMsmMerge2 *This);
  980. void __RPC_STUB IMsmMerge2_CloseModule_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
  981. HRESULT WINAPI IMsmMerge2_OpenLog_Proxy(IMsmMerge2 *This,const BSTR Path);
  982. void __RPC_STUB IMsmMerge2_OpenLog_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
  983. HRESULT WINAPI IMsmMerge2_CloseLog_Proxy(IMsmMerge2 *This);
  984. void __RPC_STUB IMsmMerge2_CloseLog_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
  985. HRESULT WINAPI IMsmMerge2_Log_Proxy(IMsmMerge2 *This,const BSTR Message);
  986. void __RPC_STUB IMsmMerge2_Log_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
  987. HRESULT WINAPI IMsmMerge2_get_Errors_Proxy(IMsmMerge2 *This,IMsmErrors **Errors);
  988. void __RPC_STUB IMsmMerge2_get_Errors_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
  989. HRESULT WINAPI IMsmMerge2_get_Dependencies_Proxy(IMsmMerge2 *This,IMsmDependencies **Dependencies);
  990. void __RPC_STUB IMsmMerge2_get_Dependencies_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
  991. HRESULT WINAPI IMsmMerge2_Merge_Proxy(IMsmMerge2 *This,const BSTR Feature,const BSTR RedirectDir);
  992. void __RPC_STUB IMsmMerge2_Merge_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
  993. HRESULT WINAPI IMsmMerge2_Connect_Proxy(IMsmMerge2 *This,const BSTR Feature);
  994. void __RPC_STUB IMsmMerge2_Connect_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
  995. HRESULT WINAPI IMsmMerge2_ExtractCAB_Proxy(IMsmMerge2 *This,const BSTR FileName);
  996. void __RPC_STUB IMsmMerge2_ExtractCAB_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
  997. HRESULT WINAPI IMsmMerge2_ExtractFiles_Proxy(IMsmMerge2 *This,const BSTR Path);
  998. void __RPC_STUB IMsmMerge2_ExtractFiles_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
  999. HRESULT WINAPI IMsmMerge2_MergeEx_Proxy(IMsmMerge2 *This,const BSTR Feature,const BSTR RedirectDir,IMsmConfigureModule *pConfiguration);
  1000. void __RPC_STUB IMsmMerge2_MergeEx_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
  1001. HRESULT WINAPI IMsmMerge2_ExtractFilesEx_Proxy(IMsmMerge2 *This,const BSTR Path,VARIANT_BOOL fLongFileNames,IMsmStrings **pFilePaths);
  1002. void __RPC_STUB IMsmMerge2_ExtractFilesEx_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
  1003. HRESULT WINAPI IMsmMerge2_get_ConfigurableItems_Proxy(IMsmMerge2 *This,IMsmConfigurableItems **ConfigurableItems);
  1004. void __RPC_STUB IMsmMerge2_get_ConfigurableItems_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
  1005. HRESULT WINAPI IMsmMerge2_CreateSourceImage_Proxy(IMsmMerge2 *This,const BSTR Path,VARIANT_BOOL fLongFileNames,IMsmStrings **pFilePaths);
  1006. void __RPC_STUB IMsmMerge2_CreateSourceImage_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
  1007. HRESULT WINAPI IMsmMerge2_get_ModuleFiles_Proxy(IMsmMerge2 *This,IMsmStrings **Files);
  1008. void __RPC_STUB IMsmMerge2_get_ModuleFiles_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
  1009. #endif
  1010. #endif
  1011. #ifndef __MsmMergeTypeLib_LIBRARY_DEFINED__
  1012. #define __MsmMergeTypeLib_LIBRARY_DEFINED__
  1013. #ifdef __cplusplus
  1014. class MsmMerge;
  1015. #endif
  1016. #if (_WIN32_MSM >= 150)
  1017. #ifdef __cplusplus
  1018. class MsmMerge2;
  1019. #endif
  1020. #endif
  1021. #endif
  1022. ULONG __RPC_API BSTR_UserSize(ULONG *,ULONG,BSTR *);
  1023. unsigned char *__RPC_API BSTR_UserMarshal(ULONG *,unsigned char *,BSTR *);
  1024. unsigned char *__RPC_API BSTR_UserUnmarshal(ULONG *,unsigned char *,BSTR *);
  1025. void __RPC_API BSTR_UserFree(ULONG *,BSTR *);
  1026. #ifdef __cplusplus
  1027. }
  1028. #endif
  1029. DEFINE_GUID(IID_IEnumMsmString,0x0ADDA826,0x2C26,0x11D2,0xAD,0x65,0x00,0xA0,0xC9,0xAF,0x11,0xA6);
  1030. DEFINE_GUID(IID_IMsmStrings,0x0ADDA827,0x2C26,0x11D2,0xAD,0x65,0x00,0xA0,0xC9,0xAF,0x11,0xA6);
  1031. DEFINE_GUID(IID_IMsmError,0x0ADDA828,0x2C26,0x11D2,0xAD,0x65,0x00,0xA0,0xC9,0xAF,0x11,0xA6);
  1032. DEFINE_GUID(IID_IEnumMsmError,0x0ADDA829,0x2C26,0x11D2,0xAD,0x65,0x00,0xA0,0xC9,0xAF,0x11,0xA6);
  1033. DEFINE_GUID(IID_IMsmErrors,0x0ADDA82A,0x2C26,0x11D2,0xAD,0x65,0x00,0xA0,0xC9,0xAF,0x11,0xA6);
  1034. DEFINE_GUID(IID_IMsmDependency,0x0ADDA82B,0x2C26,0x11D2,0xAD,0x65,0x00,0xA0,0xC9,0xAF,0x11,0xA6);
  1035. DEFINE_GUID(IID_IEnumMsmDependency,0x0ADDA82C,0x2C26,0x11D2,0xAD,0x65,0x00,0xA0,0xC9,0xAF,0x11,0xA6);
  1036. DEFINE_GUID(IID_IMsmDependencies,0x0ADDA82D,0x2C26,0x11D2,0xAD,0x65,0x00,0xA0,0xC9,0xAF,0x11,0xA6);
  1037. DEFINE_GUID(IID_IMsmMerge,0x0ADDA82E,0x2C26,0x11D2,0xAD,0x65,0x00,0xA0,0xC9,0xAF,0x11,0xA6);
  1038. DEFINE_GUID(IID_IMsmGetFiles,0x7041ae26,0x2d78,0x11d2,0x88,0x8a,0x0,0xa0,0xc9,0x81,0xb0,0x15);
  1039. DEFINE_GUID(LIBID_MsmMergeTypeLib,0x0ADDA82F,0x2C26,0x11D2,0xAD,0x65,0x00,0xA0,0xC9,0xAF,0x11,0xA6);
  1040. DEFINE_GUID(CLSID_MsmMerge,0x0ADDA830,0x2C26,0x11D2,0xAD,0x65,0x00,0xA0,0xC9,0xAF,0x11,0xA6);
  1041. #if (_WIN32_MSM >= 150)
  1042. DEFINE_GUID(IID_IMsmMerge2,0x351A72AB,0x21CB,0x47AB,0xB7,0xAA,0xC4,0xD7,0xB0,0x2E,0xA3,0x05);
  1043. DEFINE_GUID(IID_IMsmConfigurableItem,0x4D6E6284,0xD21D,0x401E,0x84,0xF6,0x90,0x9E,0x00,0xB5,0x0F,0x71);
  1044. DEFINE_GUID(IID_IEnumMsmConfigurableItem,0x832C6969,0x4826,0x4C24,0xA3,0x97,0xB7,0x00,0x2D,0x81,0x96,0xE6);
  1045. DEFINE_GUID(IID_IMsmConfigurableItems,0x55BF723C,0x9A0D,0x463E,0xB4,0x2B,0xB4,0xFB,0xC7,0xBE,0x3C,0x7C);
  1046. DEFINE_GUID(IID_IMsmConfigureModule,0xAC013209,0x18A7,0x4851,0x8A,0x21,0x23,0x53,0x44,0x3D,0x70,0xA0);
  1047. DEFINE_GUID(CLSID_MsmMerge2,0xF94985D5,0x29F9,0x4743,0x98,0x05,0x99,0xBC,0x3F,0x35,0xB6,0x78);
  1048. #endif
  1049. #endif