home *** CD-ROM | disk | FTP | other *** search
/ Tricks of the Windows Gam…ming Gurus (2nd Edition) / Disc2.iso / msdn_vcb / samples / vc98 / com / commap / commap.h < prev    next >
C/C++ Source or Header  |  1998-04-02  |  21KB  |  691 lines

  1. /* this ALWAYS GENERATED file contains the definitions for the interfaces */
  2.  
  3.  
  4. /* File created by MIDL compiler version 3.03.0110 */
  5. /* at Thu Feb 26 16:14:11 1998
  6.  */
  7. /* Compiler settings for COMMap.idl:
  8.     Os (OptLev=s), W1, Zp8, env=Win32, ms_ext, c_ext
  9.     error checks: none
  10. */
  11. //@@MIDL_FILE_HEADING(  )
  12.  
  13.  
  14. /* verify that the <rpcndr.h> version is high enough to compile this file*/
  15. #ifndef __REQUIRED_RPCNDR_H_VERSION__
  16. #define __REQUIRED_RPCNDR_H_VERSION__ 440
  17. #endif
  18.  
  19. #include "rpc.h"
  20. #include "rpcndr.h"
  21.  
  22. #ifndef __RPCNDR_H_VERSION__
  23. #error this stub requires an updated version of <rpcndr.h>
  24. #endif // __RPCNDR_H_VERSION__
  25.  
  26. #ifndef COM_NO_WINDOWS_H
  27. #include "windows.h"
  28. #include "ole2.h"
  29. #endif /*COM_NO_WINDOWS_H*/
  30.  
  31. #ifndef __COMMap_h__
  32. #define __COMMap_h__
  33.  
  34. #ifdef __cplusplus
  35. extern "C"{
  36. #endif 
  37.  
  38. /* Forward Declarations */ 
  39.  
  40. #ifndef __IOuter_FWD_DEFINED__
  41. #define __IOuter_FWD_DEFINED__
  42. typedef interface IOuter IOuter;
  43. #endif     /* __IOuter_FWD_DEFINED__ */
  44.  
  45.  
  46. #ifndef __ITearOff1_FWD_DEFINED__
  47. #define __ITearOff1_FWD_DEFINED__
  48. typedef interface ITearOff1 ITearOff1;
  49. #endif     /* __ITearOff1_FWD_DEFINED__ */
  50.  
  51.  
  52. #ifndef __ITearOff2_FWD_DEFINED__
  53. #define __ITearOff2_FWD_DEFINED__
  54. typedef interface ITearOff2 ITearOff2;
  55. #endif     /* __ITearOff2_FWD_DEFINED__ */
  56.  
  57.  
  58. #ifndef __IChain_FWD_DEFINED__
  59. #define __IChain_FWD_DEFINED__
  60. typedef interface IChain IChain;
  61. #endif     /* __IChain_FWD_DEFINED__ */
  62.  
  63.  
  64. #ifndef __COuter_FWD_DEFINED__
  65. #define __COuter_FWD_DEFINED__
  66.  
  67. #ifdef __cplusplus
  68. typedef class COuter COuter;
  69. #else
  70. typedef struct COuter COuter;
  71. #endif /* __cplusplus */
  72.  
  73. #endif     /* __COuter_FWD_DEFINED__ */
  74.  
  75.  
  76. #ifndef __CChain_FWD_DEFINED__
  77. #define __CChain_FWD_DEFINED__
  78.  
  79. #ifdef __cplusplus
  80. typedef class CChain CChain;
  81. #else
  82. typedef struct CChain CChain;
  83. #endif /* __cplusplus */
  84.  
  85. #endif     /* __CChain_FWD_DEFINED__ */
  86.  
  87.  
  88. /* header files for imported files */
  89. #include "oaidl.h"
  90.  
  91. void __RPC_FAR * __RPC_USER MIDL_user_allocate(size_t);
  92. void __RPC_USER MIDL_user_free( void __RPC_FAR * ); 
  93.  
  94. #ifndef __IOuter_INTERFACE_DEFINED__
  95. #define __IOuter_INTERFACE_DEFINED__
  96.  
  97. /****************************************
  98.  * Generated header for interface: IOuter
  99.  * at Thu Feb 26 16:14:11 1998
  100.  * using MIDL 3.03.0110
  101.  ****************************************/
  102. /* [unique][helpstring][dual][uuid][object] */ 
  103.  
  104.  
  105.  
  106. EXTERN_C const IID IID_IOuter;
  107.  
  108. #if defined(__cplusplus) && !defined(CINTERFACE)
  109.     
  110.     MIDL_INTERFACE("4F9A68EF-DD9D-11CF-9462-00AA00BBAD7F")
  111.     IOuter : public IDispatch
  112.     {
  113.     public:
  114.         virtual /* [id] */ HRESULT STDMETHODCALLTYPE GetName( 
  115.             /* [in] */ short n,
  116.             /* [retval][out] */ BSTR __RPC_FAR *pbstrName) = 0;
  117.         
  118.     };
  119.     
  120. #else     /* C style interface */
  121.  
  122.     typedef struct IOuterVtbl
  123.     {
  124.         BEGIN_INTERFACE
  125.         
  126.         HRESULT ( STDMETHODCALLTYPE __RPC_FAR *QueryInterface )( 
  127.             IOuter __RPC_FAR * This,
  128.             /* [in] */ REFIID riid,
  129.             /* [iid_is][out] */ void __RPC_FAR *__RPC_FAR *ppvObject);
  130.         
  131.         ULONG ( STDMETHODCALLTYPE __RPC_FAR *AddRef )( 
  132.             IOuter __RPC_FAR * This);
  133.         
  134.         ULONG ( STDMETHODCALLTYPE __RPC_FAR *Release )( 
  135.             IOuter __RPC_FAR * This);
  136.         
  137.         HRESULT ( STDMETHODCALLTYPE __RPC_FAR *GetTypeInfoCount )( 
  138.             IOuter __RPC_FAR * This,
  139.             /* [out] */ UINT __RPC_FAR *pctinfo);
  140.         
  141.         HRESULT ( STDMETHODCALLTYPE __RPC_FAR *GetTypeInfo )( 
  142.             IOuter __RPC_FAR * This,
  143.             /* [in] */ UINT iTInfo,
  144.             /* [in] */ LCID lcid,
  145.             /* [out] */ ITypeInfo __RPC_FAR *__RPC_FAR *ppTInfo);
  146.         
  147.         HRESULT ( STDMETHODCALLTYPE __RPC_FAR *GetIDsOfNames )( 
  148.             IOuter __RPC_FAR * This,
  149.             /* [in] */ REFIID riid,
  150.             /* [size_is][in] */ LPOLESTR __RPC_FAR *rgszNames,
  151.             /* [in] */ UINT cNames,
  152.             /* [in] */ LCID lcid,
  153.             /* [size_is][out] */ DISPID __RPC_FAR *rgDispId);
  154.         
  155.         /* [local] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *Invoke )( 
  156.             IOuter __RPC_FAR * This,
  157.             /* [in] */ DISPID dispIdMember,
  158.             /* [in] */ REFIID riid,
  159.             /* [in] */ LCID lcid,
  160.             /* [in] */ WORD wFlags,
  161.             /* [out][in] */ DISPPARAMS __RPC_FAR *pDispParams,
  162.             /* [out] */ VARIANT __RPC_FAR *pVarResult,
  163.             /* [out] */ EXCEPINFO __RPC_FAR *pExcepInfo,
  164.             /* [out] */ UINT __RPC_FAR *puArgErr);
  165.         
  166.         /* [id] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *GetName )( 
  167.             IOuter __RPC_FAR * This,
  168.             /* [in] */ short n,
  169.             /* [retval][out] */ BSTR __RPC_FAR *pbstrName);
  170.         
  171.         END_INTERFACE
  172.     } IOuterVtbl;
  173.  
  174.     interface IOuter
  175.     {
  176.         CONST_VTBL struct IOuterVtbl __RPC_FAR *lpVtbl;
  177.     };
  178.  
  179.     
  180.  
  181. #ifdef COBJMACROS
  182.  
  183.  
  184. #define IOuter_QueryInterface(This,riid,ppvObject)    \
  185.     (This)->lpVtbl -> QueryInterface(This,riid,ppvObject)
  186.  
  187. #define IOuter_AddRef(This)    \
  188.     (This)->lpVtbl -> AddRef(This)
  189.  
  190. #define IOuter_Release(This)    \
  191.     (This)->lpVtbl -> Release(This)
  192.  
  193.  
  194. #define IOuter_GetTypeInfoCount(This,pctinfo)    \
  195.     (This)->lpVtbl -> GetTypeInfoCount(This,pctinfo)
  196.  
  197. #define IOuter_GetTypeInfo(This,iTInfo,lcid,ppTInfo)    \
  198.     (This)->lpVtbl -> GetTypeInfo(This,iTInfo,lcid,ppTInfo)
  199.  
  200. #define IOuter_GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId)    \
  201.     (This)->lpVtbl -> GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId)
  202.  
  203. #define IOuter_Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr)    \
  204.     (This)->lpVtbl -> Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr)
  205.  
  206.  
  207. #define IOuter_GetName(This,n,pbstrName)    \
  208.     (This)->lpVtbl -> GetName(This,n,pbstrName)
  209.  
  210. #endif /* COBJMACROS */
  211.  
  212.  
  213. #endif     /* C style interface */
  214.  
  215.  
  216.  
  217. /* [id] */ HRESULT STDMETHODCALLTYPE IOuter_GetName_Proxy( 
  218.     IOuter __RPC_FAR * This,
  219.     /* [in] */ short n,
  220.     /* [retval][out] */ BSTR __RPC_FAR *pbstrName);
  221.  
  222.  
  223. void __RPC_STUB IOuter_GetName_Stub(
  224.     IRpcStubBuffer *This,
  225.     IRpcChannelBuffer *_pRpcChannelBuffer,
  226.     PRPC_MESSAGE _pRpcMessage,
  227.     DWORD *_pdwStubPhase);
  228.  
  229.  
  230.  
  231. #endif     /* __IOuter_INTERFACE_DEFINED__ */
  232.  
  233.  
  234. #ifndef __ITearOff1_INTERFACE_DEFINED__
  235. #define __ITearOff1_INTERFACE_DEFINED__
  236.  
  237. /****************************************
  238.  * Generated header for interface: ITearOff1
  239.  * at Thu Feb 26 16:14:11 1998
  240.  * using MIDL 3.03.0110
  241.  ****************************************/
  242. /* [unique][helpstring][dual][uuid][object] */ 
  243.  
  244.  
  245.  
  246. EXTERN_C const IID IID_ITearOff1;
  247.  
  248. #if defined(__cplusplus) && !defined(CINTERFACE)
  249.     
  250.     MIDL_INTERFACE("9B8A71F7-DB54-11CF-9462-00AA00BBAD7F")
  251.     ITearOff1 : public IDispatch
  252.     {
  253.     public:
  254.         virtual /* [id][propget] */ HRESULT STDMETHODCALLTYPE get_Name( 
  255.             /* [retval][out] */ BSTR __RPC_FAR *pbstrName) = 0;
  256.         
  257.     };
  258.     
  259. #else     /* C style interface */
  260.  
  261.     typedef struct ITearOff1Vtbl
  262.     {
  263.         BEGIN_INTERFACE
  264.         
  265.         HRESULT ( STDMETHODCALLTYPE __RPC_FAR *QueryInterface )( 
  266.             ITearOff1 __RPC_FAR * This,
  267.             /* [in] */ REFIID riid,
  268.             /* [iid_is][out] */ void __RPC_FAR *__RPC_FAR *ppvObject);
  269.         
  270.         ULONG ( STDMETHODCALLTYPE __RPC_FAR *AddRef )( 
  271.             ITearOff1 __RPC_FAR * This);
  272.         
  273.         ULONG ( STDMETHODCALLTYPE __RPC_FAR *Release )( 
  274.             ITearOff1 __RPC_FAR * This);
  275.         
  276.         HRESULT ( STDMETHODCALLTYPE __RPC_FAR *GetTypeInfoCount )( 
  277.             ITearOff1 __RPC_FAR * This,
  278.             /* [out] */ UINT __RPC_FAR *pctinfo);
  279.         
  280.         HRESULT ( STDMETHODCALLTYPE __RPC_FAR *GetTypeInfo )( 
  281.             ITearOff1 __RPC_FAR * This,
  282.             /* [in] */ UINT iTInfo,
  283.             /* [in] */ LCID lcid,
  284.             /* [out] */ ITypeInfo __RPC_FAR *__RPC_FAR *ppTInfo);
  285.         
  286.         HRESULT ( STDMETHODCALLTYPE __RPC_FAR *GetIDsOfNames )( 
  287.             ITearOff1 __RPC_FAR * This,
  288.             /* [in] */ REFIID riid,
  289.             /* [size_is][in] */ LPOLESTR __RPC_FAR *rgszNames,
  290.             /* [in] */ UINT cNames,
  291.             /* [in] */ LCID lcid,
  292.             /* [size_is][out] */ DISPID __RPC_FAR *rgDispId);
  293.         
  294.         /* [local] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *Invoke )( 
  295.             ITearOff1 __RPC_FAR * This,
  296.             /* [in] */ DISPID dispIdMember,
  297.             /* [in] */ REFIID riid,
  298.             /* [in] */ LCID lcid,
  299.             /* [in] */ WORD wFlags,
  300.             /* [out][in] */ DISPPARAMS __RPC_FAR *pDispParams,
  301.             /* [out] */ VARIANT __RPC_FAR *pVarResult,
  302.             /* [out] */ EXCEPINFO __RPC_FAR *pExcepInfo,
  303.             /* [out] */ UINT __RPC_FAR *puArgErr);
  304.         
  305.         /* [id][propget] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *get_Name )( 
  306.             ITearOff1 __RPC_FAR * This,
  307.             /* [retval][out] */ BSTR __RPC_FAR *pbstrName);
  308.         
  309.         END_INTERFACE
  310.     } ITearOff1Vtbl;
  311.  
  312.     interface ITearOff1
  313.     {
  314.         CONST_VTBL struct ITearOff1Vtbl __RPC_FAR *lpVtbl;
  315.     };
  316.  
  317.     
  318.  
  319. #ifdef COBJMACROS
  320.  
  321.  
  322. #define ITearOff1_QueryInterface(This,riid,ppvObject)    \
  323.     (This)->lpVtbl -> QueryInterface(This,riid,ppvObject)
  324.  
  325. #define ITearOff1_AddRef(This)    \
  326.     (This)->lpVtbl -> AddRef(This)
  327.  
  328. #define ITearOff1_Release(This)    \
  329.     (This)->lpVtbl -> Release(This)
  330.  
  331.  
  332. #define ITearOff1_GetTypeInfoCount(This,pctinfo)    \
  333.     (This)->lpVtbl -> GetTypeInfoCount(This,pctinfo)
  334.  
  335. #define ITearOff1_GetTypeInfo(This,iTInfo,lcid,ppTInfo)    \
  336.     (This)->lpVtbl -> GetTypeInfo(This,iTInfo,lcid,ppTInfo)
  337.  
  338. #define ITearOff1_GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId)    \
  339.     (This)->lpVtbl -> GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId)
  340.  
  341. #define ITearOff1_Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr)    \
  342.     (This)->lpVtbl -> Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr)
  343.  
  344.  
  345. #define ITearOff1_get_Name(This,pbstrName)    \
  346.     (This)->lpVtbl -> get_Name(This,pbstrName)
  347.  
  348. #endif /* COBJMACROS */
  349.  
  350.  
  351. #endif     /* C style interface */
  352.  
  353.  
  354.  
  355. /* [id][propget] */ HRESULT STDMETHODCALLTYPE ITearOff1_get_Name_Proxy( 
  356.     ITearOff1 __RPC_FAR * This,
  357.     /* [retval][out] */ BSTR __RPC_FAR *pbstrName);
  358.  
  359.  
  360. void __RPC_STUB ITearOff1_get_Name_Stub(
  361.     IRpcStubBuffer *This,
  362.     IRpcChannelBuffer *_pRpcChannelBuffer,
  363.     PRPC_MESSAGE _pRpcMessage,
  364.     DWORD *_pdwStubPhase);
  365.  
  366.  
  367.  
  368. #endif     /* __ITearOff1_INTERFACE_DEFINED__ */
  369.  
  370.  
  371. #ifndef __ITearOff2_INTERFACE_DEFINED__
  372. #define __ITearOff2_INTERFACE_DEFINED__
  373.  
  374. /****************************************
  375.  * Generated header for interface: ITearOff2
  376.  * at Thu Feb 26 16:14:11 1998
  377.  * using MIDL 3.03.0110
  378.  ****************************************/
  379. /* [unique][helpstring][dual][uuid][object] */ 
  380.  
  381.  
  382.  
  383. EXTERN_C const IID IID_ITearOff2;
  384.  
  385. #if defined(__cplusplus) && !defined(CINTERFACE)
  386.     
  387.     MIDL_INTERFACE("9B8A71F8-DB54-11CF-9462-00AA00BBAD7F")
  388.     ITearOff2 : public IDispatch
  389.     {
  390.     public:
  391.         virtual /* [id][propget] */ HRESULT STDMETHODCALLTYPE get_Name( 
  392.             /* [retval][out] */ BSTR __RPC_FAR *pbstrName) = 0;
  393.         
  394.     };
  395.     
  396. #else     /* C style interface */
  397.  
  398.     typedef struct ITearOff2Vtbl
  399.     {
  400.         BEGIN_INTERFACE
  401.         
  402.         HRESULT ( STDMETHODCALLTYPE __RPC_FAR *QueryInterface )( 
  403.             ITearOff2 __RPC_FAR * This,
  404.             /* [in] */ REFIID riid,
  405.             /* [iid_is][out] */ void __RPC_FAR *__RPC_FAR *ppvObject);
  406.         
  407.         ULONG ( STDMETHODCALLTYPE __RPC_FAR *AddRef )( 
  408.             ITearOff2 __RPC_FAR * This);
  409.         
  410.         ULONG ( STDMETHODCALLTYPE __RPC_FAR *Release )( 
  411.             ITearOff2 __RPC_FAR * This);
  412.         
  413.         HRESULT ( STDMETHODCALLTYPE __RPC_FAR *GetTypeInfoCount )( 
  414.             ITearOff2 __RPC_FAR * This,
  415.             /* [out] */ UINT __RPC_FAR *pctinfo);
  416.         
  417.         HRESULT ( STDMETHODCALLTYPE __RPC_FAR *GetTypeInfo )( 
  418.             ITearOff2 __RPC_FAR * This,
  419.             /* [in] */ UINT iTInfo,
  420.             /* [in] */ LCID lcid,
  421.             /* [out] */ ITypeInfo __RPC_FAR *__RPC_FAR *ppTInfo);
  422.         
  423.         HRESULT ( STDMETHODCALLTYPE __RPC_FAR *GetIDsOfNames )( 
  424.             ITearOff2 __RPC_FAR * This,
  425.             /* [in] */ REFIID riid,
  426.             /* [size_is][in] */ LPOLESTR __RPC_FAR *rgszNames,
  427.             /* [in] */ UINT cNames,
  428.             /* [in] */ LCID lcid,
  429.             /* [size_is][out] */ DISPID __RPC_FAR *rgDispId);
  430.         
  431.         /* [local] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *Invoke )( 
  432.             ITearOff2 __RPC_FAR * This,
  433.             /* [in] */ DISPID dispIdMember,
  434.             /* [in] */ REFIID riid,
  435.             /* [in] */ LCID lcid,
  436.             /* [in] */ WORD wFlags,
  437.             /* [out][in] */ DISPPARAMS __RPC_FAR *pDispParams,
  438.             /* [out] */ VARIANT __RPC_FAR *pVarResult,
  439.             /* [out] */ EXCEPINFO __RPC_FAR *pExcepInfo,
  440.             /* [out] */ UINT __RPC_FAR *puArgErr);
  441.         
  442.         /* [id][propget] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *get_Name )( 
  443.             ITearOff2 __RPC_FAR * This,
  444.             /* [retval][out] */ BSTR __RPC_FAR *pbstrName);
  445.         
  446.         END_INTERFACE
  447.     } ITearOff2Vtbl;
  448.  
  449.     interface ITearOff2
  450.     {
  451.         CONST_VTBL struct ITearOff2Vtbl __RPC_FAR *lpVtbl;
  452.     };
  453.  
  454.     
  455.  
  456. #ifdef COBJMACROS
  457.  
  458.  
  459. #define ITearOff2_QueryInterface(This,riid,ppvObject)    \
  460.     (This)->lpVtbl -> QueryInterface(This,riid,ppvObject)
  461.  
  462. #define ITearOff2_AddRef(This)    \
  463.     (This)->lpVtbl -> AddRef(This)
  464.  
  465. #define ITearOff2_Release(This)    \
  466.     (This)->lpVtbl -> Release(This)
  467.  
  468.  
  469. #define ITearOff2_GetTypeInfoCount(This,pctinfo)    \
  470.     (This)->lpVtbl -> GetTypeInfoCount(This,pctinfo)
  471.  
  472. #define ITearOff2_GetTypeInfo(This,iTInfo,lcid,ppTInfo)    \
  473.     (This)->lpVtbl -> GetTypeInfo(This,iTInfo,lcid,ppTInfo)
  474.  
  475. #define ITearOff2_GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId)    \
  476.     (This)->lpVtbl -> GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId)
  477.  
  478. #define ITearOff2_Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr)    \
  479.     (This)->lpVtbl -> Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr)
  480.  
  481.  
  482. #define ITearOff2_get_Name(This,pbstrName)    \
  483.     (This)->lpVtbl -> get_Name(This,pbstrName)
  484.  
  485. #endif /* COBJMACROS */
  486.  
  487.  
  488. #endif     /* C style interface */
  489.  
  490.  
  491.  
  492. /* [id][propget] */ HRESULT STDMETHODCALLTYPE ITearOff2_get_Name_Proxy( 
  493.     ITearOff2 __RPC_FAR * This,
  494.     /* [retval][out] */ BSTR __RPC_FAR *pbstrName);
  495.  
  496.  
  497. void __RPC_STUB ITearOff2_get_Name_Stub(
  498.     IRpcStubBuffer *This,
  499.     IRpcChannelBuffer *_pRpcChannelBuffer,
  500.     PRPC_MESSAGE _pRpcMessage,
  501.     DWORD *_pdwStubPhase);
  502.  
  503.  
  504.  
  505. #endif     /* __ITearOff2_INTERFACE_DEFINED__ */
  506.  
  507.  
  508. #ifndef __IChain_INTERFACE_DEFINED__
  509. #define __IChain_INTERFACE_DEFINED__
  510.  
  511. /****************************************
  512.  * Generated header for interface: IChain
  513.  * at Thu Feb 26 16:14:11 1998
  514.  * using MIDL 3.03.0110
  515.  ****************************************/
  516. /* [unique][helpstring][dual][uuid][object] */ 
  517.  
  518.  
  519.  
  520. EXTERN_C const IID IID_IChain;
  521.  
  522. #if defined(__cplusplus) && !defined(CINTERFACE)
  523.     
  524.     MIDL_INTERFACE("4F9A68F4-DD9D-11CF-9462-00AA00BBAD7F")
  525.     IChain : public IDispatch
  526.     {
  527.     public:
  528.         virtual /* [id][propget] */ HRESULT STDMETHODCALLTYPE get_Name2( 
  529.             /* [retval][out] */ BSTR __RPC_FAR *pbstrName) = 0;
  530.         
  531.     };
  532.     
  533. #else     /* C style interface */
  534.  
  535.     typedef struct IChainVtbl
  536.     {
  537.         BEGIN_INTERFACE
  538.         
  539.         HRESULT ( STDMETHODCALLTYPE __RPC_FAR *QueryInterface )( 
  540.             IChain __RPC_FAR * This,
  541.             /* [in] */ REFIID riid,
  542.             /* [iid_is][out] */ void __RPC_FAR *__RPC_FAR *ppvObject);
  543.         
  544.         ULONG ( STDMETHODCALLTYPE __RPC_FAR *AddRef )( 
  545.             IChain __RPC_FAR * This);
  546.         
  547.         ULONG ( STDMETHODCALLTYPE __RPC_FAR *Release )( 
  548.             IChain __RPC_FAR * This);
  549.         
  550.         HRESULT ( STDMETHODCALLTYPE __RPC_FAR *GetTypeInfoCount )( 
  551.             IChain __RPC_FAR * This,
  552.             /* [out] */ UINT __RPC_FAR *pctinfo);
  553.         
  554.         HRESULT ( STDMETHODCALLTYPE __RPC_FAR *GetTypeInfo )( 
  555.             IChain __RPC_FAR * This,
  556.             /* [in] */ UINT iTInfo,
  557.             /* [in] */ LCID lcid,
  558.             /* [out] */ ITypeInfo __RPC_FAR *__RPC_FAR *ppTInfo);
  559.         
  560.         HRESULT ( STDMETHODCALLTYPE __RPC_FAR *GetIDsOfNames )( 
  561.             IChain __RPC_FAR * This,
  562.             /* [in] */ REFIID riid,
  563.             /* [size_is][in] */ LPOLESTR __RPC_FAR *rgszNames,
  564.             /* [in] */ UINT cNames,
  565.             /* [in] */ LCID lcid,
  566.             /* [size_is][out] */ DISPID __RPC_FAR *rgDispId);
  567.         
  568.         /* [local] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *Invoke )( 
  569.             IChain __RPC_FAR * This,
  570.             /* [in] */ DISPID dispIdMember,
  571.             /* [in] */ REFIID riid,
  572.             /* [in] */ LCID lcid,
  573.             /* [in] */ WORD wFlags,
  574.             /* [out][in] */ DISPPARAMS __RPC_FAR *pDispParams,
  575.             /* [out] */ VARIANT __RPC_FAR *pVarResult,
  576.             /* [out] */ EXCEPINFO __RPC_FAR *pExcepInfo,
  577.             /* [out] */ UINT __RPC_FAR *puArgErr);
  578.         
  579.         /* [id][propget] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *get_Name2 )( 
  580.             IChain __RPC_FAR * This,
  581.             /* [retval][out] */ BSTR __RPC_FAR *pbstrName);
  582.         
  583.         END_INTERFACE
  584.     } IChainVtbl;
  585.  
  586.     interface IChain
  587.     {
  588.         CONST_VTBL struct IChainVtbl __RPC_FAR *lpVtbl;
  589.     };
  590.  
  591.     
  592.  
  593. #ifdef COBJMACROS
  594.  
  595.  
  596. #define IChain_QueryInterface(This,riid,ppvObject)    \
  597.     (This)->lpVtbl -> QueryInterface(This,riid,ppvObject)
  598.  
  599. #define IChain_AddRef(This)    \
  600.     (This)->lpVtbl -> AddRef(This)
  601.  
  602. #define IChain_Release(This)    \
  603.     (This)->lpVtbl -> Release(This)
  604.  
  605.  
  606. #define IChain_GetTypeInfoCount(This,pctinfo)    \
  607.     (This)->lpVtbl -> GetTypeInfoCount(This,pctinfo)
  608.  
  609. #define IChain_GetTypeInfo(This,iTInfo,lcid,ppTInfo)    \
  610.     (This)->lpVtbl -> GetTypeInfo(This,iTInfo,lcid,ppTInfo)
  611.  
  612. #define IChain_GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId)    \
  613.     (This)->lpVtbl -> GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId)
  614.  
  615. #define IChain_Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr)    \
  616.     (This)->lpVtbl -> Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr)
  617.  
  618.  
  619. #define IChain_get_Name2(This,pbstrName)    \
  620.     (This)->lpVtbl -> get_Name2(This,pbstrName)
  621.  
  622. #endif /* COBJMACROS */
  623.  
  624.  
  625. #endif     /* C style interface */
  626.  
  627.  
  628.  
  629. /* [id][propget] */ HRESULT STDMETHODCALLTYPE IChain_get_Name2_Proxy( 
  630.     IChain __RPC_FAR * This,
  631.     /* [retval][out] */ BSTR __RPC_FAR *pbstrName);
  632.  
  633.  
  634. void __RPC_STUB IChain_get_Name2_Stub(
  635.     IRpcStubBuffer *This,
  636.     IRpcChannelBuffer *_pRpcChannelBuffer,
  637.     PRPC_MESSAGE _pRpcMessage,
  638.     DWORD *_pdwStubPhase);
  639.  
  640.  
  641.  
  642. #endif     /* __IChain_INTERFACE_DEFINED__ */
  643.  
  644.  
  645.  
  646. #ifndef __COMMAPLib_LIBRARY_DEFINED__
  647. #define __COMMAPLib_LIBRARY_DEFINED__
  648.  
  649. /****************************************
  650.  * Generated header for library: COMMAPLib
  651.  * at Thu Feb 26 16:14:11 1998
  652.  * using MIDL 3.03.0110
  653.  ****************************************/
  654. /* [helpstring][version][uuid] */ 
  655.  
  656.  
  657.  
  658. EXTERN_C const IID LIBID_COMMAPLib;
  659.  
  660. EXTERN_C const CLSID CLSID_COuter;
  661.  
  662. #ifdef __cplusplus
  663.  
  664. class DECLSPEC_UUID("4F9A68F3-DD9D-11CF-9462-00AA00BBAD7F")
  665. COuter;
  666. #endif
  667.  
  668. EXTERN_C const CLSID CLSID_CChain;
  669.  
  670. #ifdef __cplusplus
  671.  
  672. class DECLSPEC_UUID("4F9A68F8-DD9D-11CF-9462-00AA00BBAD7F")
  673. CChain;
  674. #endif
  675. #endif /* __COMMAPLib_LIBRARY_DEFINED__ */
  676.  
  677. /* Additional Prototypes for ALL interfaces */
  678.  
  679. unsigned long             __RPC_USER  BSTR_UserSize(     unsigned long __RPC_FAR *, unsigned long            , BSTR __RPC_FAR * ); 
  680. unsigned char __RPC_FAR * __RPC_USER  BSTR_UserMarshal(  unsigned long __RPC_FAR *, unsigned char __RPC_FAR *, BSTR __RPC_FAR * ); 
  681. unsigned char __RPC_FAR * __RPC_USER  BSTR_UserUnmarshal(unsigned long __RPC_FAR *, unsigned char __RPC_FAR *, BSTR __RPC_FAR * ); 
  682. void                      __RPC_USER  BSTR_UserFree(     unsigned long __RPC_FAR *, BSTR __RPC_FAR * ); 
  683.  
  684. /* end of Additional Prototypes */
  685.  
  686. #ifdef __cplusplus
  687. }
  688. #endif
  689.  
  690. #endif
  691.