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) 1999-2001 Microsoft Corporation
//
// Module Name:
// NodeInformation.h
//
// Description:
// CNodeInformation implementation.
//
// Maintained By:
// Galen barbee (GalenB) 02-MAR-2000
//
//////////////////////////////////////////////////////////////////////////////
#pragma once
class CEnumNodeInformation;
// CNodeInformation
class CNodeInformation : public IExtendObjectManager , public IClusCfgNodeInfo , public IGatherData // internal
{ friend class CEnumNodeInformation; private: // IUnknown
LONG m_cRef;
// Async/IClusNodeInfo
BSTR m_bstrName; // Name of the node
BOOL m_fHasNameChanged; // If the node name was changed...
BOOL m_fIsMember; // If the node is a member of a cluster...
IClusCfgClusterInfo * m_pccci; // Interface to the node's cluster info (might not be the same as the cluster we are joining)
DWORD m_dwHighestVersion; //
DWORD m_dwLowestVersion; //
DWORD m_dwMajorVersion; // OS Major version. See OSVERSIONINFOEX
DWORD m_dwMinorVersion; // OS Minor version. See OSVERSIONINFOEX
WORD m_wSuiteMask; // Product suite mask. See OSVERSIONINFOEX
BYTE m_bProductType; // OS product type. See OSVERSIONINFOEX
BSTR m_bstrCSDVersion; // Service pack info. See OSVERSIONINFOEX
SDriveLetterMapping m_dlmDriveLetterMapping; // Drive letter mappings
WORD m_wProcessorArchitecture; // Processor architecture, x86, IA64, etc.
WORD m_wProcessorLevel; // Processor type, 386, 486, etc
DWORD m_cMaxNodes; // Max node count for this node.
// IExtendObjectManager
private: // Methods
CNodeInformation( void ); ~CNodeInformation( void ); STDMETHOD( HrInit )( void );
public: // Methods
static HRESULT S_HrCreateInstance( IUnknown ** ppunkOut );
// IUnknown
STDMETHOD( QueryInterface )( REFIID riidIn, LPVOID * ppvOut ); STDMETHOD_( ULONG, AddRef )( void ); STDMETHOD_( ULONG, Release )( void );
// IClusCfgNodeInfo
STDMETHOD( GetName )( BSTR * pbstrNameOut ); STDMETHOD( SetName )( LPCWSTR bstrNameIn ); STDMETHOD( IsMemberOfCluster )( void ); STDMETHOD( GetClusterConfigInfo )( IClusCfgClusterInfo ** ppClusCfgClusterInfoOut ); STDMETHOD( GetOSVersion )( DWORD * pdwMajorVersionOut, DWORD * pdwMinorVersionOut, WORD * pwSuiteMaskOut, BYTE * pbProductTypeOut, BSTR * pbstrCSDVersionOut ); STDMETHOD( GetClusterVersion )( DWORD * pdwNodeHighestVersion, DWORD * pdwNodeLowestVersion ); STDMETHOD( GetDriveLetterMappings )( SDriveLetterMapping * pdlmDriveLetterUsageOut ); STDMETHOD( GetMaxNodeCount )( DWORD * pcMaxNodesOut ); STDMETHOD( GetProcessorInfo )( WORD * pwProcessorArchitectureOut, WORD * wProcessorLevelOut );
// IGatherData
STDMETHOD( Gather )( OBJECTCOOKIE cookieParentIn, IUnknown * punkIn );
// IExtendObjectManager
STDMETHOD( FindObject )( OBJECTCOOKIE cookieIn , REFCLSID rclsidTypeIn , LPCWSTR pcszNameIn , LPUNKNOWN * ppunkOut );
}; //*** class CNodeInformation
|