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.
|
|
#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 CheckForDuplicateBDATeamMaster (NETCFG_WLBS_BDA_TEAMING * pBDATeaming);
bool NLBIsBound();
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
};
|