mirror of https://github.com/tongzx/nt5src
You can not select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
75 lines
2.8 KiB
75 lines
2.8 KiB
//+-------------------------------------------------------------------
|
|
//
|
|
// File: dataobj.hxx
|
|
//
|
|
// Contents: CDataObject declaration
|
|
//
|
|
// History: 24-Nov-92 DeanE Created
|
|
//
|
|
//---------------------------------------------------------------------
|
|
|
|
#ifndef __DATAOBJ_HXX__
|
|
#define __DATAOBJ_HXX__
|
|
|
|
|
|
//+-------------------------------------------------------------------
|
|
// Class: CDataObject
|
|
//
|
|
// Synopsis: Test class CDataObject
|
|
//
|
|
// Methods: QueryInterface IUnknown
|
|
// AddRef IUnknown
|
|
// Release IUnknown
|
|
// GetData IDataObject
|
|
// GetDataHere IDataObject
|
|
// QueryGetData IDataObject
|
|
// GetCanonicalFormatEtc IDataObject
|
|
// SetData IDataObject
|
|
// EnumFormatEtc IDataObject
|
|
// DAdvise IDataObject
|
|
// DUnadvise IDataObject
|
|
// EnumDAdvise IDataObject
|
|
//
|
|
// History: 24-Nov-92 DeanE Created
|
|
//--------------------------------------------------------------------
|
|
class FAR CDataObject : public IDataObject
|
|
{
|
|
public:
|
|
// Constructor/Destructor
|
|
CDataObject(CTestEmbed *pteObject);
|
|
~CDataObject();
|
|
|
|
// IUnknown - Everyone inherits from this
|
|
STDMETHODIMP QueryInterface(REFIID iid, void FAR * FAR *ppv);
|
|
STDMETHODIMP_(ULONG) AddRef (void);
|
|
STDMETHODIMP_(ULONG) Release (void);
|
|
|
|
// IDataObject
|
|
STDMETHODIMP GetData (LPFORMATETC pformatetcIn,
|
|
LPSTGMEDIUM pmedium);
|
|
STDMETHODIMP GetDataHere (LPFORMATETC pformatetc,
|
|
LPSTGMEDIUM pmedium);
|
|
STDMETHODIMP QueryGetData (LPFORMATETC pformatetc);
|
|
STDMETHODIMP GetCanonicalFormatEtc(
|
|
LPFORMATETC pformatetc,
|
|
LPFORMATETC pformatetcOut);
|
|
STDMETHODIMP SetData (LPFORMATETC pformatetc,
|
|
STGMEDIUM FAR *pmedium,
|
|
BOOL fRelease);
|
|
STDMETHODIMP EnumFormatEtc (DWORD dwDirection,
|
|
LPENUMFORMATETC FAR *ppenmFormatEtc);
|
|
STDMETHODIMP DAdvise (FORMATETC FAR *pFormatetc,
|
|
DWORD advf,
|
|
LPADVISESINK pAdvSink,
|
|
DWORD FAR *pdwConnection);
|
|
STDMETHODIMP DUnadvise (DWORD dwConnection);
|
|
STDMETHODIMP EnumDAdvise (LPENUMSTATDATA FAR *ppenmAdvise);
|
|
|
|
private:
|
|
ULONG _cRef; // Reference count
|
|
IDataAdviseHolder FAR *_pDAHolder; // Advise Holder
|
|
CTestEmbed *_pteObject; // Object we're associated with
|
|
};
|
|
|
|
|
|
#endif // __DATAOBJ_HXX__
|