home *** CD-ROM | disk | FTP | other *** search
- /*
- * IDATAOBJ.H
- *
- * Definitions of a template IDataObject interface implementation.
- *
- * Copyright (c)1993-1995 Microsoft Corporation, All Right Reserved
- *
- * Kraig Brockschmidt, Microsoft
- * Internet : kraigb@microsoft.com
- * Compuserve: >INTERNET:kraigb@microsoft.com
- */
-
-
- #ifndef _IDATAOBJ_H_
- #define _IDATAOBJ_H_
-
- #include <inole.h>
-
- class CImpIDataObject;
- typedef class CImpIDataObject *PCImpIDataObject;
-
- class CImpIDataObject : public IDataObject
- {
- private:
- ULONG m_cRef; //Interface reference count
- LPVOID m_pObj; //Backpointer to the object
- LPUNKNOWN m_pUnkOuter; //For delegation
-
- public:
- CImpIDataObject(LPVOID, LPUNKNOWN);
- ~CImpIDataObject(void);
-
- //IUnknown members that delegate to m_pUnkOuter.
- STDMETHODIMP QueryInterface(REFIID, LPVOID *);
- STDMETHODIMP_(ULONG) AddRef(void);
- STDMETHODIMP_(ULONG) Release(void);
-
- //IDataObject members
- STDMETHODIMP GetData(LPFORMATETC, LPSTGMEDIUM);
- STDMETHODIMP GetDataHere(LPFORMATETC, LPSTGMEDIUM);
- STDMETHODIMP QueryGetData(LPFORMATETC);
- STDMETHODIMP GetCanonicalFormatEtc(LPFORMATETC
- , LPFORMATETC);
- STDMETHODIMP SetData(LPFORMATETC, LPSTGMEDIUM, BOOL);
- STDMETHODIMP EnumFormatEtc(DWORD, LPENUMFORMATETC *);
- STDMETHODIMP DAdvise(LPFORMATETC, DWORD
- , LPADVISESINK, DWORD *);
- STDMETHODIMP DUnadvise(DWORD);
- STDMETHODIMP EnumDAdvise(LPENUMSTATDATA *);
- };
-
-
- #endif //_IDATAOBJ_H_
-