mirror of https://github.com/lianthony/NT4.0
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.
102 lines
2.2 KiB
102 lines
2.2 KiB
//+-------------------------------------------------------------------------
|
|
//
|
|
// Microsoft Windows
|
|
// Copyright (C) Microsoft Corporation, 1993 - 1993.
|
|
//
|
|
// File: idata.hxx
|
|
//
|
|
// Contents: IDataObject implementation for path
|
|
//
|
|
// History: 27-Oct-95 BruceFo stolen from old sharing tool
|
|
//
|
|
//--------------------------------------------------------------------------
|
|
|
|
#include <objbase.h>
|
|
|
|
//+-------------------------------------------------------------------------
|
|
//
|
|
// Class: CDataObject
|
|
//
|
|
// Synopsis: Standard result data object implementataion.
|
|
//
|
|
//--------------------------------------------------------------------------
|
|
|
|
class CDataObject: public IDataObject
|
|
{
|
|
|
|
public:
|
|
|
|
CDataObject(VOID);
|
|
~CDataObject();
|
|
|
|
//
|
|
// Second-phase constructor
|
|
//
|
|
|
|
HRESULT
|
|
InitInstance(
|
|
IN PWSTR pszItem
|
|
);
|
|
|
|
//
|
|
// IUnknown methods
|
|
//
|
|
|
|
STDMETHOD(QueryInterface)(REFIID riid, LPVOID * ppvObj);
|
|
STDMETHOD_(ULONG,AddRef)(VOID);
|
|
STDMETHOD_(ULONG,Release)(VOID);
|
|
|
|
//
|
|
// IDataObject methods
|
|
//
|
|
|
|
STDMETHOD(GetData)(
|
|
IN LPFORMATETC pFormatEtc,
|
|
OUT LPSTGMEDIUM pStgMedium
|
|
);
|
|
|
|
STDMETHOD(GetDataHere)(
|
|
IN LPFORMATETC pformatetc,
|
|
IN OUT LPSTGMEDIUM pmedium
|
|
);
|
|
|
|
STDMETHOD(QueryGetData)(
|
|
IN LPFORMATETC pformatetc
|
|
);
|
|
|
|
STDMETHOD(GetCanonicalFormatEtc)(
|
|
IN LPFORMATETC pformatetc,
|
|
IN LPFORMATETC pformatetcOut
|
|
);
|
|
|
|
STDMETHOD(SetData)(
|
|
IN LPFORMATETC pformatetc,
|
|
IN OUT STGMEDIUM * pmedium,
|
|
IN BOOL fRelease
|
|
);
|
|
|
|
STDMETHOD(EnumFormatEtc)(
|
|
IN DWORD dwDirection,
|
|
IN LPENUMFORMATETC * ppenumFormatEtc
|
|
);
|
|
|
|
STDMETHOD(DAdvise)(
|
|
IN FORMATETC * pFormatetc,
|
|
IN DWORD advf,
|
|
IN LPADVISESINK pAdvSink,
|
|
IN DWORD * pdwConnection
|
|
);
|
|
|
|
STDMETHOD(DUnadvise)(
|
|
IN DWORD dwConnection
|
|
);
|
|
|
|
STDMETHOD(EnumDAdvise)(
|
|
IN LPENUMSTATDATA * ppenumAdvise
|
|
);
|
|
|
|
private:
|
|
|
|
ULONG m_refs;
|
|
PWSTR m_pszItem;
|
|
};
|