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.
 
 
 
 
 
 

115 lines
2.5 KiB

/**********************************************************************/
/** Microsoft Windows/NT **/
/** Copyright(c) Microsoft Corporation, 1997 - 1998 **/
/**********************************************************************/
/*
compdata.h
base classes for IComponent and IComponentData
FILE HISTORY:
*/
#ifndef _COMPDATA_H
#define _COMPDATA_H
#if _MSC_VER >= 1000 // VC 5.0 or later
#pragma once
#endif
#ifndef __mmc_h__
#include <mmc.h>
#endif
#ifndef _TFSINT_H
#include "tfsint.h"
#endif
#ifndef _UTIL_H
#include "util.h"
#endif
#define EXTENSION_TYPE_NAMESPACE ( 0x00000001 )
#define EXTENSION_TYPE_CONTEXTMENU ( 0x00000002 )
#define EXTENSION_TYPE_TOOLBAR ( 0x00000004 )
#define EXTENSION_TYPE_PROPERTYSHEET ( 0x00000008 )
#define EXTENSION_TYPE_TASK ( 0x00000010 )
/////////////////////////////////////////////////////////////////////////////
// TFSComponentData
#define IMPL
class TFSComponentData :
public ITFSComponentData,
public IComponentData,
public IExtendPropertySheet2,
public IExtendContextMenu,
public IPersistStreamInit,
public ISnapinHelp
{
// INTERFACES
public:
DeclareIUnknownMembers(IMPL)
DeclareIExtendContextMenuMembers(IMPL)
DeclareIExtendPropertySheetMembers(IMPL)
DeclareIComponentDataMembers(IMPL)
DeclareITFSComponentDataMembers(IMPL)
DeclareIPersistStreamInitMembers(IMPL)
DeclareISnapinHelpMembers(IMPL)
public:
TFSComponentData();
~TFSComponentData();
HRESULT Construct(ITFSCompDataCallback *pCallback);
public:
// Accessors
ITFSNodeMgr * QueryNodeMgr(); // no AddRef
ITFSNodeMgr * GetNodeMgr(); // AddRef
protected:
SPIConsoleNameSpace m_spConsoleNameSpace;
SPIConsole m_spConsole;
SPITFSNodeMgr m_spNodeMgr;
SPITFSCompDataCallback m_spCallback;
// Hidden window
private:
CHiddenWnd m_hiddenWnd; // syncronization with background threads
HWND m_hWnd; // thread safe HWND (gotten from the MFC CWnd)
BOOL m_bFirstTimeRun;
long m_cRef;
LPWATERMARKINFO m_pWatermarkInfo; // for wizard 97 style wizards
// taskpad stuff
BOOL m_fTaskpadInitialized;
DWORD m_dwTaskpadStates;
// help stuff
CString m_strHTMLHelpFileName;
};
inline ITFSNodeMgr * TFSComponentData::QueryNodeMgr()
{
return m_spNodeMgr;
}
inline ITFSNodeMgr * TFSComponentData::GetNodeMgr()
{
m_spNodeMgr->AddRef();
return m_spNodeMgr;
}
#endif _COMPDATA_H