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.
|
|
// 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 *)
};
|