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.
 
 
 
 
 
 

89 lines
2.5 KiB

// qryitem.h - header file for CQueryItem class
#ifndef _QRYITEM_H_
#define _QRYITEM_H_
#include "scopenode.h"
#include "rowitem.h"
#include "adext.h"
//------------------------------------------------------------------
// class CQueryItem
//------------------------------------------------------------------
class CQueryItem :
public CComObjectRootEx<CComSingleThreadModel>,
public CDataObjectImpl
{
public:
CQueryItem() : m_pRowItem(NULL), m_pADExt(NULL), m_spQueryNode(NULL) {}
virtual ~CQueryItem()
{
SAFE_DELETE(m_pRowItem);
SAFE_DELETE(m_pADExt);
}
HRESULT Initialize(CQueryableNode* pQueryNode, CRowItem* pRowItem);
DECLARE_NOT_AGGREGATABLE(CQueryItem)
BEGIN_COM_MAP(CQueryItem)
COM_INTERFACE_ENTRY(IDataObject)
COM_INTERFACE_ENTRY(IBOMObject)
END_COM_MAP()
//
// Notification handlers
//
DECLARE_NOTIFY_MAP()
STDMETHOD(OnHelp) (LPCONSOLE2 pConsole, LPARAM arg, LPARAM param);
STDMETHOD(OnSelect)(LPCONSOLE2 pConsole, BOOL bSelect, BOOL bScope);
STDMETHOD(OnDblClick)(LPCONSOLE2 pConsole);
//
// IDataObject helper method
//
STDMETHOD(GetDataImpl)(UINT cf, HGLOBAL* hGlobal);
//
// IBOMObject methods
//
STDMETHOD(AddMenuItems)(LPCONTEXTMENUCALLBACK pCallback, long* lAllowed);
STDMETHOD(MenuCommand)(LPCONSOLE2 pConsole, long lCommand);
STDMETHOD(SetToolButtons)(LPTOOLBAR pToolbar)
{ return S_FALSE; }
STDMETHOD(SetVerbs)(LPCONSOLEVERB pConsVerb)
{ return S_OK; }
STDMETHOD(QueryPagesFor)();
STDMETHOD(CreatePropertyPages)(LPPROPERTYSHEETCALLBACK lpProvider,LONG_PTR handle)
{ return E_UNEXPECTED; }
STDMETHOD(GetWatermarks)(HBITMAP* lphWatermark, HBITMAP* lphHeader, HPALETTE* lphPalette, BOOL* bStretch)
{ return E_UNEXPECTED; }
//
// Member variables
//
CQueryableNode* m_spQueryNode; // Query node that owns this item
CRowItem* m_pRowItem; // Row item info for this item
CActDirExt* m_pADExt; // Directory extension (handles AD menus and prop pages)
menucmd_vector m_vMenus; // Menu items defined for the query node
static UINT m_cfDisplayName; // supported clipboard formats
static UINT m_cfSnapInClsid;
static UINT m_cfNodeType;
static UINT m_cfszNodeType;
};
typedef CComPtr<CQueryItem> CQueryItemPtr;
#endif // _QRYITEM_H_