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.
 
 
 
 
 
 

75 lines
1.5 KiB

#ifndef _BASENODE_H
#define _BASENODE_H
#include<mmc.h>
static const GUID GUID_MainNode = { /* 94759c36-36ec-46bf-b63a-613013ed1162 */
0x94759c36,
0x36ec,
0x46bf,
{0xb6, 0x3a, 0x61, 0x30, 0x13, 0xed, 0x11, 0x62}
};
enum nodeType
{ MAIN_NODE = 1 , CONNECTION_NODE, UNDEF_NODE };
class CBaseNode :
public IDataObject
{
ULONG m_cref;
nodeType m_nNodeType;
public:
CBaseNode( );
virtual ~CBaseNode( ) { }
STDMETHOD( QueryInterface )( REFIID , PVOID * );
STDMETHOD_( ULONG , AddRef )( );
STDMETHOD_( ULONG , Release )( );
// IDataObject
STDMETHOD( GetData )( LPFORMATETC , LPSTGMEDIUM );
STDMETHOD( GetDataHere )( LPFORMATETC , LPSTGMEDIUM );
STDMETHOD( QueryGetData )( LPFORMATETC );
STDMETHOD( GetCanonicalFormatEtc )( LPFORMATETC , LPFORMATETC );
STDMETHOD( SetData )( LPFORMATETC , LPSTGMEDIUM , BOOL );
STDMETHOD( EnumFormatEtc )( DWORD , LPENUMFORMATETC * );
STDMETHOD( DAdvise )( LPFORMATETC , ULONG , LPADVISESINK , PULONG );
STDMETHOD( DUnadvise )( DWORD );
STDMETHOD( EnumDAdvise )( LPENUMSTATDATA * );
// BaseNode methods are left to the derived object
void SetNodeType( nodeType nNodeType )
{
m_nNodeType = nNodeType;
}
nodeType GetNodeType( void )
{
return m_nNodeType;
}
virtual BOOL AddMenuItems( LPCONTEXTMENUCALLBACK , PLONG ) { return FALSE; }
virtual DWORD GetImageIdx( ){ return 0; }
};
#endif // _BASENODE_H