IANIMAL.H
#include "rpc.h" 
#include "rpcndr.h" 
 
#ifndef __ianimal_h__ 
#define __ianimal_h__ 
 
#ifdef __cplusplus 
extern "C"{ 
#endif  
 
/* Forward Declarations */  
 
#ifndef __IAnimal_FWD_DEFINED__ 
#define __IAnimal_FWD_DEFINED__ 
typedef interface IAnimal IAnimal; 
#endif /* __IAnimal_FWD_DEFINED__ */ 
 
 
#include "unknwn.h" 
void __RPC_FAR * __RPC_USER MIDL_user_allocate(size_t); 
void __RPC_USER MIDL_user_free( void __RPC_FAR * );  
 
#ifndef __IAnimal_INTERFACE_DEFINED__ 
#define __IAnimal_INTERFACE_DEFINED__ 
 
/**************************************** 
 * Generated header for interface: IAnimal 
 * at Thu Apr 20 09:35:58 1995 
 * using MIDL 2.00.72 
 ****************************************/ 
/* [object][uuid] */  
 
 
 
EXTERN_C const IID IID_IAnimal; 
 
#if defined(__cplusplus) && !defined(CINTERFACE) 
     
    interface IAnimal : public IUnknown 
    { 
    public: 
        virtual HRESULT __stdcall Eat(  
            /* [in] */ LPTSTR pszFoodRecommended, 
            /* [out][in] */ LPTSTR pszFoodEaten, 
            /* [in] */ short cchEaten) = 0; 
         
        virtual HRESULT __stdcall Sleep(  
            /* [out][in] */ short __RPC_FAR *pcMinutes) = 0; 
         
        virtual HRESULT __stdcall Procreate(  
            /* [out] */ short __RPC_FAR *pcOffspring) = 0; 
         
        virtual HRESULT __stdcall WhatKindOfAnimal(  
            /* [out] */ IID __RPC_FAR *pIID) = 0; 
         
    }; 
     
#else /* C style interface */ 
     
    typedef struct IAnimalVtbl 
    { 
         
        HRESULT ( __stdcall __RPC_FAR *QueryInterface )(  
            IAnimal __RPC_FAR * This, 
            /* [in] */ REFIID riid, 
            /* [out] */ void __RPC_FAR *__RPC_FAR *ppvObject); 
         
        ULONG ( __stdcall __RPC_FAR *AddRef )(  
            IAnimal __RPC_FAR * This); 
         
        ULONG ( __stdcall __RPC_FAR *Release )(  
            IAnimal __RPC_FAR * This); 
         
        HRESULT ( __stdcall __RPC_FAR *Eat )(  
            IAnimal __RPC_FAR * This, 
            /* [in] */ LPTSTR pszFoodRecommended, 
            /* [out][in] */ LPTSTR pszFoodEaten, 
            /* [in] */ short cchEaten); 
         
        HRESULT ( __stdcall __RPC_FAR *Sleep )(  
            IAnimal __RPC_FAR * This, 
            /* [out][in] */ short __RPC_FAR *pcMinutes); 
         
        HRESULT ( __stdcall __RPC_FAR *Procreate )(  
            IAnimal __RPC_FAR * This, 
            /* [out] */ short __RPC_FAR *pcOffspring); 
         
        HRESULT ( __stdcall __RPC_FAR *WhatKindOfAnimal )(  
            IAnimal __RPC_FAR * This, 
            /* [out] */ IID __RPC_FAR *pIID); 
         
    } IAnimalVtbl; 
     
    interface IAnimal 
    { 
        CONST_VTBL struct IAnimalVtbl __RPC_FAR *lpVtbl; 
    }; 
     
     
 
#ifdef COBJMACROS 
 
 
#define IAnimal_QueryInterface(This,riid,ppvObject)\ 
    (This)->lpVtbl -> QueryInterface(This,riid,ppvObject) 
 
#define IAnimal_AddRef(This)\ 
    (This)->lpVtbl -> AddRef(This) 
 
#define IAnimal_Release(This)\ 
    (This)->lpVtbl -> Release(This) 
 
 
#define IAnimal_Eat(This,pszFoodRecommended,pszFoodEaten,cchEaten)\ 
    (This)->lpVtbl -> Eat(This,pszFoodRecommended,pszFoodEaten,cchEaten) 
 
#define IAnimal_Sleep(This,pcMinutes)\ 
    (This)->lpVtbl -> Sleep(This,pcMinutes) 
 
#define IAnimal_Procreate(This,pcOffspring)\ 
    (This)->lpVtbl -> Procreate(This,pcOffspring) 
 
#define IAnimal_WhatKindOfAnimal(This,pIID)\ 
    (This)->lpVtbl -> WhatKindOfAnimal(This,pIID) 
 
#endif /* COBJMACROS */ 
 
 
#endif /* C style interface */ 
 
 
 
HRESULT __stdcall IAnimal_Eat_Proxy(  
    IAnimal __RPC_FAR * This, 
    /* [in] */ LPTSTR pszFoodRecommended, 
    /* [out][in] */ LPTSTR pszFoodEaten, 
    /* [in] */ short cchEaten); 
 
 
void __RPC_STUB IAnimal_Eat_Stub( 
    IRpcStubBuffer *This, 
    IRpcChannelBuffer *_pRpcChannelBuffer, 
    PRPC_MESSAGE _pRpcMessage, 
    DWORD *_pdwStubPhase); 
 
 
HRESULT __stdcall IAnimal_Sleep_Proxy(  
    IAnimal __RPC_FAR * This, 
    /* [out][in] */ short __RPC_FAR *pcMinutes); 
 
 
void __RPC_STUB IAnimal_Sleep_Stub( 
    IRpcStubBuffer *This, 
    IRpcChannelBuffer *_pRpcChannelBuffer, 
    PRPC_MESSAGE _pRpcMessage, 
    DWORD *_pdwStubPhase); 
 
 
HRESULT __stdcall IAnimal_Procreate_Proxy(  
    IAnimal __RPC_FAR * This, 
    /* [out] */ short __RPC_FAR *pcOffspring); 
 
 
void __RPC_STUB IAnimal_Procreate_Stub( 
    IRpcStubBuffer *This, 
    IRpcChannelBuffer *_pRpcChannelBuffer, 
    PRPC_MESSAGE _pRpcMessage, 
    DWORD *_pdwStubPhase); 
 
 
HRESULT __stdcall IAnimal_WhatKindOfAnimal_Proxy(  
    IAnimal __RPC_FAR * This, 
    /* [out] */ IID __RPC_FAR *pIID); 
 
 
void __RPC_STUB IAnimal_WhatKindOfAnimal_Stub( 
    IRpcStubBuffer *This, 
    IRpcChannelBuffer *_pRpcChannelBuffer, 
    PRPC_MESSAGE _pRpcMessage, 
    DWORD *_pdwStubPhase); 
 
 
 
#endif /* __IAnimal_INTERFACE_DEFINED__ */ 
 
 
/* Additional Prototypes for ALL interfaces */ 
 
/* end of Additional Prototypes */ 
 
#ifdef __cplusplus 
} 
#endif 
 
#endif