IANIMAL.H
上传用户:bangxh
上传日期:2007-01-31
资源大小:42235k
文件大小:5k
源码类别:

Windows编程

开发平台:

Visual C++

  1. #include "rpc.h"
  2. #include "rpcndr.h"
  3. #ifndef __ianimal_h__
  4. #define __ianimal_h__
  5. #ifdef __cplusplus
  6. extern "C"{
  7. #endif 
  8. /* Forward Declarations */ 
  9. #ifndef __IAnimal_FWD_DEFINED__
  10. #define __IAnimal_FWD_DEFINED__
  11. typedef interface IAnimal IAnimal;
  12. #endif  /* __IAnimal_FWD_DEFINED__ */
  13. #include "unknwn.h"
  14. void __RPC_FAR * __RPC_USER MIDL_user_allocate(size_t);
  15. void __RPC_USER MIDL_user_free( void __RPC_FAR * ); 
  16. #ifndef __IAnimal_INTERFACE_DEFINED__
  17. #define __IAnimal_INTERFACE_DEFINED__
  18. /****************************************
  19.  * Generated header for interface: IAnimal
  20.  * at Thu Apr 20 09:35:58 1995
  21.  * using MIDL 2.00.72
  22.  ****************************************/
  23. /* [object][uuid] */ 
  24. EXTERN_C const IID IID_IAnimal;
  25. #if defined(__cplusplus) && !defined(CINTERFACE)
  26.     
  27.     interface IAnimal : public IUnknown
  28.     {
  29.     public:
  30.         virtual HRESULT __stdcall Eat( 
  31.             /* [in] */ LPTSTR pszFoodRecommended,
  32.             /* [out][in] */ LPTSTR pszFoodEaten,
  33.             /* [in] */ short cchEaten) = 0;
  34.         
  35.         virtual HRESULT __stdcall Sleep( 
  36.             /* [out][in] */ short __RPC_FAR *pcMinutes) = 0;
  37.         
  38.         virtual HRESULT __stdcall Procreate( 
  39.             /* [out] */ short __RPC_FAR *pcOffspring) = 0;
  40.         
  41.         virtual HRESULT __stdcall WhatKindOfAnimal( 
  42.             /* [out] */ IID __RPC_FAR *pIID) = 0;
  43.         
  44.     };
  45.     
  46. #else  /* C style interface */
  47.     
  48.     typedef struct IAnimalVtbl
  49.     {
  50.         
  51.         HRESULT ( __stdcall __RPC_FAR *QueryInterface )( 
  52.             IAnimal __RPC_FAR * This,
  53.             /* [in] */ REFIID riid,
  54.             /* [out] */ void __RPC_FAR *__RPC_FAR *ppvObject);
  55.         
  56.         ULONG ( __stdcall __RPC_FAR *AddRef )( 
  57.             IAnimal __RPC_FAR * This);
  58.         
  59.         ULONG ( __stdcall __RPC_FAR *Release )( 
  60.             IAnimal __RPC_FAR * This);
  61.         
  62.         HRESULT ( __stdcall __RPC_FAR *Eat )( 
  63.             IAnimal __RPC_FAR * This,
  64.             /* [in] */ LPTSTR pszFoodRecommended,
  65.             /* [out][in] */ LPTSTR pszFoodEaten,
  66.             /* [in] */ short cchEaten);
  67.         
  68.         HRESULT ( __stdcall __RPC_FAR *Sleep )( 
  69.             IAnimal __RPC_FAR * This,
  70.             /* [out][in] */ short __RPC_FAR *pcMinutes);
  71.         
  72.         HRESULT ( __stdcall __RPC_FAR *Procreate )( 
  73.             IAnimal __RPC_FAR * This,
  74.             /* [out] */ short __RPC_FAR *pcOffspring);
  75.         
  76.         HRESULT ( __stdcall __RPC_FAR *WhatKindOfAnimal )( 
  77.             IAnimal __RPC_FAR * This,
  78.             /* [out] */ IID __RPC_FAR *pIID);
  79.         
  80.     } IAnimalVtbl;
  81.     
  82.     interface IAnimal
  83.     {
  84.         CONST_VTBL struct IAnimalVtbl __RPC_FAR *lpVtbl;
  85.     };
  86.     
  87.     
  88. #ifdef COBJMACROS
  89. #define IAnimal_QueryInterface(This,riid,ppvObject)
  90.     (This)->lpVtbl -> QueryInterface(This,riid,ppvObject)
  91. #define IAnimal_AddRef(This)
  92.     (This)->lpVtbl -> AddRef(This)
  93. #define IAnimal_Release(This)
  94.     (This)->lpVtbl -> Release(This)
  95. #define IAnimal_Eat(This,pszFoodRecommended,pszFoodEaten,cchEaten)
  96.     (This)->lpVtbl -> Eat(This,pszFoodRecommended,pszFoodEaten,cchEaten)
  97. #define IAnimal_Sleep(This,pcMinutes)
  98.     (This)->lpVtbl -> Sleep(This,pcMinutes)
  99. #define IAnimal_Procreate(This,pcOffspring)
  100.     (This)->lpVtbl -> Procreate(This,pcOffspring)
  101. #define IAnimal_WhatKindOfAnimal(This,pIID)
  102.     (This)->lpVtbl -> WhatKindOfAnimal(This,pIID)
  103. #endif /* COBJMACROS */
  104. #endif  /* C style interface */
  105. HRESULT __stdcall IAnimal_Eat_Proxy( 
  106.     IAnimal __RPC_FAR * This,
  107.     /* [in] */ LPTSTR pszFoodRecommended,
  108.     /* [out][in] */ LPTSTR pszFoodEaten,
  109.     /* [in] */ short cchEaten);
  110. void __RPC_STUB IAnimal_Eat_Stub(
  111.     IRpcStubBuffer *This,
  112.     IRpcChannelBuffer *_pRpcChannelBuffer,
  113.     PRPC_MESSAGE _pRpcMessage,
  114.     DWORD *_pdwStubPhase);
  115. HRESULT __stdcall IAnimal_Sleep_Proxy( 
  116.     IAnimal __RPC_FAR * This,
  117.     /* [out][in] */ short __RPC_FAR *pcMinutes);
  118. void __RPC_STUB IAnimal_Sleep_Stub(
  119.     IRpcStubBuffer *This,
  120.     IRpcChannelBuffer *_pRpcChannelBuffer,
  121.     PRPC_MESSAGE _pRpcMessage,
  122.     DWORD *_pdwStubPhase);
  123. HRESULT __stdcall IAnimal_Procreate_Proxy( 
  124.     IAnimal __RPC_FAR * This,
  125.     /* [out] */ short __RPC_FAR *pcOffspring);
  126. void __RPC_STUB IAnimal_Procreate_Stub(
  127.     IRpcStubBuffer *This,
  128.     IRpcChannelBuffer *_pRpcChannelBuffer,
  129.     PRPC_MESSAGE _pRpcMessage,
  130.     DWORD *_pdwStubPhase);
  131. HRESULT __stdcall IAnimal_WhatKindOfAnimal_Proxy( 
  132.     IAnimal __RPC_FAR * This,
  133.     /* [out] */ IID __RPC_FAR *pIID);
  134. void __RPC_STUB IAnimal_WhatKindOfAnimal_Stub(
  135.     IRpcStubBuffer *This,
  136.     IRpcChannelBuffer *_pRpcChannelBuffer,
  137.     PRPC_MESSAGE _pRpcMessage,
  138.     DWORD *_pdwStubPhase);
  139. #endif  /* __IAnimal_INTERFACE_DEFINED__ */
  140. /* Additional Prototypes for ALL interfaces */
  141. /* end of Additional Prototypes */
  142. #ifdef __cplusplus
  143. }
  144. #endif
  145. #endif