home *** CD-ROM | disk | FTP | other *** search
/ Tricks of the Windows Gam…ming Gurus (2nd Edition) / Disc2.iso / vc98 / mfc / src / olebind.h < prev    next >
Encoding:
C/C++ Source or Header  |  1998-06-16  |  2.7 KB  |  83 lines

  1. /*****************************************************************************\
  2. *                                                                             *
  3. * olebind.h     Data binding interfaces for OLE                               *
  4. *                                                                             *
  5. *               OLE Version 2.0                                               *
  6. *                                                                             *
  7. *               Copyright (c) 1992-1994, Microsoft Corp. All rights reserved. *
  8. *                                                                             *
  9. \*****************************************************************************/
  10.  
  11. #if !defined( _OLEBIND_H_ )
  12. #define _OLEBIND_H_
  13.  
  14. #if !defined( INITGUID )
  15. #include <olectl.h>
  16. #endif
  17.  
  18. DEFINE_GUID(IID_IBoundObject,
  19.     0x9BFBBC00,0xEFF1,0x101A,0x84,0xED,0x00,0xAA,0x00,0x34,0x1D,0x07);
  20. DEFINE_GUID(IID_IBoundObjectSite,
  21.     0x9BFBBC01,0xEFF1,0x101A,0x84,0xED,0x00,0xAA,0x00,0x34,0x1D,0x07);
  22.  
  23. typedef interface IBoundObject FAR* LPBOUNDOBJECT;
  24. typedef interface IBoundObjectSite FAR* LPBOUNDOBJECTSITE;
  25.  
  26. typedef interface ICursor FAR* LPCURSOR;
  27. typedef interface ICursor FAR* FAR* LPLPCURSOR;
  28. typedef interface ICursorMove FAR* LPCURSORMOVE;
  29. typedef interface ICursorScroll FAR* LPCURSORSCROLL;
  30. typedef interface ICursorFind FAR* LPCURSORFIND;
  31. typedef interface ICursorUpdateARow FAR* LPCURSORUPDATEAROW;
  32.  
  33. //////////////////////////////////////////////////////////////////////////////
  34. //
  35. //  IBoundObject interface
  36. //
  37. //////////////////////////////////////////////////////////////////////////////
  38.  
  39. #undef  INTERFACE
  40. #define INTERFACE IBoundObject
  41.  
  42. DECLARE_INTERFACE_(IBoundObject, IUnknown)
  43. {
  44.     //
  45.     //  IUnknown methods
  46.     //
  47.     STDMETHOD(QueryInterface)(THIS_ REFIID riid, LPVOID FAR* ppvObj) PURE;
  48.     STDMETHOD_(ULONG,AddRef)(THIS) PURE;
  49.     STDMETHOD_(ULONG,Release)(THIS) PURE;
  50.  
  51.     //
  52.     //  IBoundObject methods
  53.     //
  54.     STDMETHOD(OnSourceChanged)(THIS_ DISPID dispid, BOOL fBound, BOOL FAR* lpfOwnXferOut) PURE;
  55.     STDMETHOD(IsDirty)(THIS_ DISPID dispid) PURE;
  56. };
  57. //////////////////////////////////////////////////////////////////////////////
  58. //
  59. //  IBoundObjectSite interface
  60. //
  61. //////////////////////////////////////////////////////////////////////////////
  62.  
  63. #undef  INTERFACE
  64. #define INTERFACE IBoundObjectSite
  65.  
  66. DECLARE_INTERFACE_(IBoundObjectSite, IUnknown)
  67. {
  68.     //
  69.     //  IUnknown methods
  70.     //
  71.     STDMETHOD(QueryInterface)(THIS_ REFIID riid, LPVOID FAR* ppvObj) PURE;
  72.     STDMETHOD_(ULONG,AddRef)(THIS) PURE;
  73.     STDMETHOD_(ULONG,Release)(THIS) PURE;
  74.  
  75.     //
  76.     //  IBoundObjectSite methods
  77.     //
  78.     STDMETHOD(GetCursor)(THIS_ DISPID dispid, LPLPCURSOR ppCursor, LPVOID FAR* ppcidOut) PURE;
  79. };
  80.  
  81.  
  82. #endif // !defined( _OLEBIND_H_ )
  83.