vxidl.h
上传用户:luoyougen
上传日期:2008-05-12
资源大小:23136k
文件大小:4k
源码类别:

VxWorks

开发平台:

C/C++

  1. /* vxidl.h generated by WIDL Version 2.2.1 on 06-Dec-01 at 11:42:45 AM */
  2. #include "comBase.h"
  3. #ifndef __INCvxidl_h
  4. #define __INCvxidl_h
  5. #include "comCoreTypes.h"
  6. #include "comAutomation.h"
  7. #include "vxStream.h"
  8. #include "ConnectionPoint.h"
  9. #ifdef __cplusplus
  10. extern "C" {
  11. #endif
  12. int include_vxidl (void);
  13. #ifndef __IMarshal_FWD_DEFINED__
  14. #define __IMarshal_FWD_DEFINED__
  15. typedef interface IMarshal IMarshal;
  16. #endif /* __IMarshal_FWD_DEFINED__ */
  17. /* vxidl.h -- Copyright (c) Wind River Systems, Inc. 2001 */
  18. typedef IMarshal* LPMARSHAL;
  19. typedef struct
  20.     {
  21.     COM_VTBL_BEGIN
  22.     COM_VTBL_ENTRY (HRESULT, QueryInterface, (IUnknown* pThis, REFIID riid, void** ppvObject));
  23. #define IUnknown_QueryInterface(pThis, riid, ppvObject) pThis->lpVtbl->QueryInterface(COM_ADJUST_THIS(pThis), riid, ppvObject)
  24.     COM_VTBL_ENTRY (ULONG, AddRef, (IUnknown* pThis));
  25. #define IUnknown_AddRef(pThis) pThis->lpVtbl->AddRef(COM_ADJUST_THIS(pThis))
  26.     COM_VTBL_ENTRY (ULONG, Release, (IUnknown* pThis));
  27. #define IUnknown_Release(pThis) pThis->lpVtbl->Release(COM_ADJUST_THIS(pThis))
  28.     COM_VTBL_ENTRY (HRESULT, GetUnmarshalClass, (IMarshal* pThis, REFIID riid, void* pv, DWORD dwDestContext, void* pvDestContext, DWORD mshlflags, CLSID* pCid));
  29. #define IMarshal_GetUnmarshalClass(pThis, riid, pv, dwDestContext, pvDestContext, mshlflags, pCid) pThis->lpVtbl->GetUnmarshalClass(COM_ADJUST_THIS(pThis), riid, pv, dwDestContext, pvDestContext, mshlflags, pCid)
  30.     COM_VTBL_ENTRY (HRESULT, GetMarshalSizeMax, (IMarshal* pThis, REFIID riid, void* pv, DWORD dwDestContext, void* pvDestContext, DWORD mshlflags, DWORD* pSize));
  31. #define IMarshal_GetMarshalSizeMax(pThis, riid, pv, dwDestContext, pvDestContext, mshlflags, pSize) pThis->lpVtbl->GetMarshalSizeMax(COM_ADJUST_THIS(pThis), riid, pv, dwDestContext, pvDestContext, mshlflags, pSize)
  32.     COM_VTBL_ENTRY (HRESULT, MarshalInterface, (IMarshal* pThis, IStream* pStm, REFIID riid, void* pv, DWORD dwDestContext, void* pvDestContext, DWORD mshlflags));
  33. #define IMarshal_MarshalInterface(pThis, pStm, riid, pv, dwDestContext, pvDestContext, mshlflags) pThis->lpVtbl->MarshalInterface(COM_ADJUST_THIS(pThis), pStm, riid, pv, dwDestContext, pvDestContext, mshlflags)
  34.     COM_VTBL_ENTRY (HRESULT, UnmarshalInterface, (IMarshal* pThis, IStream* pStm, REFIID riid, void** ppv));
  35. #define IMarshal_UnmarshalInterface(pThis, pStm, riid, ppv) pThis->lpVtbl->UnmarshalInterface(COM_ADJUST_THIS(pThis), pStm, riid, ppv)
  36.     COM_VTBL_ENTRY (HRESULT, ReleaseMarshalData, (IMarshal* pThis, IStream* pStm));
  37. #define IMarshal_ReleaseMarshalData(pThis, pStm) pThis->lpVtbl->ReleaseMarshalData(COM_ADJUST_THIS(pThis), pStm)
  38.     COM_VTBL_ENTRY (HRESULT, DisconnectObject, (IMarshal* pThis, DWORD dwReserved));
  39. #define IMarshal_DisconnectObject(pThis, dwReserved) pThis->lpVtbl->DisconnectObject(COM_ADJUST_THIS(pThis), dwReserved)
  40.     COM_VTBL_END
  41.     } IMarshalVtbl;
  42. #ifdef __cplusplus
  43. interface IMarshal : public IUnknown
  44. {
  45. virtual HRESULT GetUnmarshalClass (REFIID riid, void* pv, DWORD dwDestContext, void* pvDestContext, DWORD mshlflags, CLSID* pCid) =0;
  46. virtual HRESULT GetMarshalSizeMax (REFIID riid, void* pv, DWORD dwDestContext, void* pvDestContext, DWORD mshlflags, DWORD* pSize) =0;
  47. virtual HRESULT MarshalInterface (IStream* pStm, REFIID riid, void* pv, DWORD dwDestContext, void* pvDestContext, DWORD mshlflags) =0;
  48. virtual HRESULT UnmarshalInterface (IStream* pStm, REFIID riid, void** ppv) =0;
  49. virtual HRESULT ReleaseMarshalData (IStream* pStm) =0;
  50. virtual HRESULT DisconnectObject (DWORD dwReserved) =0;
  51. };
  52. #else
  53. /* C interface definition for IMarshal */
  54. interface IMarshal
  55.     {
  56.     const IMarshalVtbl *  lpVtbl;
  57.     };
  58. #endif /* __cplusplus */
  59. EXTERN_C const IID IID_IMarshal;
  60. #ifdef __cplusplus
  61. }
  62. #endif
  63. #endif /* __INCvxidl_h */