MergeMod.h
上传用户:dzyhzl
上传日期:2019-04-29
资源大小:56270k
文件大小:126k
源码类别:

模拟服务器

开发平台:

C/C++

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