home *** CD-ROM | disk | FTP | other *** search
/ Tricks of the Windows Gam…ming Gurus (2nd Edition) / Disc2.iso / msdn_vcb / samples / vc98 / sdk / com / tutsamp / marshal2 / micars.h < prev    next >
C/C++ Source or Header  |  1998-03-30  |  11KB  |  468 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 Mon Mar 30 03:35:25 1998
  6.  */
  7. /* Compiler settings for micars.idl:
  8.     Os (OptLev=s), W1, Zp8, env=Win32, ms_ext, app_config, 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 __micars_h__
  32. #define __micars_h__
  33.  
  34. #ifdef __cplusplus
  35. extern "C"{
  36. #endif 
  37.  
  38. /* Forward Declarations */ 
  39.  
  40. #ifndef __ICar_FWD_DEFINED__
  41. #define __ICar_FWD_DEFINED__
  42. typedef interface ICar ICar;
  43. #endif     /* __ICar_FWD_DEFINED__ */
  44.  
  45.  
  46. #ifndef __IUtility_FWD_DEFINED__
  47. #define __IUtility_FWD_DEFINED__
  48. typedef interface IUtility IUtility;
  49. #endif     /* __IUtility_FWD_DEFINED__ */
  50.  
  51.  
  52. #ifndef __ICruise_FWD_DEFINED__
  53. #define __ICruise_FWD_DEFINED__
  54. typedef interface ICruise ICruise;
  55. #endif     /* __ICruise_FWD_DEFINED__ */
  56.  
  57.  
  58. /* header files for imported files */
  59. #include "unknwn.h"
  60.  
  61. void __RPC_FAR * __RPC_USER MIDL_user_allocate(size_t);
  62. void __RPC_USER MIDL_user_free( void __RPC_FAR * ); 
  63.  
  64. #ifndef __ICar_INTERFACE_DEFINED__
  65. #define __ICar_INTERFACE_DEFINED__
  66.  
  67. /****************************************
  68.  * Generated header for interface: ICar
  69.  * at Mon Mar 30 03:35:25 1998
  70.  * using MIDL 3.03.0110
  71.  ****************************************/
  72. /* [object][uuid] */ 
  73.  
  74.  
  75.  
  76. EXTERN_C const IID IID_ICar;
  77.  
  78. #if defined(__cplusplus) && !defined(CINTERFACE)
  79.     
  80.     MIDL_INTERFACE("0002da00-0000-0000-c000-000000000046")
  81.     ICar : public IUnknown
  82.     {
  83.     public:
  84.         virtual HRESULT STDMETHODCALLTYPE Shift( 
  85.             /* [in] */ short nGear) = 0;
  86.         
  87.         virtual HRESULT STDMETHODCALLTYPE Clutch( 
  88.             /* [in] */ short nEngaged) = 0;
  89.         
  90.         virtual HRESULT STDMETHODCALLTYPE Speed( 
  91.             /* [in] */ short nMph) = 0;
  92.         
  93.         virtual HRESULT STDMETHODCALLTYPE Steer( 
  94.             /* [in] */ short nAngle) = 0;
  95.         
  96.     };
  97.     
  98. #else     /* C style interface */
  99.  
  100.     typedef struct ICarVtbl
  101.     {
  102.         BEGIN_INTERFACE
  103.         
  104.         HRESULT ( STDMETHODCALLTYPE __RPC_FAR *QueryInterface )( 
  105.             ICar __RPC_FAR * This,
  106.             /* [in] */ REFIID riid,
  107.             /* [iid_is][out] */ void __RPC_FAR *__RPC_FAR *ppvObject);
  108.         
  109.         ULONG ( STDMETHODCALLTYPE __RPC_FAR *AddRef )( 
  110.             ICar __RPC_FAR * This);
  111.         
  112.         ULONG ( STDMETHODCALLTYPE __RPC_FAR *Release )( 
  113.             ICar __RPC_FAR * This);
  114.         
  115.         HRESULT ( STDMETHODCALLTYPE __RPC_FAR *Shift )( 
  116.             ICar __RPC_FAR * This,
  117.             /* [in] */ short nGear);
  118.         
  119.         HRESULT ( STDMETHODCALLTYPE __RPC_FAR *Clutch )( 
  120.             ICar __RPC_FAR * This,
  121.             /* [in] */ short nEngaged);
  122.         
  123.         HRESULT ( STDMETHODCALLTYPE __RPC_FAR *Speed )( 
  124.             ICar __RPC_FAR * This,
  125.             /* [in] */ short nMph);
  126.         
  127.         HRESULT ( STDMETHODCALLTYPE __RPC_FAR *Steer )( 
  128.             ICar __RPC_FAR * This,
  129.             /* [in] */ short nAngle);
  130.         
  131.         END_INTERFACE
  132.     } ICarVtbl;
  133.  
  134.     interface ICar
  135.     {
  136.         CONST_VTBL struct ICarVtbl __RPC_FAR *lpVtbl;
  137.     };
  138.  
  139.     
  140.  
  141. #ifdef COBJMACROS
  142.  
  143.  
  144. #define ICar_QueryInterface(This,riid,ppvObject)    \
  145.     (This)->lpVtbl -> QueryInterface(This,riid,ppvObject)
  146.  
  147. #define ICar_AddRef(This)    \
  148.     (This)->lpVtbl -> AddRef(This)
  149.  
  150. #define ICar_Release(This)    \
  151.     (This)->lpVtbl -> Release(This)
  152.  
  153.  
  154. #define ICar_Shift(This,nGear)    \
  155.     (This)->lpVtbl -> Shift(This,nGear)
  156.  
  157. #define ICar_Clutch(This,nEngaged)    \
  158.     (This)->lpVtbl -> Clutch(This,nEngaged)
  159.  
  160. #define ICar_Speed(This,nMph)    \
  161.     (This)->lpVtbl -> Speed(This,nMph)
  162.  
  163. #define ICar_Steer(This,nAngle)    \
  164.     (This)->lpVtbl -> Steer(This,nAngle)
  165.  
  166. #endif /* COBJMACROS */
  167.  
  168.  
  169. #endif     /* C style interface */
  170.  
  171.  
  172.  
  173. HRESULT STDMETHODCALLTYPE ICar_Shift_Proxy( 
  174.     ICar __RPC_FAR * This,
  175.     /* [in] */ short nGear);
  176.  
  177.  
  178. void __RPC_STUB ICar_Shift_Stub(
  179.     IRpcStubBuffer *This,
  180.     IRpcChannelBuffer *_pRpcChannelBuffer,
  181.     PRPC_MESSAGE _pRpcMessage,
  182.     DWORD *_pdwStubPhase);
  183.  
  184.  
  185. HRESULT STDMETHODCALLTYPE ICar_Clutch_Proxy( 
  186.     ICar __RPC_FAR * This,
  187.     /* [in] */ short nEngaged);
  188.  
  189.  
  190. void __RPC_STUB ICar_Clutch_Stub(
  191.     IRpcStubBuffer *This,
  192.     IRpcChannelBuffer *_pRpcChannelBuffer,
  193.     PRPC_MESSAGE _pRpcMessage,
  194.     DWORD *_pdwStubPhase);
  195.  
  196.  
  197. HRESULT STDMETHODCALLTYPE ICar_Speed_Proxy( 
  198.     ICar __RPC_FAR * This,
  199.     /* [in] */ short nMph);
  200.  
  201.  
  202. void __RPC_STUB ICar_Speed_Stub(
  203.     IRpcStubBuffer *This,
  204.     IRpcChannelBuffer *_pRpcChannelBuffer,
  205.     PRPC_MESSAGE _pRpcMessage,
  206.     DWORD *_pdwStubPhase);
  207.  
  208.  
  209. HRESULT STDMETHODCALLTYPE ICar_Steer_Proxy( 
  210.     ICar __RPC_FAR * This,
  211.     /* [in] */ short nAngle);
  212.  
  213.  
  214. void __RPC_STUB ICar_Steer_Stub(
  215.     IRpcStubBuffer *This,
  216.     IRpcChannelBuffer *_pRpcChannelBuffer,
  217.     PRPC_MESSAGE _pRpcMessage,
  218.     DWORD *_pdwStubPhase);
  219.  
  220.  
  221.  
  222. #endif     /* __ICar_INTERFACE_DEFINED__ */
  223.  
  224.  
  225. #ifndef __IUtility_INTERFACE_DEFINED__
  226. #define __IUtility_INTERFACE_DEFINED__
  227.  
  228. /****************************************
  229.  * Generated header for interface: IUtility
  230.  * at Mon Mar 30 03:35:25 1998
  231.  * using MIDL 3.03.0110
  232.  ****************************************/
  233. /* [object][uuid] */ 
  234.  
  235.  
  236.  
  237. EXTERN_C const IID IID_IUtility;
  238.  
  239. #if defined(__cplusplus) && !defined(CINTERFACE)
  240.     
  241.     MIDL_INTERFACE("0002da01-0000-0000-c000-000000000046")
  242.     IUtility : public IUnknown
  243.     {
  244.     public:
  245.         virtual HRESULT STDMETHODCALLTYPE Offroad( 
  246.             /* [in] */ short nGear) = 0;
  247.         
  248.         virtual HRESULT STDMETHODCALLTYPE Winch( 
  249.             /* [in] */ short nRpm) = 0;
  250.         
  251.     };
  252.     
  253. #else     /* C style interface */
  254.  
  255.     typedef struct IUtilityVtbl
  256.     {
  257.         BEGIN_INTERFACE
  258.         
  259.         HRESULT ( STDMETHODCALLTYPE __RPC_FAR *QueryInterface )( 
  260.             IUtility __RPC_FAR * This,
  261.             /* [in] */ REFIID riid,
  262.             /* [iid_is][out] */ void __RPC_FAR *__RPC_FAR *ppvObject);
  263.         
  264.         ULONG ( STDMETHODCALLTYPE __RPC_FAR *AddRef )( 
  265.             IUtility __RPC_FAR * This);
  266.         
  267.         ULONG ( STDMETHODCALLTYPE __RPC_FAR *Release )( 
  268.             IUtility __RPC_FAR * This);
  269.         
  270.         HRESULT ( STDMETHODCALLTYPE __RPC_FAR *Offroad )( 
  271.             IUtility __RPC_FAR * This,
  272.             /* [in] */ short nGear);
  273.         
  274.         HRESULT ( STDMETHODCALLTYPE __RPC_FAR *Winch )( 
  275.             IUtility __RPC_FAR * This,
  276.             /* [in] */ short nRpm);
  277.         
  278.         END_INTERFACE
  279.     } IUtilityVtbl;
  280.  
  281.     interface IUtility
  282.     {
  283.         CONST_VTBL struct IUtilityVtbl __RPC_FAR *lpVtbl;
  284.     };
  285.  
  286.     
  287.  
  288. #ifdef COBJMACROS
  289.  
  290.  
  291. #define IUtility_QueryInterface(This,riid,ppvObject)    \
  292.     (This)->lpVtbl -> QueryInterface(This,riid,ppvObject)
  293.  
  294. #define IUtility_AddRef(This)    \
  295.     (This)->lpVtbl -> AddRef(This)
  296.  
  297. #define IUtility_Release(This)    \
  298.     (This)->lpVtbl -> Release(This)
  299.  
  300.  
  301. #define IUtility_Offroad(This,nGear)    \
  302.     (This)->lpVtbl -> Offroad(This,nGear)
  303.  
  304. #define IUtility_Winch(This,nRpm)    \
  305.     (This)->lpVtbl -> Winch(This,nRpm)
  306.  
  307. #endif /* COBJMACROS */
  308.  
  309.  
  310. #endif     /* C style interface */
  311.  
  312.  
  313.  
  314. HRESULT STDMETHODCALLTYPE IUtility_Offroad_Proxy( 
  315.     IUtility __RPC_FAR * This,
  316.     /* [in] */ short nGear);
  317.  
  318.  
  319. void __RPC_STUB IUtility_Offroad_Stub(
  320.     IRpcStubBuffer *This,
  321.     IRpcChannelBuffer *_pRpcChannelBuffer,
  322.     PRPC_MESSAGE _pRpcMessage,
  323.     DWORD *_pdwStubPhase);
  324.  
  325.  
  326. HRESULT STDMETHODCALLTYPE IUtility_Winch_Proxy( 
  327.     IUtility __RPC_FAR * This,
  328.     /* [in] */ short nRpm);
  329.  
  330.  
  331. void __RPC_STUB IUtility_Winch_Stub(
  332.     IRpcStubBuffer *This,
  333.     IRpcChannelBuffer *_pRpcChannelBuffer,
  334.     PRPC_MESSAGE _pRpcMessage,
  335.     DWORD *_pdwStubPhase);
  336.  
  337.  
  338.  
  339. #endif     /* __IUtility_INTERFACE_DEFINED__ */
  340.  
  341.  
  342. #ifndef __ICruise_INTERFACE_DEFINED__
  343. #define __ICruise_INTERFACE_DEFINED__
  344.  
  345. /****************************************
  346.  * Generated header for interface: ICruise
  347.  * at Mon Mar 30 03:35:25 1998
  348.  * using MIDL 3.03.0110
  349.  ****************************************/
  350. /* [object][uuid] */ 
  351.  
  352.  
  353.  
  354. EXTERN_C const IID IID_ICruise;
  355.  
  356. #if defined(__cplusplus) && !defined(CINTERFACE)
  357.     
  358.     MIDL_INTERFACE("0002da02-0000-0000-c000-000000000046")
  359.     ICruise : public IUnknown
  360.     {
  361.     public:
  362.         virtual HRESULT STDMETHODCALLTYPE Engage( 
  363.             /* [in] */ BOOL bOnOff) = 0;
  364.         
  365.         virtual HRESULT STDMETHODCALLTYPE Adjust( 
  366.             /* [in] */ BOOL bUpDown) = 0;
  367.         
  368.     };
  369.     
  370. #else     /* C style interface */
  371.  
  372.     typedef struct ICruiseVtbl
  373.     {
  374.         BEGIN_INTERFACE
  375.         
  376.         HRESULT ( STDMETHODCALLTYPE __RPC_FAR *QueryInterface )( 
  377.             ICruise __RPC_FAR * This,
  378.             /* [in] */ REFIID riid,
  379.             /* [iid_is][out] */ void __RPC_FAR *__RPC_FAR *ppvObject);
  380.         
  381.         ULONG ( STDMETHODCALLTYPE __RPC_FAR *AddRef )( 
  382.             ICruise __RPC_FAR * This);
  383.         
  384.         ULONG ( STDMETHODCALLTYPE __RPC_FAR *Release )( 
  385.             ICruise __RPC_FAR * This);
  386.         
  387.         HRESULT ( STDMETHODCALLTYPE __RPC_FAR *Engage )( 
  388.             ICruise __RPC_FAR * This,
  389.             /* [in] */ BOOL bOnOff);
  390.         
  391.         HRESULT ( STDMETHODCALLTYPE __RPC_FAR *Adjust )( 
  392.             ICruise __RPC_FAR * This,
  393.             /* [in] */ BOOL bUpDown);
  394.         
  395.         END_INTERFACE
  396.     } ICruiseVtbl;
  397.  
  398.     interface ICruise
  399.     {
  400.         CONST_VTBL struct ICruiseVtbl __RPC_FAR *lpVtbl;
  401.     };
  402.  
  403.     
  404.  
  405. #ifdef COBJMACROS
  406.  
  407.  
  408. #define ICruise_QueryInterface(This,riid,ppvObject)    \
  409.     (This)->lpVtbl -> QueryInterface(This,riid,ppvObject)
  410.  
  411. #define ICruise_AddRef(This)    \
  412.     (This)->lpVtbl -> AddRef(This)
  413.  
  414. #define ICruise_Release(This)    \
  415.     (This)->lpVtbl -> Release(This)
  416.  
  417.  
  418. #define ICruise_Engage(This,bOnOff)    \
  419.     (This)->lpVtbl -> Engage(This,bOnOff)
  420.  
  421. #define ICruise_Adjust(This,bUpDown)    \
  422.     (This)->lpVtbl -> Adjust(This,bUpDown)
  423.  
  424. #endif /* COBJMACROS */
  425.  
  426.  
  427. #endif     /* C style interface */
  428.  
  429.  
  430.  
  431. HRESULT STDMETHODCALLTYPE ICruise_Engage_Proxy( 
  432.     ICruise __RPC_FAR * This,
  433.     /* [in] */ BOOL bOnOff);
  434.  
  435.  
  436. void __RPC_STUB ICruise_Engage_Stub(
  437.     IRpcStubBuffer *This,
  438.     IRpcChannelBuffer *_pRpcChannelBuffer,
  439.     PRPC_MESSAGE _pRpcMessage,
  440.     DWORD *_pdwStubPhase);
  441.  
  442.  
  443. HRESULT STDMETHODCALLTYPE ICruise_Adjust_Proxy( 
  444.     ICruise __RPC_FAR * This,
  445.     /* [in] */ BOOL bUpDown);
  446.  
  447.  
  448. void __RPC_STUB ICruise_Adjust_Stub(
  449.     IRpcStubBuffer *This,
  450.     IRpcChannelBuffer *_pRpcChannelBuffer,
  451.     PRPC_MESSAGE _pRpcMessage,
  452.     DWORD *_pdwStubPhase);
  453.  
  454.  
  455.  
  456. #endif     /* __ICruise_INTERFACE_DEFINED__ */
  457.  
  458.  
  459. /* Additional Prototypes for ALL interfaces */
  460.  
  461. /* end of Additional Prototypes */
  462.  
  463. #ifdef __cplusplus
  464. }
  465. #endif
  466.  
  467. #endif
  468.