Source code of Windows XP (NT5)
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

//+-------------------------------------------------------------------
//
// 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__