Leaked source code of windows server 2003
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.

47 lines
1.2 KiB

  1. //
  2. // sdo.h
  3. //
  4. // Generic simple IDataObject object
  5. //
  6. #ifndef SDO_H
  7. #define SDO_H
  8. #include "private.h"
  9. class CDataObject : public IDataObject
  10. {
  11. public:
  12. CDataObject();
  13. ~CDataObject();
  14. //
  15. // IUnknown methods
  16. //
  17. STDMETHODIMP QueryInterface(REFIID riid, void **ppvObj);
  18. STDMETHODIMP_(ULONG) AddRef(void);
  19. STDMETHODIMP_(ULONG) Release(void);
  20. //
  21. // IDataObject
  22. //
  23. STDMETHODIMP GetData(FORMATETC *pfe, STGMEDIUM *psm);
  24. STDMETHODIMP GetDataHere(FORMATETC *pfe, STGMEDIUM *psm);
  25. STDMETHODIMP QueryGetData(FORMATETC *pfe);
  26. STDMETHODIMP GetCanonicalFormatEtc(FORMATETC *pfeIn, FORMATETC *pfeOut);
  27. STDMETHODIMP SetData(FORMATETC *pfe, STGMEDIUM *psm, BOOL fRelease);
  28. STDMETHODIMP EnumFormatEtc(DWORD dwDir, IEnumFORMATETC **ppefe);
  29. STDMETHODIMP DAdvise(FORMATETC *pfe, DWORD advf, IAdviseSink *pas, DWORD *pdwCookie);
  30. STDMETHODIMP DUnadvise(DWORD dwCookie);
  31. STDMETHODIMP EnumDAdvise(IEnumSTATDATA **ppesd);
  32. HRESULT _SetData(const WCHAR *pch, ULONG cch);
  33. private:
  34. FORMATETC _fe;
  35. STGMEDIUM _sm;
  36. BOOL _fReleaseSM;
  37. long _cRef;
  38. };
  39. #endif // SDO_H