82 lines
2.9 KiB
C++
82 lines
2.9 KiB
C++
//////////////////////////////////////////////////////////////////////////////
|
|
//
|
|
// Copyright (c) 1999-2001 Microsoft Corporation
|
|
//
|
|
// Module Name:
|
|
// ClusterConfiguration.h
|
|
//
|
|
// Description:
|
|
// CClusterConfiguration implementation.
|
|
//
|
|
// Maintained By:
|
|
// Galen Barbee (GalenB) 22-NOV-1999
|
|
//
|
|
//////////////////////////////////////////////////////////////////////////////
|
|
|
|
#pragma once
|
|
|
|
// CClusterConfiguration
|
|
class
|
|
CClusterConfiguration:
|
|
public IExtendObjectManager,
|
|
public IClusCfgClusterInfo,
|
|
public IGatherData // private
|
|
{
|
|
private:
|
|
// IUnknown
|
|
LONG m_cRef;
|
|
|
|
// Async/IClusCfgClusterInfo
|
|
ECommitMode m_ecmCommitChangesMode;
|
|
BSTR m_bstrClusterName; // Cluster Name
|
|
BSTR m_bstrClusterBindingString; // Cluster binding string.
|
|
BOOL m_fHasNameChanged:1; // If the cluster name has changed...
|
|
ULONG m_ulIPAddress; // Cluster IP Address
|
|
ULONG m_ulSubnetMask; // Cluster Subnet Mask
|
|
IClusCfgCredentials * m_picccServiceAccount; // Cluster service account credentials
|
|
IClusCfgNetworkInfo * m_punkNetwork; // Cluster network that the IP/subnet should be hosted.
|
|
|
|
// IExtendObjectManager
|
|
|
|
private: // Methods
|
|
CClusterConfiguration( void );
|
|
~CClusterConfiguration( void );
|
|
STDMETHOD( Init )( void );
|
|
|
|
public: // Methods
|
|
static HRESULT S_HrCreateInstance( IUnknown ** ppunkOut );
|
|
|
|
// IUnknown
|
|
STDMETHOD( QueryInterface )( REFIID riid, LPVOID *ppv );
|
|
STDMETHOD_( ULONG, AddRef )( void );
|
|
STDMETHOD_( ULONG, Release )( void );
|
|
|
|
// IClusCfgClusterInfo
|
|
STDMETHOD( SetCommitMode )( ECommitMode ecmNewModeIn );
|
|
STDMETHOD( GetCommitMode )( ECommitMode * pecmCurrentModeOut );
|
|
STDMETHOD( GetName )( BSTR * pbstrNameOut );
|
|
STDMETHOD( SetName )( LPCWSTR pcszNameIn );
|
|
STDMETHOD( GetIPAddress )( ULONG * pulDottedQuadOut );
|
|
STDMETHOD( SetIPAddress )( ULONG ulDottedQuadIn );
|
|
STDMETHOD( GetSubnetMask )( ULONG * pulDottedQuadOut );
|
|
STDMETHOD( SetSubnetMask )( ULONG ulDottedQuadIn );
|
|
STDMETHOD( GetNetworkInfo )( IClusCfgNetworkInfo ** ppiccniOut );
|
|
STDMETHOD( SetNetworkInfo )( IClusCfgNetworkInfo * piccniIn );
|
|
STDMETHOD( GetClusterServiceAccountCredentials )( IClusCfgCredentials ** ppicccCredentialsOut );
|
|
STDMETHOD( GetBindingString )( BSTR * pbstrBindingStringOut );
|
|
STDMETHOD( SetBindingString )( LPCWSTR pcszBindingStringIn );
|
|
|
|
// IGatherData
|
|
STDMETHOD( Gather )( OBJECTCOOKIE cookieParentIn, IUnknown * punkIn );
|
|
|
|
// IExtendObjectManager
|
|
STDMETHOD( FindObject )(
|
|
OBJECTCOOKIE cookieIn
|
|
, REFCLSID rclsidTypeIn
|
|
, LPCWSTR pcszName
|
|
, LPUNKNOWN * ppunkOut
|
|
);
|
|
|
|
}; // class CClusterConfiguration
|
|
|