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.
|
|
// --------------------------------------------------------------------------
// 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_ */
|