68 lines
1.7 KiB
C++
68 lines
1.7 KiB
C++
// DataObj.h : Declaration of the data object classes
|
|
|
|
#ifndef __DATAOBJ_H_INCLUDED__
|
|
#define __DATAOBJ_H_INCLUDED__
|
|
|
|
#include "cookie.h" // CMyComputerCookie
|
|
#include "stddtobj.h" // class DataObject
|
|
|
|
class CMyComputerDataObject : public CDataObject
|
|
{
|
|
DECLARE_NOT_AGGREGATABLE(CMyComputerDataObject)
|
|
|
|
public:
|
|
|
|
// debug refcount
|
|
#if DBG==1
|
|
ULONG InternalAddRef()
|
|
{
|
|
return CComObjectRoot::InternalAddRef();
|
|
}
|
|
ULONG InternalRelease()
|
|
{
|
|
return CComObjectRoot::InternalRelease();
|
|
}
|
|
int dbg_InstID;
|
|
#endif // DBG==1
|
|
|
|
CMyComputerDataObject()
|
|
: m_pcookie( NULL )
|
|
, m_objecttype( MYCOMPUT_COMPUTER )
|
|
, m_dataobjecttype( CCT_UNINITIALIZED )
|
|
{
|
|
}
|
|
|
|
~CMyComputerDataObject();
|
|
|
|
virtual HRESULT Initialize( CMyComputerCookie* pcookie, DATA_OBJECT_TYPES type, BOOL fAllowOverrideMachineName );
|
|
|
|
// IDataObject interface implementation
|
|
HRESULT STDMETHODCALLTYPE GetDataHere(
|
|
FORMATETC __RPC_FAR *pFormatEtcIn,
|
|
STGMEDIUM __RPC_FAR *pMedium);
|
|
|
|
//#define __DAN_MORIN_HARDCODED_CONTEXT_MENU_EXTENSION__
|
|
HRESULT STDMETHODCALLTYPE GetData(
|
|
FORMATETC __RPC_FAR *pFormatEtcIn,
|
|
STGMEDIUM __RPC_FAR *pMedium);
|
|
|
|
HRESULT PutDisplayName(STGMEDIUM* pMedium);
|
|
HRESULT PutServiceName(STGMEDIUM* pMedium);
|
|
|
|
protected:
|
|
CMyComputerCookie* m_pcookie; // the CCookieBlock is AddRef'ed for the life of the DataObject
|
|
MyComputerObjectType m_objecttype;
|
|
DATA_OBJECT_TYPES m_dataobjecttype;
|
|
BOOL m_fAllowOverrideMachineName; // From CMyComputerComponentData
|
|
|
|
public:
|
|
// Clipboard formats
|
|
static CLIPFORMAT m_CFDisplayName;
|
|
static CLIPFORMAT m_CFMachineName;
|
|
// static CLIPFORMAT m_cfSendConsoleMessageText;
|
|
static CLIPFORMAT m_cfSendConsoleMessageRecipients;
|
|
|
|
}; // CMyComputerDataObject
|
|
|
|
#endif // ~__DATAOBJ_H_INCLUDED__
|