windows-nt/Source/XPSP1/NT/base/remoteboot/admin/dataobj.h

99 lines
2.4 KiB
C
Raw Normal View History

2020-09-26 03:20:57 -05:00
//
// 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_