76 lines
3.7 KiB
C
76 lines
3.7 KiB
C
|
// --------------------------------------------------------------------------
|
||
|
// Module Name: SystemSettings.h
|
||
|
//
|
||
|
// Copyright (c) 1999-2000, Microsoft Corporation
|
||
|
//
|
||
|
// A class to handle opening and reading/writing from the Winlogon key.
|
||
|
//
|
||
|
// History: 1999-09-09 vtan created
|
||
|
// 1999-11-16 vtan separate file
|
||
|
// 2000-02-01 vtan moved from Neptune to Whistler
|
||
|
// --------------------------------------------------------------------------
|
||
|
|
||
|
#ifndef _SystemSettings_
|
||
|
#define _SystemSettings_
|
||
|
|
||
|
// --------------------------------------------------------------------------
|
||
|
// CSystemSettings
|
||
|
//
|
||
|
// Purpose: This class deals with system settings typically found in
|
||
|
// HKLM\System or HKLM\Software
|
||
|
//
|
||
|
// History: 1999-09-09 vtan created
|
||
|
// 2000-04-12 vtan consolidation for policy checking
|
||
|
// --------------------------------------------------------------------------
|
||
|
|
||
|
class CSystemSettings
|
||
|
{
|
||
|
public:
|
||
|
static bool IsSafeMode (void);
|
||
|
static bool IsSafeModeMinimal (void);
|
||
|
static bool IsSafeModeNetwork (void);
|
||
|
static bool IsNetwareActive (void);
|
||
|
static bool IsWorkStationProduct (void);
|
||
|
static bool IsDomainMember (void);
|
||
|
static bool IsActiveConsoleSession (void);
|
||
|
static bool IsTerminalServicesEnabled (void);
|
||
|
static bool IsFriendlyUIActive (void);
|
||
|
static bool IsMultipleUsersEnabled (void);
|
||
|
static bool IsRemoteConnectionsEnabled (void);
|
||
|
static bool IsRemoteConnectionPresent (void);
|
||
|
static bool IsShutdownWithoutLogonAllowed (void);
|
||
|
static bool IsUndockWithoutLogonAllowed (void);
|
||
|
static bool IsForceFriendlyUI (void);
|
||
|
static LONG GetUIHost (TCHAR *pszPath);
|
||
|
static bool IsUIHostStatic (void);
|
||
|
static bool EnableFriendlyUI (bool fEnable);
|
||
|
static bool EnableMultipleUsers (bool fEnable);
|
||
|
static bool EnableRemoteConnections (bool fEnable);
|
||
|
static int GetLoggedOnUserCount (void);
|
||
|
static NTSTATUS CheckDomainMembership (void);
|
||
|
static DWORD WINAPI AdjustFUSCompatibilityServiceState (void *pV);
|
||
|
private:
|
||
|
static LONG GetEffectiveInteger (HKEY hKey, const TCHAR *pszKeyName, const TCHAR *pszPolicyKeyName, const TCHAR *pszValueName, int& iResult);
|
||
|
static LONG GetEffectivePath (HKEY hKey, const TCHAR *pszKeyName, const TCHAR *pszPolicyKeyName, const TCHAR *pszValueName, TCHAR *pszPath);
|
||
|
static bool IsProfessionalTerminalServer (void);
|
||
|
static bool IsMicrosoftGINA (void);
|
||
|
static bool IsSCMTerminalServicesDisabled (void);
|
||
|
|
||
|
static const TCHAR s_szSafeModeKeyName[];
|
||
|
static const TCHAR s_szSafeModeOptionValueName[];
|
||
|
static const TCHAR s_szWinlogonKeyName[];
|
||
|
static const TCHAR s_szSystemPolicyKeyName[];
|
||
|
static const TCHAR s_szTerminalServerKeyName[];
|
||
|
static const TCHAR s_szTerminalServerPolicyKeyName[];
|
||
|
static const TCHAR s_szNetwareClientKeyName[];
|
||
|
static const TCHAR s_szLogonTypeValueName[];
|
||
|
static const TCHAR s_szBackgroundValueName[];
|
||
|
static const TCHAR s_szMultipleUsersValueName[];
|
||
|
static const TCHAR s_szDenyRemoteConnectionsValueName[];
|
||
|
static int s_iIsSafeModeMinimal;
|
||
|
static int s_iIsSafeModeNetwork;
|
||
|
};
|
||
|
|
||
|
#endif /* _SystemSettings_ */
|
||
|
|