// compdata.h : IComponentData Interface to communicate with MMC for scope pane use
//
// This is a part of the MMC SDK.
// Copyright (C) 1997 Microsoft Corporation
// All rights reserved.
//
// This source code is only intended as a supplement to the
// MMC SDK Reference and related
// electronic documentation provided with the library.
// See these sources for detailed information regarding the
// MMC Library product.
//
#if !defined(AFX_COMPDATA_H__CF8CC7F0_0CFE_11D1_8F07_000000000000__INCLUDED_)
#define AFX_COMPDATA_H__CF8CC7F0_0CFE_11D1_8F07_000000000000__INCLUDED_
#if _MSC_VER >= 1000
#pragma once
#endif // _MSC_VER >= 1000
#include "resource.h" // main symbols
#include <mmc.h>
/////////////////////////////////////////////////////////////////////////////
// CComponentData - This class is the interface to handle anything to do
// with the scope pane. MMC calls the IComponent interfaces.
// This class keeps a few pointers to interfaces that MMC
// implements.
class CComponentData :
public IComponentData,
public CComObjectRoot,
public CComCoClass<CComponentData,&CLSID_ComponentData>
{
public:
CComponentData();
~CComponentData();
BEGIN_COM_MAP(CComponentData)
COM_INTERFACE_ENTRY(IComponentData)
END_COM_MAP()
DECLARE_NOT_AGGREGATABLE(CComponentData)
DECLARE_REGISTRY_RESOURCEID(IDR_ComponentData)
//
// IComponentData methods
//
STDMETHOD(CompareObjects)(LPDATAOBJECT lpDataObjectA, LPDATAOBJECT lpDataObjectB);
STDMETHOD(GetDisplayInfo)(LPSCOPEDATAITEM pItem);
STDMETHOD(QueryDataObject)(long cookie, DATA_OBJECT_TYPES type, LPDATAOBJECT * ppDataObject);
STDMETHOD(Notify)(LPDATAOBJECT lpDataObject, MMC_NOTIFY_TYPE event, long arg, long param);
STDMETHOD(CreateComponent)(LPCOMPONENT * ppComponent);
STDMETHOD(Initialize)(LPUNKNOWN pUnknown);
STDMETHOD(Destroy)();
//
// Methods to support IComponentData
//
private:
// Notify event handling functions
HRESULT OnExpand(LPDATAOBJECT lpDataObject, long arg, long param);
LPCONSOLENAMESPACE m_ipConsoleNameSpace; // Pointer name space interface
LPCONSOLE m_ipConsole; // Pointer to the console interface
HBITMAP m_hbmp16x16; // The strip of tree icons
};
#endif // !defined(AFX_COMPDATA_H__CF8CC7F0_0CFE_11D1_8F07_000000000000__INCLUDED_)