home *** CD-ROM | disk | FTP | other *** search
/ PC Format (South-Africa) 2001 May / PCFMay2001.iso / Xenon / C++ / FreeCommandLineTools.exe / Include / mergemod.h < prev    next >
Encoding:
C/C++ Source or Header  |  2000-01-31  |  74.2 KB  |  2,201 lines

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