COMPDATA.H
// 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_)