home *** CD-ROM | disk | FTP | other *** search
/ Chip 2001 June / Chip_2001-06_cd1.bin / zkuste / vbasic / Data / Utility / MSISDK15.msi / MergeMod.h < prev    next >
C/C++ Source or Header  |  2000-10-30  |  129KB  |  3,666 lines

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