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.
36 lines
1.3 KiB
36 lines
1.3 KiB
|
|
// implements the dataobject for a deskbar band
|
|
|
|
extern UINT g_cfDeskBand;
|
|
extern UINT g_cfDeskBandState;
|
|
|
|
class CBandDataObject : public IDataObject
|
|
{
|
|
public:
|
|
// *** IUnknown ***
|
|
virtual STDMETHODIMP QueryInterface(REFIID riid, LPVOID * ppvObj);
|
|
virtual STDMETHODIMP_(ULONG) AddRef(void);
|
|
virtual STDMETHODIMP_(ULONG) Release(void);
|
|
|
|
// IDataObject methods
|
|
|
|
STDMETHODIMP GetData(FORMATETC *pfmtetcIn, STGMEDIUM *pstgmed);
|
|
STDMETHODIMP GetDataHere(FORMATETC *pfmtetc, STGMEDIUM *pstgpmed);
|
|
STDMETHODIMP QueryGetData(FORMATETC *pfmtetc);
|
|
STDMETHODIMP GetCanonicalFormatEtc(FORMATETC *pfmtetcIn, FORMATETC *pfmtetcOut);
|
|
STDMETHODIMP SetData(FORMATETC *pfmtetc, STGMEDIUM *pstgmed, BOOL bRelease);
|
|
STDMETHODIMP EnumFormatEtc(DWORD dwDirection, IEnumFORMATETC **ppienumFormatEtc);
|
|
STDMETHODIMP DAdvise(FORMATETC *pfmtetc, DWORD dwAdviseFlags, IAdviseSink * piadvsink, PDWORD pdwConnection);
|
|
STDMETHODIMP DUnadvise(DWORD dwConnection);
|
|
STDMETHODIMP EnumDAdvise(IEnumSTATDATA **ppienumStatData);
|
|
|
|
CBandDataObject();
|
|
HRESULT Init(IUnknown* punkBand, IBandSite *pbs, DWORD dwBandID);
|
|
|
|
protected:
|
|
~CBandDataObject();
|
|
ULONG _cRef;
|
|
IStream* _pstm; // band state (IPS::Save)
|
|
DWORD _dwState; // band's bandsite state (DWORD *)
|
|
};
|
|
|