StructDemo.h
上传用户:weisheen
上传日期:2022-07-09
资源大小:19390k
文件大小:10k
源码类别:

ActiveX/DCOM/ATL

开发平台:

Visual C++

  1. /* this ALWAYS GENERATED file contains the definitions for the interfaces */
  2. /* File created by MIDL compiler version 5.01.0164 */
  3. /* at Fri Feb 26 16:43:51 2010
  4.  */
  5. /* Compiler settings for C:VCday11StructDemo03StructDemo.idl:
  6.     Oicf (OptLev=i2), W1, Zp8, env=Win32, ms_ext, c_ext
  7.     error checks: allocation ref bounds_check enum stub_data 
  8. */
  9. //@@MIDL_FILE_HEADING(  )
  10. /* verify that the <rpcndr.h> version is high enough to compile this file*/
  11. #ifndef __REQUIRED_RPCNDR_H_VERSION__
  12. #define __REQUIRED_RPCNDR_H_VERSION__ 440
  13. #endif
  14. #include "rpc.h"
  15. #include "rpcndr.h"
  16. #ifndef __RPCNDR_H_VERSION__
  17. #error this stub requires an updated version of <rpcndr.h>
  18. #endif // __RPCNDR_H_VERSION__
  19. #ifndef COM_NO_WINDOWS_H
  20. #include "windows.h"
  21. #include "ole2.h"
  22. #endif /*COM_NO_WINDOWS_H*/
  23. #ifndef __StructDemo_h__
  24. #define __StructDemo_h__
  25. #ifdef __cplusplus
  26. extern "C"{
  27. #endif 
  28. /* Forward Declarations */ 
  29. #ifndef __IMyStruct_FWD_DEFINED__
  30. #define __IMyStruct_FWD_DEFINED__
  31. typedef interface IMyStruct IMyStruct;
  32. #endif  /* __IMyStruct_FWD_DEFINED__ */
  33. #ifndef __MyStruct_FWD_DEFINED__
  34. #define __MyStruct_FWD_DEFINED__
  35. #ifdef __cplusplus
  36. typedef class MyStruct MyStruct;
  37. #else
  38. typedef struct MyStruct MyStruct;
  39. #endif /* __cplusplus */
  40. #endif  /* __MyStruct_FWD_DEFINED__ */
  41. /* header files for imported files */
  42. #include "oaidl.h"
  43. #include "ocidl.h"
  44. void __RPC_FAR * __RPC_USER MIDL_user_allocate(size_t);
  45. void __RPC_USER MIDL_user_free( void __RPC_FAR * ); 
  46. /* interface __MIDL_itf_StructDemo_0000 */
  47. /* [local] */ 
  48. typedef struct  StPerson
  49.     {
  50.     BSTR name;
  51.     UINT age;
  52.     BSTR sex;
  53.     } StPerson;
  54. extern RPC_IF_HANDLE __MIDL_itf_StructDemo_0000_v0_0_c_ifspec;
  55. extern RPC_IF_HANDLE __MIDL_itf_StructDemo_0000_v0_0_s_ifspec;
  56. #ifndef __IMyStruct_INTERFACE_DEFINED__
  57. #define __IMyStruct_INTERFACE_DEFINED__
  58. /* interface IMyStruct */
  59. /* [unique][helpstring][dual][uuid][object] */ 
  60. EXTERN_C const IID IID_IMyStruct;
  61. #if defined(__cplusplus) && !defined(CINTERFACE)
  62.     
  63.     MIDL_INTERFACE("4FB1A9EF-DBC7-498F-824D-1FEACA15E5A9")
  64.     IMyStruct : public IDispatch
  65.     {
  66.     public:
  67.         virtual /* [helpstring][id] */ HRESULT STDMETHODCALLTYPE GetPersonById( 
  68.             /* [in] */ UINT id,
  69.             /* [out] */ StPerson __RPC_FAR *__RPC_FAR *Result) = 0;
  70.         
  71.         virtual /* [helpstring][id] */ HRESULT STDMETHODCALLTYPE GetAllPerson( 
  72.             /* [out] */ UINT __RPC_FAR *number,
  73.             /* [out] */ StPerson __RPC_FAR *__RPC_FAR *Result) = 0;
  74.         
  75.         virtual /* [helpstring][id] */ HRESULT STDMETHODCALLTYPE SavePerson( 
  76.             /* [in] */ UINT number,
  77.             /* [in] */ StPerson __RPC_FAR *Result,
  78.             /* [out] */ UINT __RPC_FAR *pResult) = 0;
  79.         
  80.         virtual /* [helpstring][id][propget] */ HRESULT STDMETHODCALLTYPE get_UID( 
  81.             /* [retval][out] */ BSTR __RPC_FAR *pVal) = 0;
  82.         
  83.         virtual /* [helpstring][id][propput] */ HRESULT STDMETHODCALLTYPE put_UID( 
  84.             /* [in] */ BSTR newVal) = 0;
  85.         
  86.     };
  87.     
  88. #else  /* C style interface */
  89.     typedef struct IMyStructVtbl
  90.     {
  91.         BEGIN_INTERFACE
  92.         
  93.         HRESULT ( STDMETHODCALLTYPE __RPC_FAR *QueryInterface )( 
  94.             IMyStruct __RPC_FAR * This,
  95.             /* [in] */ REFIID riid,
  96.             /* [iid_is][out] */ void __RPC_FAR *__RPC_FAR *ppvObject);
  97.         
  98.         ULONG ( STDMETHODCALLTYPE __RPC_FAR *AddRef )( 
  99.             IMyStruct __RPC_FAR * This);
  100.         
  101.         ULONG ( STDMETHODCALLTYPE __RPC_FAR *Release )( 
  102.             IMyStruct __RPC_FAR * This);
  103.         
  104.         HRESULT ( STDMETHODCALLTYPE __RPC_FAR *GetTypeInfoCount )( 
  105.             IMyStruct __RPC_FAR * This,
  106.             /* [out] */ UINT __RPC_FAR *pctinfo);
  107.         
  108.         HRESULT ( STDMETHODCALLTYPE __RPC_FAR *GetTypeInfo )( 
  109.             IMyStruct __RPC_FAR * This,
  110.             /* [in] */ UINT iTInfo,
  111.             /* [in] */ LCID lcid,
  112.             /* [out] */ ITypeInfo __RPC_FAR *__RPC_FAR *ppTInfo);
  113.         
  114.         HRESULT ( STDMETHODCALLTYPE __RPC_FAR *GetIDsOfNames )( 
  115.             IMyStruct __RPC_FAR * This,
  116.             /* [in] */ REFIID riid,
  117.             /* [size_is][in] */ LPOLESTR __RPC_FAR *rgszNames,
  118.             /* [in] */ UINT cNames,
  119.             /* [in] */ LCID lcid,
  120.             /* [size_is][out] */ DISPID __RPC_FAR *rgDispId);
  121.         
  122.         /* [local] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *Invoke )( 
  123.             IMyStruct __RPC_FAR * This,
  124.             /* [in] */ DISPID dispIdMember,
  125.             /* [in] */ REFIID riid,
  126.             /* [in] */ LCID lcid,
  127.             /* [in] */ WORD wFlags,
  128.             /* [out][in] */ DISPPARAMS __RPC_FAR *pDispParams,
  129.             /* [out] */ VARIANT __RPC_FAR *pVarResult,
  130.             /* [out] */ EXCEPINFO __RPC_FAR *pExcepInfo,
  131.             /* [out] */ UINT __RPC_FAR *puArgErr);
  132.         
  133.         /* [helpstring][id] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *GetPersonById )( 
  134.             IMyStruct __RPC_FAR * This,
  135.             /* [in] */ UINT id,
  136.             /* [out] */ StPerson __RPC_FAR *__RPC_FAR *Result);
  137.         
  138.         /* [helpstring][id] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *GetAllPerson )( 
  139.             IMyStruct __RPC_FAR * This,
  140.             /* [out] */ UINT __RPC_FAR *number,
  141.             /* [out] */ StPerson __RPC_FAR *__RPC_FAR *Result);
  142.         
  143.         /* [helpstring][id] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *SavePerson )( 
  144.             IMyStruct __RPC_FAR * This,
  145.             /* [in] */ UINT number,
  146.             /* [in] */ StPerson __RPC_FAR *Result,
  147.             /* [out] */ UINT __RPC_FAR *pResult);
  148.         
  149.         /* [helpstring][id][propget] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *get_UID )( 
  150.             IMyStruct __RPC_FAR * This,
  151.             /* [retval][out] */ BSTR __RPC_FAR *pVal);
  152.         
  153.         /* [helpstring][id][propput] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *put_UID )( 
  154.             IMyStruct __RPC_FAR * This,
  155.             /* [in] */ BSTR newVal);
  156.         
  157.         END_INTERFACE
  158.     } IMyStructVtbl;
  159.     interface IMyStruct
  160.     {
  161.         CONST_VTBL struct IMyStructVtbl __RPC_FAR *lpVtbl;
  162.     };
  163.     
  164. #ifdef COBJMACROS
  165. #define IMyStruct_QueryInterface(This,riid,ppvObject)
  166.     (This)->lpVtbl -> QueryInterface(This,riid,ppvObject)
  167. #define IMyStruct_AddRef(This)
  168.     (This)->lpVtbl -> AddRef(This)
  169. #define IMyStruct_Release(This)
  170.     (This)->lpVtbl -> Release(This)
  171. #define IMyStruct_GetTypeInfoCount(This,pctinfo)
  172.     (This)->lpVtbl -> GetTypeInfoCount(This,pctinfo)
  173. #define IMyStruct_GetTypeInfo(This,iTInfo,lcid,ppTInfo)
  174.     (This)->lpVtbl -> GetTypeInfo(This,iTInfo,lcid,ppTInfo)
  175. #define IMyStruct_GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId)
  176.     (This)->lpVtbl -> GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId)
  177. #define IMyStruct_Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr)
  178.     (This)->lpVtbl -> Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr)
  179. #define IMyStruct_GetPersonById(This,id,Result)
  180.     (This)->lpVtbl -> GetPersonById(This,id,Result)
  181. #define IMyStruct_GetAllPerson(This,number,Result)
  182.     (This)->lpVtbl -> GetAllPerson(This,number,Result)
  183. #define IMyStruct_SavePerson(This,number,Result,pResult)
  184.     (This)->lpVtbl -> SavePerson(This,number,Result,pResult)
  185. #define IMyStruct_get_UID(This,pVal)
  186.     (This)->lpVtbl -> get_UID(This,pVal)
  187. #define IMyStruct_put_UID(This,newVal)
  188.     (This)->lpVtbl -> put_UID(This,newVal)
  189. #endif /* COBJMACROS */
  190. #endif  /* C style interface */
  191. /* [helpstring][id] */ HRESULT STDMETHODCALLTYPE IMyStruct_GetPersonById_Proxy( 
  192.     IMyStruct __RPC_FAR * This,
  193.     /* [in] */ UINT id,
  194.     /* [out] */ StPerson __RPC_FAR *__RPC_FAR *Result);
  195. void __RPC_STUB IMyStruct_GetPersonById_Stub(
  196.     IRpcStubBuffer *This,
  197.     IRpcChannelBuffer *_pRpcChannelBuffer,
  198.     PRPC_MESSAGE _pRpcMessage,
  199.     DWORD *_pdwStubPhase);
  200. /* [helpstring][id] */ HRESULT STDMETHODCALLTYPE IMyStruct_GetAllPerson_Proxy( 
  201.     IMyStruct __RPC_FAR * This,
  202.     /* [out] */ UINT __RPC_FAR *number,
  203.     /* [out] */ StPerson __RPC_FAR *__RPC_FAR *Result);
  204. void __RPC_STUB IMyStruct_GetAllPerson_Stub(
  205.     IRpcStubBuffer *This,
  206.     IRpcChannelBuffer *_pRpcChannelBuffer,
  207.     PRPC_MESSAGE _pRpcMessage,
  208.     DWORD *_pdwStubPhase);
  209. /* [helpstring][id] */ HRESULT STDMETHODCALLTYPE IMyStruct_SavePerson_Proxy( 
  210.     IMyStruct __RPC_FAR * This,
  211.     /* [in] */ UINT number,
  212.     /* [in] */ StPerson __RPC_FAR *Result,
  213.     /* [out] */ UINT __RPC_FAR *pResult);
  214. void __RPC_STUB IMyStruct_SavePerson_Stub(
  215.     IRpcStubBuffer *This,
  216.     IRpcChannelBuffer *_pRpcChannelBuffer,
  217.     PRPC_MESSAGE _pRpcMessage,
  218.     DWORD *_pdwStubPhase);
  219. /* [helpstring][id][propget] */ HRESULT STDMETHODCALLTYPE IMyStruct_get_UID_Proxy( 
  220.     IMyStruct __RPC_FAR * This,
  221.     /* [retval][out] */ BSTR __RPC_FAR *pVal);
  222. void __RPC_STUB IMyStruct_get_UID_Stub(
  223.     IRpcStubBuffer *This,
  224.     IRpcChannelBuffer *_pRpcChannelBuffer,
  225.     PRPC_MESSAGE _pRpcMessage,
  226.     DWORD *_pdwStubPhase);
  227. /* [helpstring][id][propput] */ HRESULT STDMETHODCALLTYPE IMyStruct_put_UID_Proxy( 
  228.     IMyStruct __RPC_FAR * This,
  229.     /* [in] */ BSTR newVal);
  230. void __RPC_STUB IMyStruct_put_UID_Stub(
  231.     IRpcStubBuffer *This,
  232.     IRpcChannelBuffer *_pRpcChannelBuffer,
  233.     PRPC_MESSAGE _pRpcMessage,
  234.     DWORD *_pdwStubPhase);
  235. #endif  /* __IMyStruct_INTERFACE_DEFINED__ */
  236. #ifndef __STRUCTDEMOLib_LIBRARY_DEFINED__
  237. #define __STRUCTDEMOLib_LIBRARY_DEFINED__
  238. /* library STRUCTDEMOLib */
  239. /* [helpstring][version][uuid] */ 
  240. EXTERN_C const IID LIBID_STRUCTDEMOLib;
  241. EXTERN_C const CLSID CLSID_MyStruct;
  242. #ifdef __cplusplus
  243. class DECLSPEC_UUID("0C704694-9121-496F-B635-FD4B3BAD4C53")
  244. MyStruct;
  245. #endif
  246. #endif /* __STRUCTDEMOLib_LIBRARY_DEFINED__ */
  247. /* Additional Prototypes for ALL interfaces */
  248. unsigned long             __RPC_USER  BSTR_UserSize(     unsigned long __RPC_FAR *, unsigned long            , BSTR __RPC_FAR * ); 
  249. unsigned char __RPC_FAR * __RPC_USER  BSTR_UserMarshal(  unsigned long __RPC_FAR *, unsigned char __RPC_FAR *, BSTR __RPC_FAR * ); 
  250. unsigned char __RPC_FAR * __RPC_USER  BSTR_UserUnmarshal(unsigned long __RPC_FAR *, unsigned char __RPC_FAR *, BSTR __RPC_FAR * ); 
  251. void                      __RPC_USER  BSTR_UserFree(     unsigned long __RPC_FAR *, BSTR __RPC_FAR * ); 
  252. /* end of Additional Prototypes */
  253. #ifdef __cplusplus
  254. }
  255. #endif
  256. #endif