#pragma autorecover
#pragma classflags(64)
#pragma namespace("\\\\.\\ROOT\\cimv2")
instance of __namespace{ name="ms_809";};
#pragma namespace("\\\\.\\ROOT\\cimv2\\ms_809")

[Description("The Win32_TerminalService class provides Terminal Service load balancing indicators.") : Amended ToSubclass,AMENDMENT, LOCALE(0x0809)] 
class Win32_TerminalService : Win32_Service
{
  [Description("The total number of sessions on this server. This includes both connected and disconnected sessions.") : Amended ToSubclass] uint32 TotalSessions;
  [Description("The number of disconnected sessions on this server.  These sessions may still be actively consuming server resources, however they currently have no network.") : Amended ToSubclass] uint32 DisconnectedSessions;
};
#pragma namespace("\\\\.\\Root\\cimv2\\TerminalServices")
instance of __namespace{ name="ms_809";};
#pragma namespace("\\\\.\\Root\\cimv2\\TerminalServices\\ms_809")

#pragma deleteclass("Win32_TerminalServiceSettingsConfig",NOFAIL)

#pragma deleteclass("Win32_TSSessionDirectoryConfig",NOFAIL)

#pragma deleteclass("Win32_TerminalService",NOFAIL)

#pragma deleteclass("Win32_TerminalServiceStatistics",NOFAIL)

#pragma deleteclass("Win32_Terminal",NOFAIL)

#pragma deleteclass("Win32_TSGeneralSettingsConfig",NOFAIL)

#pragma deleteclass("Win32_TSLogonSettingsConfig",NOFAIL)

#pragma deleteclass("Win32_TSSessionSettingsConfig",NOFAIL)

#pragma deleteclass("Win32_TSEnvironmentSettingsConfig",NOFAIL)

#pragma deleteclass("Win32_TSRemoteControlSettingsConfig",NOFAIL)

#pragma deleteclass("Win32_TSClientSettingsConfig",NOFAIL)

#pragma deleteclass("Win32_TSNetworkAdapterSettingsConfig",NOFAIL)

#pragma deleteclass("Win32_TSNetworkAdapterListSettings",NOFAIL)

#pragma deleteclass("Win32_TSNetworkAdapterListSetting",NOFAIL)

#pragma deleteclass("Win32_TSAccount",NOFAIL)

#pragma deleteclass("Win32_TerminalServiceSettings",NOFAIL)

#pragma deleteclass("Win32_TSSessionDirectory",NOFAIL)

#pragma deleteclass("Win32_TSSessionDirectorySetting",NOFAIL)

#pragma deleteclass("Win32_TerminalServiceSetting",NOFAIL)

#pragma deleteclass("Win32_TerminalServiceStatistics",NOFAIL)

#pragma deleteclass("Win32_TerminalSettings",NOFAIL)

#pragma deleteclass("Win32_TSGeneralSettings",NOFAIL)

#pragma deleteclass("Win32_TSLogonSettings",NOFAIL)

#pragma deleteclass("Win32_TSSessionSettings",NOFAIL)

#pragma deleteclass("Win32_TSEnvironmentSettings",NOFAIL)

#pragma deleteclass("Win32_TSPermissionsSettings",NOFAIL)

#pragma deleteclass("Win32_TSPermissionsSetting",NOFAIL)

#pragma deleteclass("Win32_TSClientSettings",NOFAIL)

#pragma deleteclass("Win32_TSNetworkAdapterSettings",NOFAIL)

#pragma deleteclass("Win32_TSNetworkAdapterSetting",NOFAIL)

#pragma deleteclass("Win32_TSPermissionsSettingsConfig",NOFAIL)

#pragma deleteclass("Win32_TSRemoteControlSettings",NOFAIL)

#pragma deleteclass("Win32_TSEnvironmentSetting",NOFAIL)

#pragma deleteclass("Win32_TSVirtualIPConfig",NOFAIL)

#pragma deleteclass("Win32_TSVirtualIP",NOFAIL)

#pragma deleteclass("Win32_TSVirtualIPSetting",NOFAIL)

[AMENDMENT, LOCALE(0x0809) : ToInstance] 
class CIM_ManagedSystemElement
{
};

[AMENDMENT, LOCALE(0x0809) : ToInstance] 
class CIM_LogicalElement : CIM_ManagedSystemElement
{
};

[AMENDMENT, LOCALE(0x0809) : ToInstance] 
class CIM_Setting : CIM_ManagedSystemElement
{
};

[AMENDMENT, LOCALE(0x0809) : ToInstance] 
class CIM_ElementSetting : CIM_ManagedSystemElement
{
};

[Description("The Win32_TSDiscoveredLicenseServer class provides details of the discovered license server") : Amended ToSubclass,AMENDMENT, LOCALE(0x0809)] 
class Win32_TSDiscoveredLicenseServer
{
  [key,Description("Name of the discovered Terminal Server License Server.") : Amended ToSubclass] string LicenseServer;
  [Description("Qualifier for Mode of discovery") : Amended ToSubclass,Values{"GroupPolicyConfigured", "RegistryConfigured", "WorkgroupDiscovery", "DomainDiscovery", "EnterpriseDiscovery"} : Amended ToSubclass] uint32 HowDiscovered;
  [Description("Qualifier for LS availability") : Amended ToSubclass,Values{"Not Available", "Available"} : Amended ToSubclass] uint32 IsLSAvailable;
  [Description("Qualifier for TS having admin access to LS") : Amended ToSubclass,Values{"No", "Yes", "Dont know"} : Amended ToSubclass] uint32 IsAdminOnLS;
  [Description("Qualifier for LS issuing CALs to TS") : Amended ToSubclass,Values{"Not Allowed", "Allowed", "Dont know"} : Amended ToSubclass] uint32 IssuingCALs;
};

[Description("The Win32_TerminalServiceSetting class defines the configuration for  TerminalServerSetting. This includes capabilities such as Terminal Server Mode, Licensing, Active Desktop, Permissions Capability,Deletion of Temporary folders and Temporary folders per session.") : Amended ToSubclass,AMENDMENT, LOCALE(0x0809)] 
class Win32_TerminalServiceSetting : CIM_Setting
{
  [key,Description("Name of the Terminal Server whose properties are of interest.") : Amended ToSubclass] string ServerName;
  [Description("Qualifier for Mode of Terminal Service") : Amended ToSubclass,Values{"RemoteAdmin", "AppServer"} : Amended ToSubclass] uint32 TerminalServerMode;
  [Description("Reserved; Returns a value of one.") : Amended ToSubclass] uint32 GetCapabilitiesID;
  [Description("Qualifier for Licensing Mode") : Amended ToSubclass,Values{"Personal Terminal Server", "Remote Desktop for Administration", "Per Device", "Per User", "Not Configured"} : Amended ToSubclass] uint32 LicensingType;
  [Description("PolicySourceLicensingType indicates whether the property LicensingType is configured by Server(0) or Group Policy (1)") : Amended ToSubclass] uint32 PolicySourceLicensingType;
  [Description("Each bit of the property value acts as an index into the array of values in the BitValues list.") : Amended ToSubclass] uint32 PossibleLicensingTypes;
  [Description("Name of Licensing Mode") : Amended ToSubclass] string LicensingName;
  [Description("A brief description for Licensing Mode") : Amended ToSubclass] string LicensingDescription;
  [Description("Active Desktop bit.") : Amended ToSubclass,Values{"TRUE", "FALSE"} : Amended ToSubclass] uint32 ActiveDesktop;
  [Description("Application Compatibility bit.") : Amended ToSubclass,Values{"FALSE", "TRUE"} : Amended ToSubclass] uint32 UserPermission;
  [Description("Delete Temporary Folders on Exit bit.") : Amended ToSubclass,Values{"FALSE", "TRUE"} : Amended ToSubclass] uint32 DeleteTempFolders;
  [Description("PolicySourceDeleteTempFolders indicates whether the property DeleteTempFolders is configured by Server(0) or Group Policy (1).") : Amended ToSubclass] uint32 PolicySourceDeleteTempFolders;
  [Description("Use Temporary Folders Per Session bit.") : Amended ToSubclass,Values{"FALSE", "TRUE"} : Amended ToSubclass] uint32 UseTempFolders;
  [Description("PolicySourceUseTempFolders indicates whether the property UseTempFolders is configured by Server(0) or Group Policy (1).") : Amended ToSubclass] uint32 PolicySourceUseTempFolders;
  [Description("Describes whether new TS connections are allowed.") : Amended ToSubclass,Values{"FALSE", "TRUE"} : Amended ToSubclass] uint32 AllowTSConnections;
  [Description("PolicySourceAllowTSConnections indicates whether the property AllowTSConnections is configured by Server(0) or Group Policy (1).") : Amended ToSubclass] uint32 PolicySourceAllowTSConnections;
  [Description("Indicates if only one session is allowed per user.") : Amended ToSubclass,Values{"False", "True"} : Amended ToSubclass] uint32 SingleSession;
  [Description("PolicySourceSingleSession indicates whether the property SingleSession is configured by Server(0) or Group Policy (1).") : Amended ToSubclass] uint32 PolicySourceSingleSession;
  [Description("Describes the profile path for the machine.") : Amended ToSubclass] string ProfilePath;
  [Description("PolicySourceProfilePath indicates whether the propertyProfilePath is configured by,Group Policy (1) or the Server (0).") : Amended ToSubclass] uint32 PolicySourceProfilePath;
  [Description("Describes the Home Directory for the machine.") : Amended ToSubclass] string HomeDirectory;
  [Description("PolicySourceHomeDirectory indicates whether the property HomeDirectory is configured by Server(0) or Group Policy (1).") : Amended ToSubclass] uint32 PolicySourceHomeDirectory;
  [Description("Indicates if time zone redirection is enabled or disabled.") : Amended ToSubclass] uint32 TimeZoneRedirection;
  [Description("PolicySourceTimeZoneRedirection indicates whether the property TimeZoneRedirection is configured by Server(0) or Group Policy (1)") : Amended ToSubclass] uint32 PolicySourceTimeZoneRedirection;
  [Description("Indicates whether new sessions are allowed.This setting will not affect existing sessions for Post Windows 2000 builds") : Amended ToSubclass] string Logons;
  [Description("DirectConnectLicenseServers property is deprecated.") : Amended ToSubclass] string DirectConnectLicenseServers;
  [Description("PolicySourceDirectConnectLicenseServers property is deprected.") : Amended ToSubclass] uint32 PolicySourceDirectConnectLicenseServers;
  [Description("PolicySourceConfiguredLicenseServers indicates whether the license servers returned by GetSpecifiedLSList is configured by Server(0) or Group Policy (1).") : Amended ToSubclass] uint32 PolicySourceConfiguredLicenseServers;
  [Description("Indicates whether an Administrator logged onto the console can be logged off.") : Amended ToSubclass] uint32 DisableForcibleLogoff;
  [Description("Indicates which Printer driver to Fallback to.") : Amended ToSubclass,Values{"No fallback dirvers=0", "Best guess=1", "Best guess, if no match is found fallback to PCL=2", "Best guess, if no match is found fallback to PS=3", "Best guess, if no match is found show both PCL and PS drivers=4"} : Amended ToSubclass] uint32 FallbackPrintDriverType;
  [Description("PolicySourceFallbackPrintDriverType indicates whether the property FallbackPrintDriverType is configured by Server(0) or Group Policy (1).") : Amended ToSubclass] uint32 PolicySourceFallbackPrintDriverType;
  [Description("Session Broker Drain Mode: (0) Allow new user logons, (1) Deny new user logons until reboot, (2) Deny new user logons.") : Amended ToSubclass] uint32 SessionBrokerDrainMode;
  [Description("Limited Number of User Sessions: (0) feature is disabled , a value greater than 0 represents the number of sessions allowed per connection.") : Amended ToSubclass] uint32 LimitedUserSessions;
  [Description("Enables Dynamic Fair-Share Scheduling: (0) Dynamic Fair-Share Scheduling is disabled, (1) Dynamic Fair-Share Scheduling is enabled.") : Amended ToSubclass] uint32 EnableDFSS;
  [Description("PolicySourceEnableDFSS indicates whether the property EnableDFSS is configured by Server(0) or Group Policy (1).") : Amended ToSubclass] uint32 PolicySourceEnableDFSS;
  [Description("Enables Remote Desktop MSI: (0) Remote Desktop MSI is disabled, (1) Remote Desktop MSI is enabled.") : Amended ToSubclass] uint32 EnableRemoteDesktopMSI;
  [Description("PolicySourceEnableRemoteDesktopMSI indicates whether the property EnableRemoteDesktopMSI is configured by Server(0) or Group Policy (1).") : Amended ToSubclass] uint32 PolicySourceEnableRemoteDesktopMSI;
  [Description("Specifies whether to allow Remote Desktop Connection clients to automatically reconnect to sessions on an RD Session Host server if their network link is temporarily lost: (0) automatic reconnection of clients is prohibited, (1) automatic reconnection is attempted for all clients running Remote Desktop Connection whenever their network connection is lost.") : Amended ToSubclass] uint32 EnableAutomaticReconnection;
  [Description("PolicySourceEnableAutomaticReconnection indicates whether the property EnableAutomaticReconnection is configured by Server(0) or Group Policy (1).") : Amended ToSubclass] uint32 PolicySourceEnableAutomaticReconnection;
  [Description("Specifies whether the Remote Desktop Easy Print printer driver is used first to install all client printers: (0) RD Session Host server tries to find a suitable printer driver to install the client printer. If the RD Session Host server does not have a printer driver that matches the client printer, the server tries to use the Remote Desktop Easy Print driver to install the client printer, (1) RD Session Host server first tries to use the Remote Desktop Easy Print printer driver to install all client printers. If for any reason the Remote Desktop Easy Print printer driver cannot be used, a printer driver on the RD Session Host server that matches the client printer is used.") : Amended ToSubclass] uint32 UseRDEasyPrintDriver;
  [Description("PolicySourceUseRDEasyPrintDriver indicates whether the property UseRDEasyPrintDriver is configured by Server(0) or Group Policy (1).") : Amended ToSubclass] uint32 PolicySourceUseRDEasyPrintDriver;
  [Description("Control the redirection of smart card devices in a Remote Desktop Services session: (0) Remote Desktop Services users cannot use a smart card to log on to a Remote Desktop Services session, (1) smart card device redirection is allowed.") : Amended ToSubclass] uint32 RedirectSmartCards;
  [Description("PolicySourceRedirectSmartCards indicates whether the property RedirectSmartCards is configured by Server(0) or Group Policy (1).") : Amended ToSubclass] uint32 PolicySourceRedirectSmartCards;
  [Description("Enables Disk Fair-Share Scheduling: (0) Disk Fair-Share Scheduling is disabled, (1) Disk Fair-Share Scheduling is enabled.") : Amended ToSubclass] uint32 EnableDiskFSS;
  [Description("Enables Network Fair-Share Scheduling: (0) Network Fair-Share Scheduling is disabled, (1) Network Fair-Share Scheduling is enabled.") : Amended ToSubclass] uint32 EnableNetworkFSS;
  [Description("Default network fairshare weight for user session, valid number is 1 to 9") : Amended ToSubclass] uint32 NetworkFSSUserSessionWeight;
  [Description("Default network fairshare weight for local system process, valid number is 1 to 9") : Amended ToSubclass] uint32 NetworkFSSLocalSystemWeight;
  [Description("Default network fairshare weight for catch-all network traffic, valid number is 1 to 9") : Amended ToSubclass] uint32 NetworkFSSCatchAllWeight;
  [Description("Enables or disables time zone redirection.") : Amended ToSubclass] uint32 SetTimeZoneRedirection([In] uint32 TimeZoneRedirection);
  [Description("This method is deprecated and will return WBEM_E_NOT_SUPPORTED without doing any operations.") : Amended ToSubclass] uint32 AddDirectConnectLicenseServer([In] string LicenseServerName);
  [Description("This method is deprecated and will return WBEM_E_NOT_SUPPORTED without doing any operations.") : Amended ToSubclass] uint32 DeleteDirectConnectLicenseServer([In] string LicenseServerName);
  [Description("This method is deprecated and will return WBEM_E_NOT_SUPPORTED without doing any operations.") : Amended ToSubclass] uint32 UpdateDirectConnectLicenseServer([In] string LicenseServerList);
  [Description("Gets the list of known license servers.  If there are no known license servers, returns an empty array.") : Amended ToSubclass] uint32 GetRegisteredLicenseServerList([out] string RegisteredLSList[]);
  [Description("Retrieves the list of specified license servers.") : Amended ToSubclass] uint32 GetSpecifiedLicenseServerList([out] string SpecifiedLSList[]);
  [Description("Updates the list of specified license servers, replacing any existing specified license servers.") : Amended ToSubclass] uint32 SetSpecifiedLicenseServerList([In] string SpecifiedLSList[]);
  [Description("Removes all license servers from the list of specified license servers.") : Amended ToSubclass] uint32 EmptySpecifiedLicenseServerList();
  [Description("Sets the given license server as the first entry in the list of specified license servers.") : Amended ToSubclass] uint32 SetPrimaryLicenseServer([In] string LicenseServerName);
  [Description("Adds the given license server to the end of the list of specified license servers.") : Amended ToSubclass] uint32 AddLSToSpecifiedLicenseServerList([In] string LicenseServerName);
  [Description("Removes the given license server from the list of specified license servers.") : Amended ToSubclass] uint32 RemoveLSFromSpecifiedLicenseServerList([In] string LicenseServerName);
  [Description("Retrieves the registration token value set earlier by the administrator.") : Amended ToSubclass] uint32 GetLicensingAadInfo([out] string LicensingClientId,[out] uint32 TokenLength,[out] string TenantAadToken);
  [Description("Sets or Updates the Registration Token with the administrator supplied value") : Amended ToSubclass] uint32 SetLicensingAadInfo([In] string LicensingClientId,[In] string TenantAadToken);
  [Description("Retrieves RDS Server Version") : Amended ToSubclass] uint32 GetRDSVersion([out] uint32 Version);
  [Description("Configures License type based on the Terminal Server Mode: For Remote Admin - Remote Desktop for AdministrationApplication Server - Per Device and Per UserPersonal Terminal Server - Personal Terminal Server.") : Amended ToSubclass] uint32 ChangeMode([In] uint32 LicensingType);
  [Description("Allows or Denies new TS Connections. The second parameter is optional, if specified and set to TRUE, then enables or disables Remote Desktop firewall exception rule depending on whether AllowTSConnections is true or false respectively.") : Amended ToSubclass] uint32 SetAllowTSConnections([In] uint32 AllowTSConnections,[In] uint32 ModifyFirewallException);
  [Description("Enables or disables the SingleSession state.") : Amended ToSubclass] uint32 SetSingleSession([In] uint32 SingleSession);
  [Description("Enables or disables logging off an administrator who is logged on to the console.") : Amended ToSubclass] uint32 SetDisableForcibleLogoff([In] uint32 DisableForcibleLogoff);
  [Description("Sets the ProfilePath for the machine.") : Amended ToSubclass] uint32 SetProfilePath([In] string ProfilePath);
  [Description("Sets the Home Directory for the machine.") : Amended ToSubclass] uint32 SetHomeDirectory([In] string HomeDirectory);
  [Description("PropertyName is a string property and is either DeleteTempFolders or UseTempFolders.They are flags that are either set to False or True according as whether Value is set to 0 or 1 respectively. The call returns 0 for success and an error if the policy was set to Group policy.") : Amended ToSubclass] uint32 SetPolicyPropertyName([In] string PropertyName,[In] boolean Value);
  [Description("Sets the FallBack printer driver to one of:  0=No fallback print drivers, 1=Best guess, 2 = Best guess and if no match is found fallback to PCL, 3=Best guess and if no match is found fallback to PS,  4=Best guess and if no match is found show both PCL and PS drivers.") : Amended ToSubclass] uint32 SetFallbackPrintDriverType([In] uint32 FallbackPrintDriverType);
  [Description("Gets Terminal Services Network Card Ids and descriptions.") : Amended ToSubclass] uint32 GetTSLanaIds([out] uint32 LanaIdList[],[out] string LanaIdDescriptions[]);
  [Description("Retrieves a list of winstation driver names.") : Amended ToSubclass] uint32 GetWinstationDriverNames([out] string WinstaDriverNames[]);
  [Description("Creates a new listener stack based on the unique combination of Listern Name and NIC.") : Amended ToSubclass] uint32 CreateWinstation([in] string Name,[in] string WinstaDriverName,[in] uint32 LanaId);
  [Description("Pings license server returns S_OK if valid license server S_FALSE if not") : Amended ToSubclass] uint32 PingLicenseServer([in] string ServerName);
  [Description("Connects to the license server and updates the connectivity status") : Amended ToSubclass] uint32 GetTStoLSConnectivityStatus([in] string ServerName,[out,Values{"LS_CONNECTABLE_UNKNOWN", "LS_CONNECTABLE_VALID_WS08R2", "LS_CONNECTABLE_VALID_WS08", "LS_CONNECTABLE_BETA_RTM_MISMATCH", "LS_CONNECTABLE_LOWER_VERSION", "LS_CONNECTABLE_NOT_IN_TSCGROUP", "LS_NOT_CONNECTABLE", "LS_CONNECTABLE_UNKNOWN_VALIDITY", "LS_CONNECTABLE_BUT_ACCESS_DENIED", "LS_CONNECTABLE_VALID_WS08R2_VDI", "LS_CONNECTABLE_FEATURE_NOT_SUPPORTED", "LS_CONNECTABLE_VALID_LS"} : Amended ToSubclass] uint32 TStoLSConnectivityStatus);
  [Description("Checks if the TS is allowed to request CALs from license server based on the the license server security group policy on the license server and membership of RDS Endpoint Servers local group on the license server. Returns S_OK if the TS has access to the license server S_FALSE if not") : Amended ToSubclass] uint32 CanAccessLicenseServer([in] string ServerName,[out] uint32 AccessAllowed);
  [Description("Enumerates all the License Servers along with the method of discovery") : Amended ToSubclass] uint32 FindLicenseServers([out] Win32_TSDiscoveredLicenseServer LicenseServersList[],[out] uint32 Count);
  [Description("Gives number of days left for Terminal Server grace period, A zero value indicates that grace period is over") : Amended ToSubclass] uint32 GetGracePeriodDays([out] uint32 DaysLeft);
  [Description("Gives TS Domain Name") : Amended ToSubclass] uint32 GetDomain([out] string Domain);
};

[Description("The Win32_TerminalServiceToSetting class is an association with Win32_TerminalService as the Element and Win32_TerminalServiceSetting as the Setting property that includes Terminal Server Mode,Licensing, Active Desktop, Permissions Capability, Deletion of Temporary folders and Temporary folders per session.") : Amended ToSubclass,AMENDMENT, LOCALE(0x0809)] 
class Win32_TerminalServiceToSetting : CIM_ElementSetting
{
};

[Description("The Win32_TerminalSetting class is an abstract base class for all Terminal Service Setting classes.") : Amended ToSubclass,AMENDMENT, LOCALE(0x0809)] 
class Win32_TerminalSetting : CIM_Setting
{
  [Description("Name of the Terminal.") : Amended ToSubclass] string TerminalName;
};

[Description("The Win32_TerminalTerminalSetting class represents an association between a Terminal and its configuration settings.") : Amended ToSubclass,AMENDMENT, LOCALE(0x0809)] 
class Win32_TerminalTerminalSetting : CIM_ElementSetting
{
};

[Description("The Win32_Terminal class is the element of the TerminalSetting association where groups such as: General, Logon, Session, Environment, Remote Control, Client, Network Adapter and Permission are several configuration setting classes.") : Amended ToSubclass,AMENDMENT, LOCALE(0x0809)] 
class Win32_Terminal : CIM_LogicalElement
{
  [key,Description("Name of the Terminal.") : Amended ToSubclass] string TerminalName;
  [Description("Enables or Disables the Terminal.") : Amended ToSubclass,Values{"FALSE", "TRUE"} : Amended ToSubclass] uint32 fEnableTerminal;
  [Description("Determines the number of logged on sessions for given terminal") : Amended ToSubclass] uint32 LoggedOnUsers;
  [Description("Enables or Disables the Terminal. The function takes one parameter, the flag thatenables or disables it. The call returns zero on success and an error on failure.") : Amended ToSubclass] uint32 Enable([In] uint32 fEnableTerminal);
  [Description("Creates a Terminal. The function takes three parameters: a name for the terminal, TerminalProtocol and the Transport, both of which are properties of Win32_TSGeneralSetting class. This creates a Terminal with default settings which can be customized by through appropriate functions in the various Win32_TerminalSetting classes. The function returns zero on success and an error on failure.") : Amended ToSubclass] uint32 Create([In] string NewTerminalName,[In] string Transport,[In] string TerminalProtocol);
  [Description("Renames the Terminal. The function takes one parameter, the New Terminalname. The call returns zero on success and an error on failure.") : Amended ToSubclass] uint32 Rename([In] string NewTerminalName);
  [Description("Deletes the specified Terminal. The function takes one parameter, the Terminalname. The call returns zero on success and an error on failure.") : Amended ToSubclass] uint32 Delete([In] string NewTerminalName);
};

[Description("The Win32_TSGeneralSetting includes capabilities such as Protocol, Transport, Comment, Windows authentication and Encryption Level.") : Amended ToSubclass,AMENDMENT, LOCALE(0x0809)] 
class Win32_TSGeneralSetting : Win32_TerminalSetting
{
  [key,Description("Name of the Terminal.") : Amended ToSubclass] string TerminalName;
  [Description("Name of the Session Layer protocol. Example: Microsoft RDP 6.0.") : Amended ToSubclass] string TerminalProtocol;
  [Description("Displays the type of transport used for the connection: Example TCP, NETBIOS, IPX/SPX.") : Amended ToSubclass] string Transport;
  [Description("Descriptive name for the listener.") : Amended ToSubclass] string Comment;
  [Description("Specifies whether the connection defaults to the standard Windows Authentication if another Authentication package has been installed on the system.") : Amended ToSubclass,Values{"FALSE", "TRUE"} : Amended ToSubclass] uint32 WindowsAuthentication;
  [Description("In order to use the SSLCertificateSHA1Hash WMI property, you mustfirst find the hexadecimal Thumbprint value for the certificatethat you want to set the target server to use.  The thumbprintof a certificate may be found using the Certificates MMC snap-in.In the Certificates snap-in open the properties page of thecertificate and go to the Details tab.") : Amended ToSubclass] string SSLCertificateSHA1Hash;
  [Description("Contains a serialized certitificate store containing all of the certificates from the machine's MY store which are valid server certificates for use with Terminal Server SSL.") : Amended ToSubclass] uint8 Certificates[];
  [Description("SSLCertificeSHA1HashType indicates whether the property SSLCertificeSHA1Hash is Invalid (0), Default Self-signed (1), Default GP Enforced (2) or Custom (3).") : Amended ToSubclass] uint32 SSLCertificateSHA1HashType;
  [Description("Windows 2000 supports 3 levels of Encryption: Low, Medium/Client Compatible and High. Windows 2003 supports 4 levels of Encryption Low, Medium /Client Compatible, High andFIPS Compliant") : Amended ToSubclass,Values{"Low", "Medium / Client Compatible", "High", "FIPS Compliant"} : Amended ToSubclass] uint32 MinEncryptionLevel;
  [Description("Specifies the type of User Authentication used for remote connections.If enabled, the protocol requires early user authentication at connection time toincrease server protection against network attacks. Only RDP clients that supportRDP version 6.0 or higher will be able to connect. To avoid disruptions forremote users, it is recommended to deploy RDP clients supporting the appropriateprotocol version before enabling the property.") : Amended ToSubclass,Values{"FALSE", "TRUE"} : Amended ToSubclass] uint32 UserAuthenticationRequired;
  [Description("PolicySourceUserAuthenticationRequired indicates whether the property UserAuthenticationRequired is configured by Server (0),Group Policy (1), Default (2).") : Amended ToSubclass] uint32 PolicySourceUserAuthenticationRequired;
  [Description("PolicySourceMinEncryptionLevel indicates whether the property MinEncryptionLevel is configured by Server (0),Group Policy (1), Default (2).") : Amended ToSubclass] uint32 PolicySourceMinEncryptionLevel;
  [Values{"RDP Security Layer", "Negotiate", "SSL", "NEWTBD"} : Amended ToSubclass] uint32 SecurityLayer;
  [Description("PolicySourceSecurityLayer indicates whether the property SecurityLayer is configured by Server (0),Group Policy (1), Default (2).") : Amended ToSubclass] uint32 PolicySourceSecurityLayer;
  [Description("Display name for the local machine personal certificate subject name") : Amended ToSubclass] string CertificateName;
  [Description("Sets the Encryption level to one of Low, Medium or High. The function takes one parameter that specifies the Encryption Level: 1 = Low, 2 = Medium, 3 = High, 4 = FIPS Compliant.") : Amended ToSubclass] uint32 SetEncryptionLevel([In] uint32 MinEncryptionLevel);
  [Description("Sets the Security layer to one of RDP Security Layer, Negotiate or SSL. The function takes one parameter that specifies the Security Layer: 0 = RDP Security Layer, 1 = Negotiate, 2 = SSL. Note that if current Encryption level = 1, then Security Layer = 2 setting is invalid.") : Amended ToSubclass] uint32 SetSecurityLayer([In] uint32 SecurityLayer);
  [Description("Enables or disables UserAuthenticationRequired. The function takes one parameter - the flag that enables or disables it. The call returns zero on success and an error on failure.") : Amended ToSubclass] uint32 SetUserAuthenticationRequired([In] uint32 UserAuthenticationRequired);
};

[Description("The Win32_TSLogonSetting class allows configuring logon settings such as Username, Domain and PromptForPassword.") : Amended ToSubclass,AMENDMENT, LOCALE(0x0809)] 
class Win32_TSLogonSetting : Win32_TerminalSetting
{
  [key,Description("Name of the Terminal.") : Amended ToSubclass] string TerminalName;
  [Description("Describes which policy the server uses in order to determine the connection settings.") : Amended ToSubclass,Values{"Per User", "Server-Override"} : Amended ToSubclass] uint32 ClientLogonInfoPolicy;
  [Description("Specifies whether the user is always prompted for Password while logging on to the server.") : Amended ToSubclass,Values{"FALSE", "TRUE"} : Amended ToSubclass] uint32 PromptForPassword;
  [Description("PolicySourcePromptForPassword indicates whether the property PromptForPassword is configured by Server (0),Group Policy (1), Default (2).") : Amended ToSubclass] uint32 PolicySourcePromptForPassword;
  [Description("Specifies whether the User name are retrieved from the client.") : Amended ToSubclass] string UserName;
  [Description("PolicySourceUserName indicates whether the property UserName is configured by Server (0),Group Policy (1), Default (2).") : Amended ToSubclass] uint32 PolicySourceUserName;
  [Description("Specifies the Domain name in which the user's computer resides.") : Amended ToSubclass] string Domain;
  [Description("PolicySourceDomain indicates whether the property Domain is configured by Server (0),Group Policy (1), Default (2).") : Amended ToSubclass] uint32 PolicySourceDomain;
  [Description("Sets the properties UserName,  Password and Domain which specify the credentials explicitly to be used for authentication. The call returns success in case of Server-Override mode and an error if the policy was set to User or Group.") : Amended ToSubclass] uint32 ExplicitLogon([In] string UserName,[In] string Domain,[In] string Password);
  [Description("Enables or Disables the PromptForPasword flag if it is not under group policy.") : Amended ToSubclass,Values{"FALSE", "TRUE"} : Amended ToSubclass] uint32 SetPromptForPassword([In] uint32 PromptForPassword);
};

[Description("The Win32_TSSessionSetting class defines the configuration for Win32_Terminal. This includes capabilities such as Time-limits, Disconnection and Reconnection actions.") : Amended ToSubclass,AMENDMENT, LOCALE(0x0809)] 
class Win32_TSSessionSetting : Win32_TerminalSetting
{
  [key,Description("Name of the Terminal.") : Amended ToSubclass] string TerminalName;
  [Description("Describes which policy the server uses in orderto determine the Active Session limit for user sessions.") : Amended ToSubclass,Values{"Per User", "Server-Override"} : Amended ToSubclass] uint32 TimeLimitPolicy;
  [Description("Maximum allowed time for Active session in milliseconds where 0 implies NEVER.") : Amended ToSubclass] uint32 ActiveSessionLimit;
  [Description("PolicySourceActiveSessionLimit indicates whether the property ActiveSessionLimit is configured by Server (0),Group Policy (1), Default (2).") : Amended ToSubclass] uint32 PolicySourceActiveSessionLimit;
  [Description("Time after which to end disconnected session in milliseconds where 0 implies NEVER.") : Amended ToSubclass] uint32 DisconnectedSessionLimit;
  [Description("PolicySourceDisconnectedSessionLimit indicates whether the property DisconnectedSessionLimit is configured by Server (0),Group Policy (1), Default (2).") : Amended ToSubclass] uint32 PolicySourceDisconnectedSessionLimit;
  [Description("Idle session limit in units specified in milliseconds where 0 implies NEVER.") : Amended ToSubclass] uint32 IdleSessionLimit;
  [Description("PolicySourceIdleSessionLimit indicates whether the property IdleSessionLimit is configured by Server (0),Group Policy (1), Default (2)") : Amended ToSubclass] uint32 PolicySourceIdleSessionLimit;
  [Description("Describes which policy the server uses in order to determine when a connection is broken either due to network loss or time limits.") : Amended ToSubclass,Values{"Per User", "Server-Override"} : Amended ToSubclass] uint32 BrokenConnectionPolicy;
  [Description("If session limit is reached or connection is broken, one of the following actions is taken: Disconnect - User is disconnected from the session or Terminate - The session is permanently deleted from the server.") : Amended ToSubclass,Values{"Disconnect", "Terminate"} : Amended ToSubclass] uint32 BrokenConnectionAction;
  [Description("PolicySourceBrokenConnectionAction indicates whether the property BrokenConnectionAction is configured by Server (0),Group Policy (1), Default (2).") : Amended ToSubclass] uint32 PolicySourceBrokenConnectionAction;
  [Description("Indicates whether or not a user must use the same client in order  to reconnect to a disconnected session.") : Amended ToSubclass,Values{"Any Client", "Previous Client"} : Amended ToSubclass] uint32 ReconnectionPolicy;
  [Description("PolicySourceReconnectPolicy indicates whether the property ReconnectPolicy is configured by Server (0),Group Policy (1), Default (2).") : Amended ToSubclass] uint32 PolicySourceReconnectionPolicy;
  [Description("Non-Zero value indicate display warning before logging off session when maximum idle time is reached. O means otherwise. There is no GP for this setting and can be set only through tsconfig.") : Amended ToSubclass] uint32 EnableTimeoutWarning;
  [Description("SessionLimitType is an enumeration of the properties: 0 = ActiveSessionLimit, 1 = DisconnectedSessionLimit and 2 = IdleSessionLimitwhich specify the Maximum allowed time for Active Session, Disconnected Session NEVER for all three and Idle session limits and Value specifies the time in milliseconds. The call returns 0 for success in case of Server-Override mode and an error if the policy was set to Group policy.") : Amended ToSubclass] uint32 TimeLimit([In] string SessionLimitType,[In] uint32 ValueLimit);
  [Description("Sets the action to be taken if the session limit is reached or connection is broken, one of the following action is taken:Disconnect: The user is disconnected from the sessionTerminate:  The session is permanently deleted from the server the property BrokenConnectionAction that it is applicable only to Server-override mode and returns success in case of Server-Overridemode and an error if the policy was set to User or Group.") : Amended ToSubclass] uint32 BrokenConnection([In] uint32 BrokenConnectionAction);
};

[Description("The Win32_TSEnvironmentSetting class defines the configuration for Win32_Terminal. This includes capabilities such as Initial program policy.") : Amended ToSubclass,AMENDMENT, LOCALE(0x0809)] 
class Win32_TSEnvironmentSetting : Win32_TerminalSetting
{
  [key,Description("Name of the Terminal.") : Amended ToSubclass] string TerminalName;
  [Description("Describes which policy the server uses in order to determine the  initial program path and filename and the startin folder.") : Amended ToSubclass,Values{"Per User", "Server-Override", "Single-App Mode"} : Amended ToSubclass] uint32 InitialProgramPolicy;
  [Description("Specifies the name and the path of the program the user wants to start on logon to the Terminal Server.") : Amended ToSubclass] string InitialProgramPath;
  [Description("PolicySourceInitialProgramPath indicates whether the property InitialProgramPath is configured by Server (0),Group Policy (1), Default (2).") : Amended ToSubclass] uint32 PolicySourceInitialProgramPath;
  [Description("Specifies the working directory path for the program the user wants to start on logon to the Terminal Server.") : Amended ToSubclass] string Startin;
  [Description("PolicySourceStartIn indicates whether the property StartIn is configured by Server (0),Group Policy (1), Default (2).") : Amended ToSubclass] uint32 PolicySourceStartIn;
  [Description("Specifies whether the display of Windows Client Wallpaper is disabled. This option can save system resources by decreasing the time required to repaint the screen.") : Amended ToSubclass,Values{"False", "True"} : Amended ToSubclass] uint32 ClientWallPaper;
  [Description("PolicySourceClientWallPaper indicates whether the property ClientWallPaper is configured by Server (0),Group Policy (1), Default (2).") : Amended ToSubclass] uint32 PolicySourceClientWallPaper;
  [Description("Sets the properties InitialProgramPath and StartIn which specify the name and path of the program and the working directory path for the program the user wants to start on logon to the Terminal Server. It returns an integer value of 0 if call was a success in case of Server-Override mode and an error if the policy was set to Group control policy.") : Amended ToSubclass] uint32 InitialProgram([In] string InitialProgramPath,[In] string Startin);
  [Description("Enables or Disables ClientWallPaper if the property is not enabled by Group Policy. It returns an integer value of 0 if call was a success in case of Server-Override mode and an error if the policy was set to Group control policy  ") : Amended ToSubclass] uint32 SetClientWallPaper([In] uint32 ClientWallPaper);
};

[Description("The Win32_TSRemoteControlSetting class defines the configuration for Win32_Terminal.  This includes capabilities such as Remote Control policy.") : Amended ToSubclass,AMENDMENT, LOCALE(0x0809)] 
class Win32_TSRemoteControlSetting : Win32_TerminalSetting
{
  [key,Description("Name of the Terminal.") : Amended ToSubclass] string TerminalName;
  [Description("Describes which policy the server uses in  order to retrieve the remote control settings.") : Amended ToSubclass,Values{"Per User", "Server-Override"} : Amended ToSubclass] uint32 RemoteControlPolicy;
  [Description("Specifies whether the User's permission is required to remotely control the session.") : Amended ToSubclass,Values{"Disable", "EnableInputNotify", "EnableInputNoNotify", "EnableNoInputNotify", "EnableNoInputNoNotify"} : Amended ToSubclass] uint32 LevelOfControl;
  [Description("PolicySourceLevelOfControl indicates whether the property LevelOfControl is configured by Server (0),Group Policy (1), Default (2).") : Amended ToSubclass] uint32 PolicySourceLevelOfControl;
  [Description("Sets the property LevelOfControl which specifies the level of control which is one of Disable, EnableInputNotify, EnableInputNoNotify, EnableNoInputNotify,  EnableNoInputNoNotify. The call returns an integer value of 0 for success in Server-Override mode and an error if the setting is under group policy control.") : Amended ToSubclass] uint32 RemoteControl([In] uint32 LevelOfControl);
};

[Description("The Win32_TSClientSetting class defines the configuration for Win32_Terminal. This includes capabilities such as Connection policy, printer, drive, clipboard mappings, color depth and connection settings.") : Amended ToSubclass,AMENDMENT, LOCALE(0x0809)] 
class Win32_TSClientSetting : Win32_TerminalSetting
{
  [key,Description("Name of the Terminal.") : Amended ToSubclass] string TerminalName;
  [Description("Describes which policy the server uses in order to retrieve the connection settings.") : Amended ToSubclass,Values{"Per User", "Server-Override"} : Amended ToSubclass] uint32 ConnectionPolicy;
  [Description("Specifies whether to automatically connect to the client's drives at logon.") : Amended ToSubclass,Values{"FALSE", "TRUE"} : Amended ToSubclass] uint32 ConnectClientDrivesAtLogon;
  [Description("Specifies whether to automatically connect to all mapped local client printers at logon.") : Amended ToSubclass,Values{"FALSE", "TRUE"} : Amended ToSubclass] uint32 ConnectPrinterAtLogon;
  [Description("Specifies whether to automatically print to the client's local printer.") : Amended ToSubclass,Values{"FALSE", "TRUE"} : Amended ToSubclass] uint32 DefaultToClientPrinter;
  [Description("PolicySourceDefaultToClientPrinter indicates whether the property DefaultToClientPrinter is configured by Server (0),Group Policy (1), Default (2).") : Amended ToSubclass] uint32 PolicySourceDefaultToClientPrinter;
  [Description("Specifies whether to enable or disable client window's printer mapping.") : Amended ToSubclass,Values{"FALSE", "TRUE"} : Amended ToSubclass] uint32 WindowsPrinterMapping;
  [Description("PolicySourceWindowsPrinterMapping indicates whether the property WindowsPrinterMapping is configured by Server (0),Group Policy (1), Default (2).") : Amended ToSubclass] uint32 PolicySourceWindowsPrinterMapping;
  [Description("Specifies whether to enable or disable LPT Port mapping.") : Amended ToSubclass,Values{"FALSE", "TRUE"} : Amended ToSubclass] uint32 LPTPortMapping;
  [Description("PolicySourceLPTPortMapping indicates whether the property LPTPortMapping is configured by Server (0),Group Policy (1), Default (2).") : Amended ToSubclass] uint32 PolicySourceLPTPortMapping;
  [Description("Specifies whether to enable or disable COM Port mapping.") : Amended ToSubclass,Values{"FALSE", "TRUE"} : Amended ToSubclass] uint32 COMPortMapping;
  [Description("PolicySourceCOMPortMapping indicates whether the property COMPortMapping is configured by Server (0),Group Policy (1), Default (2).") : Amended ToSubclass] uint32 PolicySourceCOMPortMapping;
  [Description("Specifies whether to enable or disable drive mapping.") : Amended ToSubclass,Values{"FALSE", "TRUE"} : Amended ToSubclass] uint32 DriveMapping;
  [Description("PolicySourceDriveMapping indicates whether the property DriveMapping is configured by Server (0),Group Policy (1), Default (2).") : Amended ToSubclass] uint32 PolicySourceDriveMapping;
  [Description("Specifies whether to enable or disable Audio mapping.") : Amended ToSubclass,Values{"FALSE", "TRUE"} : Amended ToSubclass] uint32 AudioMapping;
  [Description("PolicySourceAudioMapping indicates whether the property AudioMapping is configured by Server (0),Group Policy (1), Default (2).") : Amended ToSubclass] uint32 PolicySourceAudioMapping;
  [Description("Specifies whether to enable or disable Clipboard mapping.") : Amended ToSubclass,Values{"FALSE", "TRUE"} : Amended ToSubclass] uint32 ClipboardMapping;
  [Description("PolicySourceClipboardMapping indicates whether the property ClipboardMapping is configured by Server (0),Group Policy (1), Default (2).") : Amended ToSubclass] uint32 PolicySourceClipboardMapping;
  [Description("Specifies whether to override the User's maximum color setting.") : Amended ToSubclass,Values{"FALSE", "TRUE"} : Amended ToSubclass] uint32 ColorDepthPolicy;
  [Description("PolicySourceColorDepthPolicy indicates whether the property ColorDepthPolicy is configured by Server (0),Group Policy (1), Default (2).") : Amended ToSubclass] uint32 PolicySourceColorDepthPolicy;
  [Description("String array of available color depths. The string valuescan be derived from the Values qualifier ref: Section 7.3") : Amended ToSubclass,Values{"8 bit", "15 bit", "16 bit", "24 bit", "32 bit"} : Amended ToSubclass] uint32 ColorDepth;
  [Description("PolicySourceColorDepth indicates whether the property ColorDepth is configured by Server (0),Group Policy (1), Default (2).") : Amended ToSubclass] uint32 PolicySourceColorDepth;
  [Description("Value of maximum monitors supported by server") : Amended ToSubclass] uint32 MaxMonitors;
  [Description("Value of maximum X resolution supported by server") : Amended ToSubclass] uint32 MaxXResolution;
  [Description("Value of maximum Y resolution supported by server") : Amended ToSubclass] uint32 MaxYResolution;
  [Description("PolicySourceMaxMonitors indicates whether the property MaxMonitors is configured by Server (0),Group Policy (1), Default (2).") : Amended ToSubclass] uint32 PolicySourceMaxMonitors;
  [Description("PolicySourceMaxResolution indicates whether the property MaxMonitors is configured by Server (0),Group Policy (1), Default (2).") : Amended ToSubclass] uint32 PolicySourceMaxResolution;
  [Description("Specifies whether to allow PNP redirection.") : Amended ToSubclass,Values{"FALSE", "TRUE"} : Amended ToSubclass] uint32 PNPRedirection;
  [Description("PolicySourcePNPRedirection indicates whether the property PNPRedirection is configured by Server (0),Group Policy (1).") : Amended ToSubclass] uint32 PolicySourcePNPRedirection;
  [Description("Specifies whether to allow Audio Capture redirection.") : Amended ToSubclass,Values{"FALSE", "TRUE"} : Amended ToSubclass] uint32 AudioCaptureRedir;
  [Description("PolicySourceAudioCaptureRedir indicates whether the property AudioCaptureRedir is configured by Server (0),Group Policy (1).") : Amended ToSubclass] uint32 PolicySourceAudioCaptureRedir;
  [Description("Specifies whether to allow Video Playback redirection.") : Amended ToSubclass,Values{"FALSE", "TRUE"} : Amended ToSubclass] uint32 VideoPlaybackRedir;
  [Description("PolicySourceVideoPlaybackRedir indicates whether the property VideoPlaybackRedir is configured by Server (0),Group Policy (1).") : Amended ToSubclass] uint32 PolicySourceVideoPlaybackRedir;
  [Description("Specifies the profile for RDP experience.") : Amended ToSubclass,Values{"scale", "experience", "bandwidth"} : Amended ToSubclass] uint32 RemoteSessionProfile;
  [Description("PolicySourceRemoteSessionProfile indicates whether the property RemoteSessionProfileis configured by Server (0),Group Policy (1).") : Amended ToSubclass] uint32 PolicySourceRemoteSessionProfile;
  [Description("Specifies whether AVC444 mode is preferred.") : Amended ToSubclass,Values{"FALSE", "TRUE"} : Amended ToSubclass] uint32 AVC444ModePreferred;
  [Description("PolicySourceAvc444ModePreferred indicates whether the property AVC444ModePreferredis configured by Server (0),Group Policy (1).") : Amended ToSubclass] uint32 PolicySourceAvc444ModePreferred;
  [Description("Specifies the image quality for RDP experience.") : Amended ToSubclass,Values{"lossless", "high", "medium"} : Amended ToSubclass] uint32 EncodeImageQuality;
  [Description("PolicySourceEncodeImageQuality indicates whether the property EncodeImageQualityis configured by Server (0),Group Policy (1).") : Amended ToSubclass] uint32 PolicySourceEncodeImageQuality;
  [Description("Specifies whether the RD Session Host server uses the hardware graphics renderer as the default adapter.") : Amended ToSubclass,Values{"FALSE", "TRUE"} : Amended ToSubclass] uint32 HardwareGraphicsAdapter;
  [Description("PolicySourceHardwareGraphicsAdapter indicates whether the property HardwareGraphicsAdapteris configured by Server (0),Group Policy (1).") : Amended ToSubclass] uint32 PolicySourceHardwareGraphicsAdapter;
  [Description("Specifies which transport protocols can be used for RDP access to server. 0: both UDP and TCP are used, 1: only TCP is used, 2: either UDP or TCP is used.") : Amended ToSubclass] uint32 SelectTransport;
  [Description("PolicySourceSelectTransport indicates whether the property SelectTransportis configured by Server (0), Group Policy (1).") : Amended ToSubclass] uint32 PolicySourceSelectTransport;
  [Description("Specifies whether network detection is used. 0:used at connect time and in steady state., 1:disabled at connect time, 2:disabled in steady state,3:disabled at connect time and in steady state.") : Amended ToSubclass] uint32 SelectNetworkDetect;
  [Description("PolicySourceSelectNetworkDetect indicates whether the property SelectNetworkDetectis configured by Server (0), Group Policy (1).") : Amended ToSubclass] uint32 PolicySourceSelectNetworkDetect;
  [Description("Enables or disables overriding user's maximum color settings.") : Amended ToSubclass] uint32 SetColorDepthPolicy([In] uint32 ColorDepthPolicy);
  [Description("Set's the ColorDepth property to one of the following possible values 1 = 8 bits, 2 = 15 bits, 3 = 16 bits, 4 = 24 bits and 5 = 32 bits.It returns an integer value of 0 if call was a success in case of Server-Override mode and an error if the setting is under group policy control.") : Amended ToSubclass] uint32 SetColorDepth([In] uint32 ColorDepth);
  [Description("Set maximum monitors supported by the server 1 being the minimum and 10 the maximum") : Amended ToSubclass] uint32 SetMaxMonitors([In] uint32 MaxMonitors);
  [Description("Set maximum X resolution supported by the server (minimum is 200 and maximum is 4096).") : Amended ToSubclass] uint32 SetMaxXResolution([In] uint32 MaxXResolution);
  [Description("Set maximum Y resolution supported by the server (minimum is 200 and maximum is 2048).") : Amended ToSubclass] uint32 SetMaxYResolution([In] uint32 MaxYResolution);
  [Description("Sets the properties ConnectClientDrivesAtLogon, ConnectPrinterAtLogon and DefaultToClientPrinter. It returns an integer value of 0 if call was a success and error in case of Server-Override mode.") : Amended ToSubclass] uint32 ConnectionSettings([In] uint32 ConnectClientDrivesAtLogon,[In] uint32 ConnectPrinterAtLogon,[In] uint32 DefaultToClientPrinter);
  [Description("PropertyName is an enumeration of the properties: 0 = LPTPortMapping, 1 = COMPortMapping, 2 = AudioMapping, 3 = ClipboardMapping, 4 = WindowsPrinterMapping. Each of them is a flag that is either False or True .according as Value is set to 0 or 1 respectively. The call returns 0 for success if the PropertyName is not under Group Policy / Server-overridable and an error otherwise.") : Amended ToSubclass] uint32 SetClientProperty([In] string PropertyName,[In] boolean Value);
  [Description("Specifies whether to enable or disable advanced RemoteFX graphics for RemoteApp.") : Amended ToSubclass,Values{"FALSE", "TRUE"} : Amended ToSubclass] uint32 AdvancedRemoteAppGraphics;
  [Description("PolicyAdvancedRemoteAppGraphics indicates whether the property AdvancedRemoteAppGraphicsis configured by Server (0),Group Policy (1).") : Amended ToSubclass] uint32 PolicyAdvancedRemoteAppGraphics;
};

[Description("The Win32_TSNetworkAdapterSetting class defines the configuration for Win32_Terminal. This includes capabilities such as Network Adapter, Maximum Connections etc.") : Amended ToSubclass,AMENDMENT, LOCALE(0x0809)] 
class Win32_TSNetworkAdapterSetting : Win32_TerminalSetting
{
  [key,Description("Name of the Terminal.") : Amended ToSubclass] string TerminalName;
  [Description("This is the DeviceID value found in Win32_NetworkAdapter of theLAN Adapter to be set. The value 0 implies All LAN Adapters.") : Amended ToSubclass] string NetworkAdapterID;
  [Description("This is the LanaID of the network adapter that is used to identify the network adapter assigned to the specified Terminal.") : Amended ToSubclass] uint32 NetworkAdapterLanaID;
  [Description("This is the value for Description found in Win32_NetworkAdapterConfiguration of theLAN Adapter to be set. The value 0 implies All LAN Adapters.") : Amended ToSubclass] string NetworkAdapterName;
  [Description("Maximum number of connections where MAXINT implies unlimited.") : Amended ToSubclass] uint32 MaximumConnections;
  [Description("PolicySourceMaximumConnections indicates whether the property MaximumConnections is configured by Server (0),Group Policy (1), Default (2).") : Amended ToSubclass] uint32 PolicySourceMaximumConnections;
  [Description("String array of available physical network adapters and thecorresponding DeviceIDs are returned as an array of DeviceID qualifier.") : Amended ToSubclass] string NetworkAdapterList[];
  [Description("String array of available DeviceIDs returned in the order of physical network adapters returned in NetworkAdapterList array.") : Amended ToSubclass] string DeviceIDList[];
  [Description("Specify the GUID of the NetworkAdapterID to set. If the ID is invalid or does not exist, the return value should indicate appropriately.") : Amended ToSubclass] uint32 SelectAllNetworkAdapters();
  [Description("Specify the LanaID of the network adapter to set. If the LanaID specified is  invalid or does not exist, an appropriate error will be returned. The available list of LanaIDs is obtained by enumerating the property DeviceIDList belonging to the class.") : Amended ToSubclass] uint32 SetNetworkAdapterLanaID([In] uint32 NetworkAdapterLanaID);
  [Description("Specify the IP Address of the NetworkAdapter to set. If the IP is invalid or does not exist, the return value should indicate appropriately. The IP Address can be obtained by enumerating the properties of Win32_TSNetworkAdapterListSetting class.") : Amended ToSubclass] uint32 SelectNetworkAdapterIP([In] string NetworkAdapterIP);
};

[Description("The Win32_TSPermissionsSetting class allows granting permissions to new accounts and restoring default permissions on the terminal.") : Amended ToSubclass,AMENDMENT, LOCALE(0x0809)] 
class Win32_TSPermissionsSetting : Win32_TerminalSetting
{
  [key,Description("Name of the Terminal.") : Amended ToSubclass] string TerminalName;
  [Description("String Security Descriptor associated with the Terminal.") : Amended ToSubclass] string StringSecurityDescriptor;
  [Description("Specifies whether local administrator is denied customizingof permissions") : Amended ToSubclass] uint32 DenyAdminPermissionForCustomization;
  [Description("PolicySourceMinEncryptionLevel indicates whether the property MinEncryptionLevel is configured by Server (0),Group Policy (1).") : Amended ToSubclass] uint32 PolicySourceDenyAdminPermissionForCustomization;
  [Description("Adds the User, Group or Computer to the existing set with the set of permissions defined. The AccountName comprises of both: Domain and Name of the entry and PermissionPreSet is enumeration of following PermissionsWINSTATION_GUEST_ACCESS, WINSTATION_USER_ACCESS, WINSTATION_ALL_ACCESS") : Amended ToSubclass] uint32 AddAccount([In] string AccountName,[In] uint32 PermissionPreSet);
  [Description("Provides the default set of permissions to Users and groups.") : Amended ToSubclass] uint32 RestoreDefaults();
};

[Description("The Win32_TSNetworkAdapterListSetting class enumerates IP address, GUID and Name of the Network Adapter.") : Amended ToSubclass,AMENDMENT, LOCALE(0x0809)] 
class Win32_TSNetworkAdapterListSetting : Win32_TerminalSetting
{
  [Description("Specifies the GUID of the LanAdapter.") : Amended ToSubclass] string NetworkAdapterID;
  [key,Description("Specifies the IP Address of the LanAdapter.") : Amended ToSubclass] string NetworkAdapterIP;
  [Description("Specifies the Display Name of the LanAdapter.") : Amended ToSubclass] string Description;
};

[Description("The Win32_TSAccount class allows deleting an existing account on the Win32_Terminal class and Modify exisiting Permissions ") : Amended ToSubclass,AMENDMENT, LOCALE(0x0809)] 
class Win32_TSAccount : Win32_TerminalSetting
{
  [key,Description("Name of the Terminal.") : Amended ToSubclass] string TerminalName;
  [key,Description("Specifies the AccountName that comprises of both: Domain and Name of the entry.") : Amended ToSubclass] string AccountName;
  [Description("Specifies the Security Identifier of the entry.") : Amended ToSubclass] string SID;
  [Description("Specifies the Permissions that are allowed. The permissions are a combination of one or more of the following:WINSTATION_QUERY, WINSTATION_SET, WINSTATION_VIRTUAL | STANDARD_RIGHTS_REQUIRED, WINSTATION_SHADOW,WINSTATION_LOGON, WINSTATION_LOGOFF, WINSTATION_MSG, WINSTATION_CONNECT,WINSTATION_DISCONNECT.") : Amended ToSubclass,Values{"WINSTATION_QUERY=0x1", "WINSTATION_SET=0x2", "WINSTATION_LOGOFF=0x4", "WINSTATION_VIRTUAL | STANDARD_RIGHTS_REQUIRED = 0xF008", "WINSTATION_SHADOW=0x10", "WINSTATION_LOGON=0x20", "WINSTATION_MSG=0x80", "WINSTATION_CONNECT=0x100", "WINSTATION_DISCONNECT=0x200"} : Amended ToSubclass] uint32 PermissionsAllowed;
  [Description("Specifies the Permissions that to be allowed. The permissions are a combination of one ore more of the following:WINSTATION_QUERY, WINSTATION_SET, WINSTATION_VIRTUAL | STANDARD_RIGHTS_REQUIRED, WINSTATION_SHADOW,WINSTATION_LOGON, WINSTATION_LOGOFF, WINSTATION_MSG, WINSTATION_CONNECT, WINSTATION_DISCONNECT.") : Amended ToSubclass,Values{"WINSTATION_QUERY=0x1", "WINSTATION_SET=0x2", "WINSTATION_LOGOFF=0x4", "WINSTATION_VIRTUAL | STANDARD_RIGHTS_REQUIRED = 0xF008", "WINSTATION_SHADOW=0x10", "WINSTATION_LOGON=0x20", "WINSTATION_MSG=0x80", "WINSTATION_CONNECT=0x100", "WINSTATION_DISCONNECT=0x200"} : Amended ToSubclass] uint32 PermissionsDenied;
  [Description("Specifies the Audit Permissions for success. The permissions are a combination of one or more of the following:WINSTATION_QUERY, WINSTATION_SET, WINSTATION_VIRTUAL | STANDARD_RIGHTS_REQUIRED, WINSTATION_SHADOW,WINSTATION_LOGON, WINSTATION_LOGOFF, WINSTATION_MSG, WINSTATION_CONNECT, WINSTATION_DISCONNECT.") : Amended ToSubclass,Values{"WINSTATION_QUERY=0x1", "WINSTATION_SET=0x2", "WINSTATION_LOGOFF=0x4WINSTATION_VIRTUAL | STANDARD_RIGHTS_REQUIRED = 0xF008", "WINSTATION_SHADOW=0x10", "WINSTATION_LOGON=0x20", "WINSTATION_MSG=0x80", "WINSTATION_CONNECT=0x100", "WINSTATION_DISCONNECT=0x200"} : Amended ToSubclass] uint32 AuditSuccess;
  [Description("Specifies the Audit Permissions for failure. The permissions are a combination of one or more of the following:WINSTATION_QUERY, WINSTATION_SET, WINSTATION_VIRTUAL | STANDARD_RIGHTS_REQUIRED, WINSTATION_SHADOW,WINSTATION_LOGON, WINSTATION_LOGOFF, WINSTATION_MSG, WINSTATION_CONNECT, WINSTATION_DISCONNECT.") : Amended ToSubclass,Values{"WINSTATION_QUERY=0x1", "WINSTATION_SET=0x2", "WINSTATION_LOGOFF=0x4", "WINSTATION_VIRTUAL | STANDARD_RIGHTS_REQUIRED = 0xF008", "WINSTATION_SHADOW=0x10", "WINSTATION_LOGON=0x20", "WINSTATION_MSG=0x80", "WINSTATION_CONNECT=0x100", "WINSTATION_DISCONNECT=0x200"} : Amended ToSubclass] uint32 AuditFail;
  [Description("Deletes the User or Group from the existing.") : Amended ToSubclass] uint32 Delete();
  [Description("The method enables setting a more granular set of permissions to the existing account. The flag, Allowspecifies if Permissions is to be allowed or denied.The permissions are set individually through PermissionMask.The PermissionMask is an enumeration of the following values:WINSTATION_QUERY, WINSTATION_SET, WINSTATION_LOGOFF, WINSTATION_VIRTUAL | STANDARD_RIGHTS_REQUIRED, WINSTATION_SHADOW,WINSTATION_LOGON, WINSTATION_MSG, WINSTATION_CONNECT,WINSTATION_DISCONNECT") : Amended ToSubclass] uint32 ModifyPermissions([In] uint32 PermissionMask,[In] boolean Allow);
  [Description("Provides for setting a more granular set of auditing permissions to the existing account specified.The permissions are set individually through PermissionMask.The PermissionMask is an enumeration of the following values:WINSTATION_QUERY=0, WINSTATION_SET=1, WINSTATION_LOGOFF=2, WINSTATION_VIRTUAL | STANDARD_RIGHTS_REQUIRED=3, WINSTATION_SHADOW=4,WINSTATION_LOGON=5, WINSTATION_MSG=7, WINSTATION_CONNECT=8,WINSTATION_DISCONNECT=9") : Amended ToSubclass] uint32 ModifyAuditPermissions([In] uint32 PermissionMask,[In] boolean Success);
};

[Description("The Win32_TSSessionDirectory class defines the configuration for Win32_TSSessionDirectorySetting. This includes capabilities such as Session Directory store, Cluster Name and Server IP address.") : Amended ToSubclass,AMENDMENT, LOCALE(0x0809)] 
class Win32_TSSessionDirectory : CIM_Setting
{
  [Description("Network path location to the Session Directory.") : Amended ToSubclass] string SessionDirectoryLocation;
  [Description("PolicySourceSessionDirectoryLocation indicates whether the property SessionDirectoryLocation is configured by Server (0) or Group Policy (1).") : Amended ToSubclass] uint32 PolicySourceSessionDirectoryLocation;
  [key,Description("Enables or Disables Session Directory.") : Amended ToSubclass,Values{"FALSE", "TRUE"} : Amended ToSubclass] uint32 SessionDirectoryActive;
  [Description("PolicySourceSessionActive indicates whether the property SessionDirectoryActive is configured by Server (0) or Group Policy (1).") : Amended ToSubclass] uint32 PolicySourceSessionDirectoryActive;
  [Description("Allows or Denies retrieving IP address of the Session Directory.") : Amended ToSubclass,Values{"FALSE", "TRUE"} : Amended ToSubclass] uint32 SessionDirectoryExposeServerIP;
  [Description("PolicySourceSessionDirectoryExposeServerIP indicates whether the property SessionDirectoryExposeServerIP is configured by Server (0) or Group Policy (1).") : Amended ToSubclass] uint32 PolicySourceSessionDirectoryExposeServerIP;
  [Description("Cluster to which this Terminal server belongs. Typically, it is a DNS entry which represents the Virtual IP address of computers.") : Amended ToSubclass] string SessionDirectoryClusterName;
  [Description("PolicySourceLoadBalancing indicates whether the property GetLoadBalancingStateis configured by Server (0) or Group Policy (1).") : Amended ToSubclass] uint32 PolicySourceLoadBalancing;
  [Description("GetLoadBalancingState indicates whether the server is configured to participate in Session Broker Load Balancing or not.") : Amended ToSubclass] uint32 GetLoadBalancingState;
  [Description("GetServerWeight returns the Server weight value used in Session Broker Load Balancing.") : Amended ToSubclass] uint32 GetServerWeight;
  [Description("PolicySourceSessionDirectoryClusterName indicates whether the property SessionDirectoryClusterName is configured by Server (0) or Group Policy (1).") : Amended ToSubclass] uint32 PolicySourceSessionDirectoryClusterName;
  [Description("Specifies the IP Address of the LanAdapter that is used by the Session Directory.") : Amended ToSubclass] string SessionDirectoryIPAddress;
  [Description("PropertyName is an enumeration of the properties: 0 = SessionDirectoryLocation and 1 = SessionDirectoryClusterNamewhich are flags that are either set to False or True according as whether Value is set to 0 or 1 respectively. The call returns 0 for success and an error if the policy was set to Group policy.") : Amended ToSubclass] uint32 SetSessionDirectoryProperty([In] string PropertyName,[In] string Value);
  [Description("Enables or disables SessionDirectory according as whether Value is set to 0 or 1 respectively. The call returns 0 for success and an error if the policy was set to Group policy.") : Amended ToSubclass] uint32 SetSessionDirectoryActive([In] uint32 SessionDirectoryActive);
  [Description("Allows or Denies retrieving IP address of SessionDirectory according as whether Value is set to 1 or 0 respectively. The call returns 0 for success and an error if the policy was set to Group policy.") : Amended ToSubclass] uint32 SetSessionDirectoryExposeServerIP([In] uint32 SessionDirectoryExposeServerIP);
  [Description("Obtains entire list of Token Redirectable addresses or DNS Eligible address.") : Amended ToSubclass] uint32 GetRedirectableAddresses([In] uint32 fTokenRedirection,[out] string IPAddresses[],[out] string AdapterNames[],[out] string NetConName[]);
  [Description("Obtains the currently configured list of either Token Redirectable addresses or DNS Eligible addresses.") : Amended ToSubclass] uint32 GetCurrentRedirectableAddresses([out] uint32 fTokenRedirection,[out] string IPAddresses[]);
  [Description("Writes out the configured list of either Token Redirectable addresses or DNS Eligible addresses.") : Amended ToSubclass] uint32 SetCurrentRedirectableAddresses([in] uint32 fTokenRedirection,[in] string IPAddresses[]);
  [Description("Attempts to access a session directory server") : Amended ToSubclass] uint32 PingSessionDirectory([in] string ServerName);
  [Description("Sets the value to indicate whether the server will participate in Session Broker Load Balancing.0 = The server will not participate in Session Broker Load Balancing1 = The server will participate in TS Session Broker Load Balancing") : Amended ToSubclass] uint32 SetLoadBalancingState([in] uint32 StateValue);
  [Description("Sets the server weight value for Session Broker Load Balancing. Valid range is 1 to 10000.") : Amended ToSubclass] uint32 SetServerWeight([in] uint32 ServerWeightValue);
  [Description("GetTSRedirectorMode indicates whether the server is configured to be a Redirector or not.") : Amended ToSubclass] uint32 GetTSRedirectorMode;
  [Description("Creates User Disk Template of specified max size and at the specified location. All User Disks created will have max sizes matching the Template's max size.") : Amended ToSubclass] uint32 CreateUserDiskTemplate([in] string UserDisksStorageUrl,[in] uint32 UserDiskMaxSizeInGB);
  [Description("Enables, and sets parameters for the User VHD") : Amended ToSubclass] uint32 EnableUserVhd([in] string UvhdShareUrl,[in] string UvhdRoamingPolicyXml);
  [Description("Disables the User VHD") : Amended ToSubclass] uint32 DisableUserVhd();
};

[Description("The Win32_TSSessionDirectorySetting class is an association with Win32_TerminalService as the Element and Win32_TSSessionDirectory as the Setting property that includes Terminal Server Session Directory Location, Cluster Name and SessionDirectoryActive properties.") : Amended ToSubclass,AMENDMENT, LOCALE(0x0809)] 
class Win32_TSSessionDirectorySetting : CIM_ElementSetting
{
};

[Description("The Win32_TSVirtualIP class defines the configuration for Win32_TSVirtualIPSetting. This includes capabilities such as Enable Virtual IP, Set Virtual IP modes Per-session/Per-Program.Add/Remove a program to/from the list of Programs that needs a virtual IP.Enumerate Network Adapters and set a Network Adapter to use.") : Amended ToSubclass,AMENDMENT, LOCALE(0x0809)] 
class Win32_TSVirtualIP : CIM_Setting
{
  [key,Description("Enables or Disables Virtual IP.") : Amended ToSubclass,Values{"FALSE", "TRUE"} : Amended ToSubclass] uint32 VirtualIPActive;
  [Description("PolicySourceVirtualIPActive indicates whether the property VirtualIPActive is configured by Server (0) or Group Policy (1).") : Amended ToSubclass] uint32 PolicySourceVirtualIPActive;
  [Description("Describes which mode is used.") : Amended ToSubclass,Values{"Per-Session", "Per-Program"} : Amended ToSubclass] uint32 VirtualIPMode;
  [Description("PolicySourceVirtualIPMode indicates whether the property VirtualIPMode is configured by Server (0) or Group Policy (1).") : Amended ToSubclass] uint32 PolicySourceVirtualIPMode;
  [Description("String array of the programs that are configured to use Virtual IP.It could be just a program name or the full binary path.") : Amended ToSubclass] string ProgramList[];
  [Description("PolicySourceProgramList indicates whether the property ProgramList is configured by Server (0) or Group Policy (1).") : Amended ToSubclass] uint32 PolicySourceProgramList;
  [description("Description found in win32_networkadapter.") : Amended ToSubclass] string NetworkAdapterDescription;
  [description("Mac Address of the network adapter.") : Amended ToSubclass] string NetworkAdapterMacAddress;
  [Description("PolicySourceNetworkAdapter indicates whether the property NetworkAdapter is configured by Server (0) or Group Policy (1).") : Amended ToSubclass] uint32 PolicySourceNetworkAdapter;
  [description("String array of description of available physical Network Adapters") : Amended ToSubclass] string NetworkAdapterDescriptionList[];
  [description("String array of Mac Addresses of available physical Network Adapters") : Amended ToSubclass] string NetworkAdapterMacList[];
  [Description("Enables or Disables Loopback Adresses Virtualization.") : Amended ToSubclass,Values{"FALSE", "TRUE"} : Amended ToSubclass] uint32 VirtualizeLoopbackAddressesEnabled;
  [Description("Enables or disables VirtualIP according as whether Value is set to 0 or 1 respectively. The call returns 0 for success and an error if the policy was set to Group policy.") : Amended ToSubclass] uint32 SetVirtualIPActive([in] uint32 VirtualIPActive);
  [Description("Sets the mode of the Virtual IP according as whether Value is set to 0 or 1 respectively. The call returns 0 for success and an error if the policy was set to Group policy.") : Amended ToSubclass] uint32 SetVirtualIPMode([in] uint32 VirtualIPMode);
  [Description("Specify the path of the program that need to use a Virtual IP. If the path is invalid or does not exist, the return value should indicate appropriately. The path is correct it will be added to the list of program in ProgramList.") : Amended ToSubclass] uint32 AddProgram([in] string ProgramPath);
  [Description("Specify the path of the program that need not use a Virtual IP. If the program does not exist in ProgramList, the return value should indicate appropriately. Otherwize it will be removedfrom the list of program in ProgramList.") : Amended ToSubclass] uint32 RemoveProgram([in] string ProgramPath);
  [Description("Set list of Programs to use Virtual IP") : Amended ToSubclass] unint32 SetProgramList([in] string ProgramList[]);
  [Description("Specify the MAC Address of the NetworkAdapter to set. If the MAC is invalid or does not exist, or if the mode is per-Session the return value should indicate appropriately.") : Amended ToSubclass] uint32 SelectNetworkAdapter([in] string NetworkAdapterMacAddress);
  [Description("Enables or disables Loopback Adsress Virtualization based on whether 1 or 0 respectively. The call returns 0 for success and an error if the policy was set to Group policy.") : Amended ToSubclass] uint32 SetVirtualizeLoopbackAddressesEnabled([in] uint32 VirtualizeLoopbackAddressesEnabled);
};

[Description("The Win32_TSVirtualIPSetting class is an association with Win32_TerminalService as the Element and Win32_TSVirtualIP as the Setting property This includes capabilities such as Enable Virtual IP, Set Virtual IP modes Per-session/Per-Program.Add/Remove a program to/from the list of Programs that needs a virtual IP.Enumerate Network Adapters and set a Network Adapter to use.Enable/Disable Virtualization of Loopback Addresses Per-Program.") : Amended ToSubclass,AMENDMENT, LOCALE(0x0809)] 
class Win32_TSVirtualIPSetting : CIM_ElementSetting
{
};
