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.
|
|
/////////////////////////////////////////////////////////////////////////////
//
// Copyright (c) 1996-1997 Microsoft Corporation
//
// Module Name:
// NetIFace.h
//
// Abstract:
// Definition of the CNetInterface class.
//
// Implementation File:
// NetIFace.cpp
//
// Author:
// David Potter (davidp) May 28, 1997
//
// Revision History:
//
// Notes:
//
/////////////////////////////////////////////////////////////////////////////
#ifndef _NETIFACE_H_
#define _NETIFACE_H_
/////////////////////////////////////////////////////////////////////////////
// Forward Class Declarations
/////////////////////////////////////////////////////////////////////////////
class CNetInterface; class CNetInterfaceList;
/////////////////////////////////////////////////////////////////////////////
// External Class Declarations
/////////////////////////////////////////////////////////////////////////////
class CClusterNode; class CNetwork;
/////////////////////////////////////////////////////////////////////////////
// Type Definitions
/////////////////////////////////////////////////////////////////////////////
/////////////////////////////////////////////////////////////////////////////
// Include Files
/////////////////////////////////////////////////////////////////////////////
#ifndef _CLUSITEM_H_
#include "ClusItem.h" // for CClusterItem
#endif
#ifndef _PROPLIST_H_
#include "PropList.h" // for CObjectProperty, CClusPropList
#endif
/////////////////////////////////////////////////////////////////////////////
// CNetInterface command target
/////////////////////////////////////////////////////////////////////////////
class CNetInterface : public CClusterItem { DECLARE_DYNCREATE(CNetInterface)
// Construction
public: CNetInterface(void); // protected constructor used by dynamic creation
void Init(IN OUT CClusterDoc * pdoc, IN LPCTSTR lpszName);
protected: void CommonConstruct(void);
// Attributes
protected: HNETINTERFACE m_hnetiface; CLUSTER_NETINTERFACE_STATE m_cnis;
CString m_strNode; CClusterNode * m_pciNode; CString m_strNetwork; CNetwork * m_pciNetwork; CString m_strAdapter; CString m_strAddress; DWORD m_dwCharacteristics; DWORD m_dwFlags;
enum { epropName = 0, epropNode, epropNetwork, epropAdapter, epropAddress, epropDescription, epropMAX };
CObjectProperty m_rgProps[epropMAX];
public: HNETINTERFACE Hnetiface(void) const { return m_hnetiface; } CLUSTER_NETINTERFACE_STATE Cnis(void) const { return m_cnis; }
const CString & StrNode(void) const { return m_strNode; } CClusterNode * PciNode(void) const { return m_pciNode; } const CString & StrNetwork(void) const { return m_strNetwork; } CNetwork * PciNetwork(void) const { return m_pciNetwork; } const CString & StrAdapter(void) const { return m_strAdapter; } const CString & StrAddress(void) const { return m_strAddress; } DWORD DwCharacteristics(void) const { return m_dwCharacteristics; } DWORD DwFlags(void) const { return m_dwFlags; }
void GetStateName(OUT CString & rstrState) const;
// Operations
public: void ReadExtensions(void);
void SetCommonProperties( IN const CString & rstrDesc, IN BOOL bValidateOnly ); void SetCommonProperties( IN const CString & rstrDesc ) { SetCommonProperties(rstrDesc, FALSE /*bValidateOnly*/); } void ValidateCommonProperties( IN const CString & rstrDesc ) { SetCommonProperties(rstrDesc, TRUE /*bValidateOnly*/); }
// Overrides
public: virtual void Cleanup(void); virtual void ReadItem(void); virtual void UpdateState(void); virtual BOOL BGetColumnData(IN COLID colid, OUT CString & rstrText); virtual BOOL BDisplayProperties(IN BOOL bReadOnly = FALSE);
virtual const CStringList * PlstrExtensions(void) const;
#ifdef _DISPLAY_STATE_TEXT_IN_TREE
virtual void GetTreeName(OUT CString & rstrName) const; #endif
// ClassWizard generated virtual function overrides
//{{AFX_VIRTUAL(CNetInterface)
//}}AFX_VIRTUAL
virtual LRESULT OnClusterNotify(IN OUT CClusterNotify * pnotify);
protected: virtual const CObjectProperty * Pprops(void) const { return m_rgProps; } virtual DWORD Cprops(void) const { return sizeof(m_rgProps) / sizeof(m_rgProps[0]); } virtual DWORD DwSetCommonProperties(IN const CClusPropList & rcpl, IN BOOL bValidateOnly = FALSE);
// Implementation
public: virtual ~CNetInterface(void);
public: // Generated message map functions
//{{AFX_MSG(CNetInterface)
afx_msg void OnUpdateProperties(CCmdUI* pCmdUI); //}}AFX_MSG
DECLARE_MESSAGE_MAP()
}; //*** class CNetInterface
/////////////////////////////////////////////////////////////////////////////
// CNetInterfaceList
/////////////////////////////////////////////////////////////////////////////
class CNetInterfaceList : public CClusterItemList { public: CNetInterface * PciNetInterfaceFromName( IN LPCTSTR pszName, OUT POSITION * ppos = NULL ) { return (CNetInterface *) PciFromName(pszName, ppos); }
}; //*** class CNetInterfaceList
/////////////////////////////////////////////////////////////////////////////
// Global Functions
/////////////////////////////////////////////////////////////////////////////
//void DeleteAllItemData(IN OUT CNetInterfaceList & rlp);
#ifdef _DEBUG
class CTraceTag; extern CTraceTag g_tagNetIFace; extern CTraceTag g_tagNetIFaceNotify; #endif
/////////////////////////////////////////////////////////////////////////////
#endif // _NETIFACE_H_
|