|
|
//
// Copyright 1997 - Microsoft
//
//
// DATAOBJ.H - A data object
//
#ifndef _DATAOBJ_H_
#define _DATAOBJ_H_
// QITable
BEGIN_QITABLE( CDsPropDataObj ) DEFINE_QI( IID_IDataObject, IDataObject , 9 ) END_QITABLE
LPVOID CDsPropDataObj_CreateInstance( HWND hwndParent, IDataObject * pido, GUID * pClassGUID, BOOL fReadOnly, LPWSTR pszObjPath, LPWSTR bstrClass );
class CDsPropDataObj : public IDataObject { private: DECLARE_QITABLE( CDsPropDataObj );
CDsPropDataObj::CDsPropDataObj( HWND hwndParent, IDataObject * pido, GUID * pClassGUID, BOOL fReadOnly); ~CDsPropDataObj(void);
HRESULT Init(LPWSTR pwszObjName, LPWSTR pwszClass);
public: friend LPVOID CDsPropDataObj_CreateInstance( HWND hwndParent, IDataObject * pido, GUID * pClassGUID, BOOL fReadOnly, LPWSTR pszObjPath, LPWSTR bstrClass );
//
// IUnknown methods
//
STDMETHOD(QueryInterface)(REFIID riid, void ** ppvObject); STDMETHOD_(ULONG, AddRef)(void); STDMETHOD_(ULONG, Release)(void);
//
// Standard IDataObject methods
//
// Implemented
//
STDMETHOD(GetData)(FORMATETC * pformatetcIn, STGMEDIUM * pmedium);
STDMETHOD(GetDataHere)(FORMATETC * pFormatEtcIn, STGMEDIUM * pMedium);
STDMETHOD(EnumFormatEtc)(DWORD dwDirection, IEnumFORMATETC ** ppenumFormatEtc);
// Not Implemented
private: STDMETHOD(QueryGetData)(FORMATETC * pformatetc) { return E_NOTIMPL; };
STDMETHOD(GetCanonicalFormatEtc)(FORMATETC * pformatectIn, FORMATETC * pformatetcOut) { return E_NOTIMPL; };
STDMETHOD(SetData)(FORMATETC * pformatetc, STGMEDIUM * pmedium, BOOL fRelease) { return E_NOTIMPL; };
STDMETHOD(DAdvise)(FORMATETC * pformatetc, DWORD advf, IAdviseSink * pAdvSink, DWORD * pdwConnection) { return E_NOTIMPL; };
STDMETHOD(DUnadvise)(DWORD dwConnection) { return E_NOTIMPL; };
STDMETHOD(EnumDAdvise)(IEnumSTATDATA ** ppenumAdvise) { return E_NOTIMPL; };
BOOL m_fReadOnly; PWSTR m_pwszObjName; PWSTR m_pwszObjClass; GUID m_ClassGUID; IDataObject * m_pPage; unsigned long _cRef; HWND m_hwnd; };
typedef CDsPropDataObj * LPCDSPROPDATAOBJ;
#endif // _DATAOBJ_H_
|