129 lines
3.1 KiB
C++
129 lines
3.1 KiB
C++
/**********************************************************************/
|
|
/** Microsoft Windows/NT **/
|
|
/** Copyright(c) Microsoft Corporation, 1997 - 1999 **/
|
|
/**********************************************************************/
|
|
|
|
/*
|
|
acscomp.h
|
|
This file contains the prototypes for the derived classes
|
|
for CComponent and CComponentData. Most of these functions
|
|
are pure virtual functions that need to be overridden
|
|
for snapin functionality.
|
|
|
|
FILE HISTORY:
|
|
11/05/97 Wei Jiang Created
|
|
|
|
*/
|
|
|
|
#include "resource.h" // main symbols
|
|
|
|
#ifndef __mmc_h__
|
|
#include <mmc.h>
|
|
#endif
|
|
|
|
#ifndef _COMPONT_H_
|
|
#include "compont.h"
|
|
#endif
|
|
|
|
#ifndef _ACSCOMPONENT_H_
|
|
#define _ACSCOMPONENT_H_
|
|
/////////////////////////////////////////////////////////////////////////////
|
|
//
|
|
// CACSComponentData
|
|
//
|
|
/////////////////////////////////////////////////////////////////////////////
|
|
|
|
#define ACS_CONSOLE_VERSION 0x50001 // NT5, version 1
|
|
#define ACS_CONSOLE_MAX_COL 32 // max col used for this version
|
|
|
|
struct CACSConsoleData
|
|
{
|
|
ULONG ulVersion;
|
|
ULONG ulSize;
|
|
ULONG ulMaxCol; // should be ACS_CONSOLE_MAX_COL
|
|
ULONG ulPolicyColWidth[ACS_CONSOLE_MAX_COL + 1];
|
|
ULONG ulSubnetColWidth[ACS_CONSOLE_MAX_COL + 1];
|
|
};
|
|
|
|
class CACSComponentData :
|
|
public CComponentData,
|
|
public CComObjectRoot
|
|
{
|
|
public:
|
|
BEGIN_COM_MAP(CACSComponentData)
|
|
COM_INTERFACE_ENTRY(IComponentData)
|
|
COM_INTERFACE_ENTRY(IExtendPropertySheet)
|
|
COM_INTERFACE_ENTRY(IExtendContextMenu)
|
|
COM_INTERFACE_ENTRY(IPersistStreamInit)
|
|
COM_INTERFACE_ENTRY(ISnapinHelp)
|
|
END_COM_MAP()
|
|
|
|
// These are the interfaces that we MUST implement
|
|
|
|
// We will implement our common behavior here, with the derived
|
|
// classes implementing the specific behavior.
|
|
DeclareIPersistStreamInitMembers(IMPL)
|
|
DeclareITFSCompDataCallbackMembers(IMPL)
|
|
|
|
STDMETHOD(OnNotifyPropertyChange)(LPDATAOBJECT lpDataObject,
|
|
MMC_NOTIFY_TYPE event,
|
|
LPARAM arg,
|
|
LPARAM param);
|
|
|
|
CACSComponentData();
|
|
|
|
HRESULT FinalConstruct();
|
|
void FinalRelease();
|
|
|
|
void GetConsoleData();
|
|
void SetConsoleData();
|
|
|
|
protected:
|
|
SPITFSNodeMgr m_spNodeMgr;
|
|
CACSConsoleData m_ConsoleData;
|
|
};
|
|
|
|
/////////////////////////////////////////////////////////////////////////////
|
|
//
|
|
// CACSComponent
|
|
//
|
|
/////////////////////////////////////////////////////////////////////////////
|
|
|
|
class CACSComponent :
|
|
public TFSComponent
|
|
{
|
|
public:
|
|
CACSComponent();
|
|
~CACSComponent();
|
|
|
|
DeclareITFSCompCallbackMembers(IMPL)
|
|
STDMETHOD(OnSnapinHelp)(LPDATAOBJECT pDataObject, long arg, long param);
|
|
virtual HRESULT OnNotifyPropertyChange(LPDATAOBJECT lpDataObject,
|
|
MMC_NOTIFY_TYPE event,
|
|
LPARAM arg,
|
|
LPARAM param);
|
|
|
|
//Attributes
|
|
private:
|
|
};
|
|
|
|
// Note - These are offsets into my image list
|
|
typedef enum _IMAGE_INDICIES
|
|
{
|
|
IMAGE_IDX_ACS = 0,
|
|
IMAGE_IDX_SUBNETWORK,
|
|
IMAGE_IDX_PROFILES,
|
|
IMAGE_IDX_USERPOLICIES,
|
|
IMAGE_IDX_POLICY,
|
|
IMAGE_IDX_OPENFOLDER,
|
|
IMAGE_IDX_CLOSEDFOLDER,
|
|
IMAGE_IDX_CONFLICTPOLICY,
|
|
IMAGE_IDX_DISABLEDPOLICY,
|
|
Not_being_used,
|
|
IMAGE_IDX_SUBNETWORK_NO_ACSPOLICY,
|
|
} IMAGE_INDICIES, *LPIMAGE_INDICIES;
|
|
|
|
|
|
#endif _ACSCOMPONENT_H_
|
|
|