65 lines
2.5 KiB
C++
65 lines
2.5 KiB
C++
#pragma once
|
|
|
|
#include "wlbscfg.h"
|
|
|
|
//+----------------------------------------------------------------------------
|
|
//
|
|
// class CNetcfgCluster
|
|
//
|
|
// Description: Provide cluster config functionality for netcfg .
|
|
// SetConfig caches the settings without saving to registry
|
|
// and can be retrieved by GetConfig.
|
|
//
|
|
// History: fengsun Created Header 2/11/00
|
|
//
|
|
//+----------------------------------------------------------------------------
|
|
|
|
HRESULT GetAdapterFromGuid(INetCfg *pNetCfg, const GUID& NetCardGuid, OUT INetCfgComponent** ppNetCardComponent);
|
|
|
|
class CNetcfgCluster
|
|
{
|
|
public:
|
|
CNetcfgCluster(CWlbsConfig* pConfig);
|
|
~CNetcfgCluster();
|
|
|
|
DWORD InitializeFromRegistry(const GUID& guidAdapter, bool fBindingEnabled, bool fUpgradeFromWin2k);
|
|
HRESULT InitializeFromAnswerFile(const GUID& AdapterGuid, CSetupInfFile& caf, PCWSTR answer_sections);
|
|
void InitializeWithDefault(const GUID& guidAdapter);
|
|
|
|
void SetConfig(const NETCFG_WLBS_CONFIG* pClusterConfig);
|
|
void GetConfig(NETCFG_WLBS_CONFIG* pClusterConfig);
|
|
|
|
void NotifyBindingChanges(DWORD dwChangeFlag, INetCfgBindingPath* pncbp);
|
|
|
|
DWORD NotifyAdapter (INetCfgComponent * pAdapter, DWORD newStatus);
|
|
|
|
DWORD ApplyRegistryChanges(bool fUninstall);
|
|
DWORD ApplyPnpChanges(HANDLE hWlbsDevice);
|
|
|
|
const GUID& GetAdapterGuid() { return m_AdapterGuid;}
|
|
|
|
bool CheckForDuplicateClusterIPAddress (WCHAR * szOtherIP);
|
|
|
|
bool IsReloadRequired () { return m_fReloadRequired; };
|
|
static void ResetMSCSLatches();
|
|
protected:
|
|
|
|
GUID m_AdapterGuid;
|
|
|
|
WLBS_REG_PARAMS m_OriginalConfig; // original config
|
|
WLBS_REG_PARAMS m_CurrentConfig; // cached config
|
|
|
|
bool m_fHasOriginalConfig; // whether the adapter has an original config
|
|
bool m_fOriginalBindingEnabled; // whether the binding to the adapter is originally enabled
|
|
bool m_fRemoveAdapter; // whether the adapter is to be removed
|
|
bool m_fMacAddrChanged; // whether we need to reload the nic driver
|
|
bool m_fReloadRequired; // set if changes in registry need to be picked by wlbs driver
|
|
bool m_fReenableAdapter; // do we need to re-enable this adapter (did WE disable it?)
|
|
static bool m_fMSCSWarningEventLatched; // Throw MSCS warning only once when binding NLB
|
|
static bool m_fMSCSWarningPopupLatched; // Popup MSCS warning only once when binding NLB
|
|
|
|
CWlbsConfig* m_pConfig; // pointer to access m_pWlbsApiFuncs
|
|
};
|
|
|
|
|