windows-nt/Source/XPSP1/NT/net/mmc/wins/config.h
2020-09-26 16:20:57 +08:00

144 lines
3.4 KiB
C++

/**********************************************************************/
/** Microsoft Windows/NT **/
/** Copyright(c) Microsoft Corporation, 1997 - 1999 **/
/**********************************************************************/
/*
config.h
Registry Values for WINS
FILE HISTORY:
*/
#ifndef _CONFIG_H_
#define _CONFIG_H_
class CConfiguration
{
public:
CConfiguration(CString strNetBIOSName = _T(""));
~CConfiguration();
// operator overriding
CConfiguration& operator =(const CConfiguration& configuration);
public:
const BOOL IsReady() const
{
return !m_strNetBIOSName.IsEmpty();
}
void SetOwner(CString strNetBIOSName)
{
m_strNetBIOSName = strNetBIOSName;
}
LPCTSTR GetOwner()
{
return m_strNetBIOSName;
}
HRESULT Touch();
HRESULT Load(handle_t hBinding);
HRESULT Store();
DWORD GetSystemVersion();
BOOL IsNt5();
BOOL FSupportsOwnerId();
BOOL IsAdmin();
public:
// entries under HKEY_LOCAL_MACHINE\system\currentcontrolset\services\wins
DWORD m_dwRefreshInterval;
DWORD m_dwTombstoneInterval;
DWORD m_dwTombstoneTimeout;
DWORD m_dwVerifyInterval;
DWORD m_dwVersCountStart_LowWord;
DWORD m_dwVersCountStart_HighWord;
DWORD m_dwNumberOfWorkerThreads;
// PUSH partner stuff
BOOL m_fPushInitialReplication;
BOOL m_fPushReplOnAddrChange;
DWORD m_dwPushUpdateCount;
DWORD m_dwPushPersistence;
// PULL partner suff
BOOL m_fPullInitialReplication;
DWORD m_dwPullTimeInterval;
DWORD m_dwPullSpTime;
DWORD m_dwPullPersistence;
DWORD m_dwPullRetryCount;
BOOL m_fLoggingOn;
BOOL m_fRplOnlyWithPartners;
BOOL m_fLogDetailedEvents;
BOOL m_fBackupOnTermination;
BOOL m_fMigrateOn;
BOOL m_fUseSelfFndPnrs;
DWORD m_dwMulticastInt;
DWORD m_dwMcastTtl;
CString m_strBackupPath;
BOOL m_fBurstHandling;
DWORD m_dwBurstQueSize;
// consistency checking
BOOL m_fPeriodicConsistencyCheck;
BOOL m_fCCUseRplPnrs;
DWORD m_dwMaxRecsAtATime;
DWORD m_dwCCTimeInterval;
CIntlTime m_itmCCStartTime;
// system version stuff
DWORD m_dwMajorVersion;
DWORD m_dwMinorVersion;
DWORD m_dwBuildNumber;
DWORD m_dwServicePack;
// admin status
BOOL m_fIsAdmin;
// database name
CString m_strDbName;
CString m_strDbPath;
protected:
void GetAdminStatus();
private:
typedef CString REGKEYNAME;
// Registry Names
static const REGKEYNAME lpstrRoot;
static const REGKEYNAME lpstrPullRoot;
static const REGKEYNAME lpstrPushRoot;
static const REGKEYNAME lpstrNetBIOSName;
static const REGKEYNAME lpstrPersistence;
// consistency checking
static const REGKEYNAME lpstrCCRoot;
static const REGKEYNAME lpstrCC;
// default value stuff
static const REGKEYNAME lpstrDefaultsRoot;
static const REGKEYNAME lpstrPullDefaultsRoot;
static const REGKEYNAME lpstrPushDefaultsRoot;
// for determining system version
static const REGKEYNAME lpstrCurrentVersion;
static const REGKEYNAME lpstrWinVersion;
static const REGKEYNAME lpstrSPVersion;
static const REGKEYNAME lpstrBuildNumber;
private:
CString m_strNetBIOSName;
};
#endif // _CONFIG_H