home *** CD-ROM | disk | FTP | other *** search
/ Mastering Visual Basic 6 / mastvb6.iso / numega / sc501.exe / data1.cab / Examples / DATAOBJ.H < prev    next >
Encoding:
C/C++ Source or Header  |  1997-11-25  |  2.8 KB  |  85 lines

  1. /*
  2.  * DataObj.h
  3.  * $Header: /bcsample/IFACEDLL/DATAOBJ.H 1     5/28/96 1:12p Dave $
  4.  *
  5.  * Description:
  6.  *  Declaration of the class implementing IDataObject.
  7.  *
  8.  * Notes:
  9.  *  <implementation notes go here>
  10.  *
  11.  ***********************************************************************
  12.  *
  13.  * NuMega Technologies, Inc.
  14.  * P.O. Box 7780
  15.  * Nashua, NH 03060
  16.  *
  17.  * (c) Copyright 1994, 1995, 1996 NuMega Technologies, Inc.
  18.  * ALL RIGHTS RESERVED.
  19.  *
  20.  ***********************************************************************
  21.  *
  22.  **********************************************************************/
  23.  
  24. #ifndef _DATAOBJ_H
  25. #define _DATAOBJ_H
  26.  
  27. #include "IUnknown.h"
  28. #include "TstMacro.h"
  29.  
  30. class CIDataObject : public CInternalQuery , public IDataObject
  31. {
  32. protected   :
  33.     // Object reference count
  34.     ULONG           m_cRef          ;
  35.     // Controlling unknown
  36.     LPUNKNOWN       m_pUnkOuter     ;
  37.     // The base unknown class.
  38.     PCIUnknown      m_pBaseUnk      ;
  39.  
  40. public      :
  41.     CIDataObject ( LPUNKNOWN pUnkOuter , CIUnknown * pMainIUnk ) ;
  42.     ~CIDataObject ( void ) ;
  43.  
  44.     BOOL Init ( void ) ;
  45.  
  46.     virtual STDMETHODIMP InternalQueryInterface ( REFIID riid ,
  47.                                                   PPVOID ppv   ) ;
  48.  
  49.     DECLARE_IUNKNOWNFNS() ;
  50.  
  51.     // PUT ALL INTERFACE SPECIFIC FUNCTIONS HERE
  52.     virtual HRESULT __stdcall GetData ( FORMATETC __RPC_FAR *pformatetcIn ,
  53.                                         STGMEDIUM __RPC_FAR *pmedium       ) ;
  54.  
  55.     virtual HRESULT __stdcall GetDataHere ( FORMATETC __RPC_FAR *pformatetc,
  56.                                             STGMEDIUM __RPC_FAR *pmedium    ) ;
  57.         
  58.     virtual HRESULT __stdcall QueryGetData ( FORMATETC __RPC_FAR *pformatetc ) ;
  59.  
  60.     virtual HRESULT __stdcall GetCanonicalFormatEtc ( 
  61.         FORMATETC __RPC_FAR *pformatectIn ,
  62.         FORMATETC __RPC_FAR *pformatetcOut );
  63.  
  64.     virtual HRESULT __stdcall SetData ( FORMATETC __RPC_FAR *pformatetc ,
  65.                                         STGMEDIUM __RPC_FAR *pmedium    ,
  66.                                         BOOL fRelease                    );
  67.  
  68.     virtual HRESULT __stdcall EnumFormatEtc ( 
  69.         DWORD dwDirection                                   ,
  70.         IEnumFORMATETC __RPC_FAR *__RPC_FAR *ppenumFormatEtc ) ;
  71.  
  72.     virtual HRESULT __stdcall DAdvise ( FORMATETC __RPC_FAR *pformatetc ,
  73.                                         DWORD advf                      ,
  74.                                         IAdviseSink __RPC_FAR *pAdvSink ,
  75.                                         DWORD __RPC_FAR *pdwConnection   ) ;
  76.  
  77.     virtual HRESULT __stdcall DUnadvise( DWORD dwConnection ) ;
  78.  
  79.     virtual HRESULT __stdcall EnumDAdvise( IEnumSTATDATA __RPC_FAR *__RPC_FAR *ppenumAdvise ) ;
  80.  
  81. } ;
  82.  
  83. #endif      // _DATAOBJ_H
  84.  
  85.