#pragma autorecover
#pragma classflags(64)
#pragma namespace("\\\\.\\ROOT\\cimv2")

Instance of __Namespace
{
  Name = "TerminalServices";
};

Instance of __Win32Provider as $P0
{
  Name = "Win32_WIN32_TERMINALSERVICE_Prov";
  ClsId = "{7970614A-BD82-439e-A828-CC96F8E91428}";
  HostingModel = "NetworkServiceHost";
};

Instance of __InstanceProviderRegistration
{
  Provider = $P0;
  SupportsGet = TRUE;
  SupportsPut = TRUE;
  SupportsDelete = TRUE;
  SupportsEnumeration = TRUE;
  QuerySupportLevels = {"WQL:UnarySelect"};
};

Instance of __MethodProviderRegistration
{
  Provider = $P0;
};

[dynamic,provider("Win32_WIN32_TERMINALSERVICE_Prov"),ClassContext("local|hkey_local_machine\\SYSTEM\\CurrentControlSet\\Control\\TerminalServer")] 
class Win32_TerminalService : Win32_Service
{
  [read] uint32 TotalSessions;
  [read] uint32 DisconnectedSessions;
};
#pragma namespace("\\\\.\\Root\\cimv2\\TerminalServices")

[RequiresEncryption] 
Instance of __systemSecurity
{
};

#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)

[Abstract,Locale(1033) : ToInstance,UUID("{8502C517-5FBB-11D2-AAC1-006008C78BC7}") : ToInstance] 
class CIM_ManagedSystemElement
{
  [MaxLen(64) : ToSubclass,Read : ToSubclass] string Caption;
  [Read : ToSubclass] string Description;
  [Mappingstrings{"MIF.DMTF|ComponentID|001.5"} : ToSubclass,Read : ToSubclass] datetime InstallDate;
  [Read : ToSubclass] string Name;
  [Read : ToSubclass,MaxLen(10) : ToSubclass,ValueMap{"OK", "Error", "Degraded", "Unknown", "Pred Fail", "Starting", "Stopping", "Service"} : ToSubclass] string Status;
};

[Abstract,Locale(1033) : ToInstance,UUID("{8502C518-5FBB-11D2-AAC1-006008C78BC7}") : ToInstance] 
class CIM_LogicalElement : CIM_ManagedSystemElement
{
};

[Abstract,Locale(1033) : ToInstance,UUID("{8502C518-5FBB-11D2-AAC1-006008C78BC7}") : ToInstance] 
class CIM_Setting : CIM_ManagedSystemElement
{
};

[Abstract,Locale(1033) : ToInstance,UUID("{8502C518-5FBB-11D2-AAC1-006008C78BC7}") : ToInstance] 
class CIM_ElementSetting : CIM_ManagedSystemElement
{
};

Instance of __Win32Provider as $P
{
  Name = "Win32_WIN32_TERMINALSERVICESETTING_Prov";
  ClsId = "{6BD6AECA-AFB0-45b7-BAC4-F292EC0F3F41}";
  HostingModel = "NetworkServiceHost";
};

Instance of __InstanceProviderRegistration
{
  Provider = $P;
  SupportsGet = TRUE;
  SupportsPut = TRUE;
  SupportsDelete = TRUE;
  SupportsEnumeration = TRUE;
  QuerySupportLevels = {"WQL:UnarySelect"};
};

Instance of __MethodProviderRegistration
{
  Provider = $P;
};

[abstract] 
class Win32_TSDiscoveredLicenseServer
{
  [key,read] string LicenseServer;
  [DEPRECATED,read] uint32 HowDiscovered;
  [read] uint32 IsLSAvailable;
  [read] uint32 IsAdminOnLS;
  [read] uint32 IssuingCALs;
};

[dynamic,provider("Win32_WIN32_TERMINALSERVICESETTING_Prov"),ClassContext("local|hkey_local_machine\\SYSTEM\\CurrentControlSet\\Control\\TerminalServer")] 
class Win32_TerminalServiceSetting : CIM_Setting
{
  [key,read] string ServerName;
  [read] uint32 TerminalServerMode;
  [read] uint32 GetCapabilitiesID;
  [read] uint32 LicensingType;
  [read] uint32 PolicySourceLicensingType;
  [read,BitMap{"0", "1", "2", "4", "5"},BitValues{"Personal Terminal Server", "Remote Desktop for Administration", "Per Device", "Per User", "Not Configured"}] uint32 PossibleLicensingTypes;
  [read] string LicensingName;
  [read] string LicensingDescription;
  [read,write] uint32 ActiveDesktop;
  [read,write] uint32 UserPermission;
  [read] uint32 DeleteTempFolders;
  [read] uint32 PolicySourceDeleteTempFolders;
  [read] uint32 UseTempFolders;
  [read] uint32 PolicySourceUseTempFolders;
  [read] uint32 AllowTSConnections;
  [read] uint32 PolicySourceAllowTSConnections;
  [read] uint32 SingleSession;
  [read] uint32 PolicySourceSingleSession;
  [read] string ProfilePath;
  [read] uint32 PolicySourceProfilePath;
  [read] string HomeDirectory;
  [read] uint32 PolicySourceHomeDirectory;
  [read] uint32 TimeZoneRedirection;
  [read] uint32 PolicySourceTimeZoneRedirection;
  [read,write] string Logons;
  [DEPRECATED,read] string DirectConnectLicenseServers;
  [DEPRECATED,read] uint32 PolicySourceDirectConnectLicenseServers;
  [read] uint32 PolicySourceConfiguredLicenseServers;
  [read] uint32 DisableForcibleLogoff;
  [read] uint32 FallbackPrintDriverType;
  [read] uint32 PolicySourceFallbackPrintDriverType;
  [read,write] uint32 SessionBrokerDrainMode;
  [read,write] uint32 LimitedUserSessions;
  [read,write] uint32 EnableDFSS;
  [read] uint32 PolicySourceEnableDFSS;
  [read,write] uint32 EnableRemoteDesktopMSI;
  [read] uint32 PolicySourceEnableRemoteDesktopMSI;
  [read,write] uint32 EnableAutomaticReconnection;
  [read] uint32 PolicySourceEnableAutomaticReconnection;
  [read,write] uint32 UseRDEasyPrintDriver;
  [read] uint32 PolicySourceUseRDEasyPrintDriver;
  [read,write] uint32 RedirectSmartCards;
  [read] uint32 PolicySourceRedirectSmartCards;
  [read,write] uint32 EnableDiskFSS;
  [read,write] uint32 EnableNetworkFSS;
  [read,write] uint32 NetworkFSSUserSessionWeight;
  [read,write] uint32 NetworkFSSLocalSystemWeight;
  [read,write] uint32 NetworkFSSCatchAllWeight;
  [Implemented] uint32 SetTimeZoneRedirection([In] uint32 TimeZoneRedirection);
  [DEPRECATED,Implemented] uint32 AddDirectConnectLicenseServer([In] string LicenseServerName);
  [DEPRECATED,Implemented] uint32 DeleteDirectConnectLicenseServer([In] string LicenseServerName);
  [DEPRECATED,Implemented] uint32 UpdateDirectConnectLicenseServer([In] string LicenseServerList);
  [Implemented] uint32 GetRegisteredLicenseServerList([out] string RegisteredLSList[]);
  [Implemented] uint32 GetSpecifiedLicenseServerList([out] string SpecifiedLSList[]);
  [Implemented] uint32 SetSpecifiedLicenseServerList([In] string SpecifiedLSList[]);
  [Implemented] uint32 EmptySpecifiedLicenseServerList();
  [Implemented] uint32 SetPrimaryLicenseServer([In] string LicenseServerName);
  [Implemented] uint32 AddLSToSpecifiedLicenseServerList([In] string LicenseServerName);
  [Implemented] uint32 RemoveLSFromSpecifiedLicenseServerList([In] string LicenseServerName);
  [Implemented] uint32 GetLicensingAadInfo([out] string LicensingClientId,[out] uint32 TokenLength,[out] string TenantAadToken);
  [Implemented] uint32 SetLicensingAadInfo([In] string LicensingClientId,[In] string TenantAadToken);
  [Implemented] uint32 GetRDSVersion([out] uint32 Version);
  [Implemented] uint32 ChangeMode([In] uint32 LicensingType);
  [Implemented] uint32 SetAllowTSConnections([In] uint32 AllowTSConnections,[In] uint32 ModifyFirewallException);
  [Implemented] uint32 SetSingleSession([In] uint32 SingleSession);
  [Implemented] uint32 SetDisableForcibleLogoff([In] uint32 DisableForcibleLogoff);
  [Implemented] uint32 SetProfilePath([In] string ProfilePath);
  [Implemented] uint32 SetHomeDirectory([In] string HomeDirectory);
  [Implemented] uint32 SetPolicyPropertyName([In] string PropertyName,[In] boolean Value);
  [Implemented] uint32 SetFallbackPrintDriverType([In] uint32 FallbackPrintDriverType);
  [Implemented] uint32 GetTSLanaIds([out] uint32 LanaIdList[],[out] string LanaIdDescriptions[]);
  [Implemented] uint32 GetWinstationDriverNames([out] string WinstaDriverNames[]);
  [Implemented] uint32 CreateWinstation([in] string Name,[in] string WinstaDriverName,[in] uint32 LanaId);
  [DEPRECATED,Implemented] uint32 PingLicenseServer([in] string ServerName);
  [Implemented] uint32 GetTStoLSConnectivityStatus([in] string ServerName,[out,ValueMap{"0", ".."}] uint32 TStoLSConnectivityStatus);
  [DEPRECATED,Implemented] uint32 CanAccessLicenseServer([in] string ServerName,[out] uint32 AccessAllowed);
  [Implemented] uint32 FindLicenseServers([out] Win32_TSDiscoveredLicenseServer LicenseServersList[],[out] uint32 Count);
  [Implemented] uint32 GetGracePeriodDays([out] uint32 DaysLeft);
  [Implemented] uint32 GetDomain([out] string Domain);
};

class Win32_TerminalServiceSettingError : __ExtendedStatus
{
  [read] sint32 TerminalServiceMode;
};

Instance of __Win32Provider as $P13
{
  Name = "Win32_WIN32_TERMINALSERVICETOSETTING_Prov";
  ClsId = "{B490264C-8D8F-40fd-B1BE-CD69AD779EC1}";
  HostingModel = "NetworkServiceHost";
};

Instance of __InstanceProviderRegistration
{
  Provider = $P13;
  SupportsGet = TRUE;
  SupportsPut = TRUE;
  SupportsDelete = TRUE;
  SupportsEnumeration = TRUE;
  QuerySupportLevels = {"WQL:UnarySelect"};
};

Instance of __MethodProviderRegistration
{
  Provider = $P13;
};

[Dynamic : ToInstance,Provider("Win32_WIN32_TERMINALSERVICETOSETTING_Prov"),ClassContext("local|hkey_local_machine\\SYSTEM\\CurrentControlSet\\Control\\TerminalServer")] 
class Win32_TerminalServiceToSetting : CIM_ElementSetting
{
  [Key] Win32_TerminalService Ref Element;
  [Key] Win32_TerminalServiceSetting Ref Setting;
};

[abstract] 
class Win32_TerminalSetting : CIM_Setting
{
  [read] string TerminalName;
};

Instance of __Win32Provider as $P14
{
  Name = "Win32_WIN32_TERMINALTERMINALSETTING_Prov";
  ClsId = "{BA4EAC04-AFCE-441a-A4F0-C4A97545425A}";
  HostingModel = "NetworkServiceHost";
};

Instance of __InstanceProviderRegistration
{
  Provider = $P14;
  SupportsGet = TRUE;
  SupportsPut = TRUE;
  SupportsDelete = TRUE;
  SupportsEnumeration = TRUE;
  QuerySupportLevels = {"WQL:UnarySelect"};
};

[dynamic : ToInstance,provider("Win32_WIN32_TERMINALTERMINALSETTING_Prov")] 
class Win32_TerminalTerminalSetting : CIM_ElementSetting
{
  [Key] Win32_Terminal Ref Element;
  [Key] Win32_TerminalSetting Ref Setting;
};

Instance of __Win32Provider as $P1
{
  Name = "Win32_WIN32_TERMINAL_Prov";
  ClsId = "{74628299-57EC-4f12-BA1C-08B477BF447A}";
  HostingModel = "NetworkServiceHost";
};

Instance of __InstanceProviderRegistration
{
  Provider = $P1;
  SupportsGet = TRUE;
  SupportsPut = TRUE;
  SupportsDelete = TRUE;
  SupportsEnumeration = TRUE;
  QuerySupportLevels = {"WQL:UnarySelect"};
};

Instance of __MethodProviderRegistration
{
  Provider = $P1;
};

[dynamic,overwrite,provider("Win32_WIN32_TERMINAL_Prov"),ClassContext("local|hkey_local_machine\\SYSTEM\\CurrentControlSet\\Control\\TerminalServer\\WinStations")] 
class Win32_Terminal : CIM_LogicalElement
{
  [key,read] string TerminalName;
  [read] uint32 fEnableTerminal;
  [read] uint32 LoggedOnUsers;
  [Implemented] uint32 Enable([In] uint32 fEnableTerminal);
  [Implemented] uint32 Create([In] string NewTerminalName,[In] string Transport,[In] string TerminalProtocol);
  [Implemented] uint32 Rename([In] string NewTerminalName);
  [Implemented] uint32 Delete([In] string NewTerminalName);
};

class Win32_TerminalError : __ExtendedStatus
{
  [read] string TerminalName;
};

Instance of __Win32Provider as $P2
{
  Name = "Win32_WIN32_TSGENERALSETTING_Prov";
  ClsId = "{4C8A0917-F587-4ecf-9C89-48147528F4E1}";
  HostingModel = "NetworkServiceHost";
};

Instance of __InstanceProviderRegistration
{
  Provider = $P2;
  SupportsGet = TRUE;
  SupportsPut = TRUE;
  SupportsDelete = TRUE;
  SupportsEnumeration = TRUE;
  QuerySupportLevels = {"WQL:UnarySelect"};
};

Instance of __MethodProviderRegistration
{
  Provider = $P2;
};

[dynamic,provider("Win32_WIN32_TSGENERALSETTING_Prov"),ClassContext("local|hkey_local_machine\\SYSTEM\\CurrentControlSet\\Control\\TerminalServer\\WinStations")] 
class Win32_TSGeneralSetting : Win32_TerminalSetting
{
  [key,read] string TerminalName;
  [read] string TerminalProtocol;
  [read] string Transport;
  [read,write] string Comment;
  [read,write] uint32 WindowsAuthentication;
  [read,write] string SSLCertificateSHA1Hash;
  [read] uint8 Certificates[];
  [read] uint32 SSLCertificateSHA1HashType;
  [read,Low("Only data sent from client to server is protected by encryption based on server's standard key strength. Data sent from Server to client is not protected."),Medium("All data sent between Server and client is protected by encryption based on server's standard key strength."),High("All data sent between Server and client is protected by encryption based onserver's maximum key strength."),ValueMap{"1", "2", "3", "4"}] uint32 MinEncryptionLevel;
  [read] uint32 UserAuthenticationRequired;
  [read] uint32 PolicySourceUserAuthenticationRequired;
  [read] uint32 PolicySourceMinEncryptionLevel;
  [read,RDPSecurityLayer("RDP Security Layer: Communication between the serverand the client will use native RDP encryption."),Negotiate("The most secure layer that is supported by the client will be used.If supported, TLS 1.0 will be used."),SSL("SSL (TLS 1.0) will be used for server authentication as well as forencrypting all data transferred between the server and the client.This setting requires the server to have an SSL compatible certificate."),NEWTBD("A NEW SECURITY LAYER in LONGHORN."),ValueMap{"1", "2", "3", "4"}] uint32 SecurityLayer;
  [read] uint32 PolicySourceSecurityLayer;
  [read] string CertificateName;
  [Implemented] uint32 SetEncryptionLevel([In] uint32 MinEncryptionLevel);
  [Implemented] uint32 SetSecurityLayer([In] uint32 SecurityLayer);
  [Implemented] uint32 SetUserAuthenticationRequired([In] uint32 UserAuthenticationRequired);
};

Instance of __Win32Provider as $P3
{
  Name = "Win32_WIN32_TSLOGONSETTING_Prov";
  ClsId = "{C41FF872-07B1-4926-819B-8C94E6B1FBB9}";
  HostingModel = "NetworkServiceHost";
};

Instance of __InstanceProviderRegistration
{
  Provider = $P3;
  SupportsGet = TRUE;
  SupportsPut = TRUE;
  SupportsDelete = TRUE;
  SupportsEnumeration = TRUE;
  QuerySupportLevels = {"WQL:UnarySelect"};
};

Instance of __MethodProviderRegistration
{
  Provider = $P3;
};

[dynamic,provider("Win32_WIN32_TSLOGONSETTING_Prov"),ClassContext("local|hkey_local_machine\\SYSTEM\\CurrentControlSet\\Control\\TerminalServer\\WinStations")] 
class Win32_TSLogonSetting : Win32_TerminalSetting
{
  [key,read] string TerminalName;
  [read,write] uint32 ClientLogonInfoPolicy;
  [read] uint32 PromptForPassword;
  [read] uint32 PolicySourcePromptForPassword;
  [read] string UserName;
  [read] uint32 PolicySourceUserName;
  [read] string Domain;
  [read] uint32 PolicySourceDomain;
  [Implemented] uint32 ExplicitLogon([In] string UserName,[In] string Domain,[In] string Password);
  [Implemented] uint32 SetPromptForPassword([In] uint32 PromptForPassword);
};

Instance of __Win32Provider as $P4
{
  Name = "Win32_WIN32_TSSESSIONSETTING_Prov";
  ClsId = "{BE9B3133-250B-44a5-A278-C532B7B7FF76}";
  HostingModel = "NetworkServiceHost";
};

Instance of __InstanceProviderRegistration
{
  Provider = $P4;
  SupportsGet = TRUE;
  SupportsPut = TRUE;
  SupportsDelete = TRUE;
  SupportsEnumeration = TRUE;
  QuerySupportLevels = {"WQL:UnarySelect"};
};

Instance of __MethodProviderRegistration
{
  Provider = $P4;
};

[dynamic,provider("Win32_WIN32_TSSESSIONSETTING_Prov"),ClassContext("local|hkey_local_machine\\SYSTEM\\CurrentControlSet\\Control\\TerminalServer\\WinStations")] 
class Win32_TSSessionSetting : Win32_TerminalSetting
{
  [key,read] string TerminalName;
  [read,write] uint32 TimeLimitPolicy;
  [read] uint32 ActiveSessionLimit;
  [read] uint32 PolicySourceActiveSessionLimit;
  [read] uint32 DisconnectedSessionLimit;
  [read] uint32 PolicySourceDisconnectedSessionLimit;
  [read] uint32 IdleSessionLimit;
  [read] uint32 PolicySourceIdleSessionLimit;
  [read,write] uint32 BrokenConnectionPolicy;
  [read] uint32 BrokenConnectionAction;
  [read] uint32 PolicySourceBrokenConnectionAction;
  [read,write] uint32 ReconnectionPolicy;
  [read] uint32 PolicySourceReconnectionPolicy;
  [read,write] uint32 EnableTimeoutWarning;
  [Implemented] uint32 TimeLimit([In] string SessionLimitType,[In] uint32 ValueLimit);
  [Implemented] uint32 BrokenConnection([In] uint32 BrokenConnectionAction);
};

Instance of __Win32Provider as $P5
{
  Name = "Win32_WIN32_TSENVIRONMENTSETTING_Prov";
  ClsId = "{9A17DFD1-34FA-4d61-B9BB-3A1097E7FADF}";
  HostingModel = "NetworkServiceHost";
};

Instance of __InstanceProviderRegistration
{
  Provider = $P5;
  SupportsGet = TRUE;
  SupportsPut = TRUE;
  SupportsDelete = TRUE;
  SupportsEnumeration = TRUE;
  QuerySupportLevels = {"WQL:UnarySelect"};
};

Instance of __MethodProviderRegistration
{
  Provider = $P5;
};

[dynamic,provider("Win32_WIN32_TSENVIRONMENTSETTING_Prov"),ClassContext("local|hkey_local_machine\\SYSTEM\\CurrentControlSet\\Control\\TerminalServer\\WinStations")] 
class Win32_TSEnvironmentSetting : Win32_TerminalSetting
{
  [key,read] string TerminalName;
  [read,write] uint32 InitialProgramPolicy;
  [read] string InitialProgramPath;
  [read] uint32 PolicySourceInitialProgramPath;
  [read] string Startin;
  [read] uint32 PolicySourceStartIn;
  [read] uint32 ClientWallPaper;
  [read] uint32 PolicySourceClientWallPaper;
  [Implemented] uint32 InitialProgram([In] string InitialProgramPath,[In] string Startin);
  [Implemented] uint32 SetClientWallPaper([In] uint32 ClientWallPaper);
};

Instance of __Win32Provider as $P6
{
  Name = "Win32_WIN32_TSREMOTECONTROLSETTING_Prov";
  ClsId = "{DBD71B6B-F717-4a61-A914-2337BC50B0D6}";
  HostingModel = "NetworkServiceHost";
};

Instance of __InstanceProviderRegistration
{
  Provider = $P6;
  SupportsGet = TRUE;
  SupportsPut = TRUE;
  SupportsDelete = TRUE;
  SupportsEnumeration = TRUE;
  QuerySupportLevels = {"WQL:UnarySelect"};
};

Instance of __MethodProviderRegistration
{
  Provider = $P6;
};

[dynamic,provider("Win32_WIN32_TSREMOTECONTROLSETTING_Prov"),ClassContext("local|hkey_local_machine\\SYSTEM\\CurrentControlSet\\Control\\TerminalServer\\WinStations")] 
class Win32_TSRemoteControlSetting : Win32_TerminalSetting
{
  [key,read] string TerminalName;
  [read,write] uint32 RemoteControlPolicy;
  [read] uint32 LevelOfControl;
  [read] uint32 PolicySourceLevelOfControl;
  [Implemented] uint32 RemoteControl([In] uint32 LevelOfControl);
};

Instance of __Win32Provider as $P7
{
  Name = "Win32_WIN32_TSCLIENTSETTING_Prov";
  ClsId = "{647BD8C2-658B-4eca-ABC7-FC5C0BF1704D}";
  HostingModel = "NetworkServiceHost";
};

Instance of __InstanceProviderRegistration
{
  Provider = $P7;
  SupportsGet = TRUE;
  SupportsPut = TRUE;
  SupportsDelete = TRUE;
  SupportsEnumeration = TRUE;
  QuerySupportLevels = {"WQL:UnarySelect"};
};

Instance of __MethodProviderRegistration
{
  Provider = $P7;
};

[dynamic,provider("Win32_WIN32_TSCLIENTSETTING_Prov"),ClassContext("local|hkey_local_machine\\SYSTEM\\CurrentControlSet\\Control\\TerminalServer\\WinStations")] 
class Win32_TSClientSetting : Win32_TerminalSetting
{
  [key,read] string TerminalName;
  [read,write] uint32 ConnectionPolicy;
  [read] uint32 ConnectClientDrivesAtLogon;
  [read] uint32 ConnectPrinterAtLogon;
  [read] uint32 DefaultToClientPrinter;
  [read] uint32 PolicySourceDefaultToClientPrinter;
  [read] uint32 WindowsPrinterMapping;
  [read] uint32 PolicySourceWindowsPrinterMapping;
  [read] uint32 LPTPortMapping;
  [read] uint32 PolicySourceLPTPortMapping;
  [read] uint32 COMPortMapping;
  [read] uint32 PolicySourceCOMPortMapping;
  [read] uint32 DriveMapping;
  [read] uint32 PolicySourceDriveMapping;
  [read] uint32 AudioMapping;
  [read] uint32 PolicySourceAudioMapping;
  [read] uint32 ClipboardMapping;
  [read] uint32 PolicySourceClipboardMapping;
  [read] uint32 ColorDepthPolicy;
  [read] uint32 PolicySourceColorDepthPolicy;
  [read,ValueMap{"1", "2", "3", "4", "5"}] uint32 ColorDepth;
  [read] uint32 PolicySourceColorDepth;
  [read] uint32 MaxMonitors;
  [read] uint32 MaxXResolution;
  [read] uint32 MaxYResolution;
  [read] uint32 PolicySourceMaxMonitors;
  [read] uint32 PolicySourceMaxResolution;
  [read] uint32 PNPRedirection;
  [read] uint32 PolicySourcePNPRedirection;
  [read] uint32 AudioCaptureRedir;
  [read] uint32 PolicySourceAudioCaptureRedir;
  [read] uint32 VideoPlaybackRedir;
  [read] uint32 PolicySourceVideoPlaybackRedir;
  [read,write,ValueMap{"1", "2", "3"}] uint32 RemoteSessionProfile;
  [read] uint32 PolicySourceRemoteSessionProfile;
  [read,write] uint32 AVC444ModePreferred;
  [read] uint32 PolicySourceAvc444ModePreferred;
  [read,write,ValueMap{"1", "2", "3"}] uint32 EncodeImageQuality;
  [read] uint32 PolicySourceEncodeImageQuality;
  [read,write] uint32 HardwareGraphicsAdapter;
  [read] uint32 PolicySourceHardwareGraphicsAdapter;
  [read,write] uint32 SelectTransport;
  [read] uint32 PolicySourceSelectTransport;
  [read,write] uint32 SelectNetworkDetect;
  [read] uint32 PolicySourceSelectNetworkDetect;
  [Implemented] uint32 SetColorDepthPolicy([In] uint32 ColorDepthPolicy);
  [Implemented] uint32 SetColorDepth([In] uint32 ColorDepth);
  [Implemented] uint32 SetMaxMonitors([In] uint32 MaxMonitors);
  [Implemented] uint32 SetMaxXResolution([In] uint32 MaxXResolution);
  [Implemented] uint32 SetMaxYResolution([In] uint32 MaxYResolution);
  [Implemented] uint32 ConnectionSettings([In] uint32 ConnectClientDrivesAtLogon,[In] uint32 ConnectPrinterAtLogon,[In] uint32 DefaultToClientPrinter);
  [Implemented] uint32 SetClientProperty([In] string PropertyName,[In] boolean Value);
  [read,write] uint32 AdvancedRemoteAppGraphics;
  [read] uint32 PolicyAdvancedRemoteAppGraphics;
};

Instance of __Win32Provider as $P8
{
  Name = "Win32_WIN32_TSNETWORKADAPTERSETTING_Prov";
  ClsId = "{D25E0260-AAB7-48cb-A192-4D73D2FD375F}";
  HostingModel = "NetworkServiceHost";
};

Instance of __InstanceProviderRegistration
{
  Provider = $P8;
  SupportsGet = TRUE;
  SupportsPut = TRUE;
  SupportsDelete = TRUE;
  SupportsEnumeration = TRUE;
  QuerySupportLevels = {"WQL:UnarySelect"};
};

Instance of __MethodProviderRegistration
{
  Provider = $P8;
};

[dynamic,provider("Win32_WIN32_TSNETWORKADAPTERSETTING_Prov"),ClassContext("local|hkey_local_machine\\SYSTEM\\CurrentControlSet\\Control\\TerminalServer\\WinStations")] 
class Win32_TSNetworkAdapterSetting : Win32_TerminalSetting
{
  [key,read] string TerminalName;
  [read] string NetworkAdapterID;
  [read] uint32 NetworkAdapterLanaID;
  [read] string NetworkAdapterName;
  [read,write] uint32 MaximumConnections;
  [read] uint32 PolicySourceMaximumConnections;
  [read] string NetworkAdapterList[];
  [read] string DeviceIDList[];
  [Implemented] uint32 SelectAllNetworkAdapters();
  [Implemented] uint32 SetNetworkAdapterLanaID([In] uint32 NetworkAdapterLanaID);
  [Implemented] uint32 SelectNetworkAdapterIP([In] string NetworkAdapterIP);
};

Instance of __Win32Provider as $P9
{
  Name = "Win32_WIN32_TSPERMISSIONSSETTING_Prov";
  ClsId = "{FA06375D-F0A4-4a47-AD8D-148595F1E0B8}";
  HostingModel = "NetworkServiceHost";
};

Instance of __InstanceProviderRegistration
{
  Provider = $P9;
  SupportsGet = TRUE;
  SupportsPut = TRUE;
  SupportsDelete = TRUE;
  SupportsEnumeration = TRUE;
  QuerySupportLevels = {"WQL:UnarySelect"};
};

Instance of __MethodProviderRegistration
{
  Provider = $P9;
};

[dynamic,provider("Win32_WIN32_TSPERMISSIONSSETTING_Prov"),ClassContext("local|hkey_local_machine\\SYSTEM\\CurrentControlSet\\Control\\TerminalServer\\WinStations")] 
class Win32_TSPermissionsSetting : Win32_TerminalSetting
{
  [key,read] string TerminalName;
  [read,write] string StringSecurityDescriptor;
  [read] uint32 DenyAdminPermissionForCustomization;
  [read] uint32 PolicySourceDenyAdminPermissionForCustomization;
  [Implemented] uint32 AddAccount([In] string AccountName,[In] uint32 PermissionPreSet);
  [Implemented] uint32 RestoreDefaults();
};

Instance of __Win32Provider as $P10
{
  Name = "Win32_WIN32_TSNETWORKADAPTERLISTSETTING_Prov";
  ClsId = "{7757BA9B-7986-4866-B53F-A31E89FCBA15}";
  HostingModel = "NetworkServiceHost";
};

Instance of __InstanceProviderRegistration
{
  Provider = $P10;
  SupportsGet = TRUE;
  SupportsPut = TRUE;
  SupportsDelete = TRUE;
  SupportsEnumeration = TRUE;
  QuerySupportLevels = {"WQL:UnarySelect"};
};

Instance of __MethodProviderRegistration
{
  Provider = $P10;
};

[dynamic,overwrite,provider("Win32_WIN32_TSNETWORKADAPTERLISTSETTING_Prov"),ClassContext("local|hkey_local_machine\\SYSTEM\\CurrentControlSet\\Control\\TerminalServer\\WinStations")] 
class Win32_TSNetworkAdapterListSetting : Win32_TerminalSetting
{
  [read] string NetworkAdapterID;
  [read,key] string NetworkAdapterIP;
  [read] string Description;
};

Instance of __Win32Provider as $P11
{
  Name = "Win32_WIN32_TSACCOUNT_Prov";
  ClsId = "{BDF9E8B8-6C66-4e45-BA15-E050393DD079}";
  HostingModel = "NetworkServiceHost";
};

Instance of __InstanceProviderRegistration
{
  Provider = $P11;
  SupportsGet = TRUE;
  SupportsPut = TRUE;
  SupportsDelete = TRUE;
  SupportsEnumeration = TRUE;
  QuerySupportLevels = {"WQL:UnarySelect"};
};

Instance of __MethodProviderRegistration
{
  Provider = $P11;
};

[dynamic,overwrite,provider("Win32_WIN32_TSACCOUNT_Prov"),ClassContext("local|hkey_local_machine\\SYSTEM\\CurrentControlSet\\Control\\TerminalServer\\WinStations")] 
class Win32_TSAccount : Win32_TerminalSetting
{
  [key,read] string TerminalName;
  [key,read] string AccountName;
  [read] string SID;
  [read] uint32 PermissionsAllowed;
  [read] uint32 PermissionsDenied;
  [read] uint32 AuditSuccess;
  [read] uint32 AuditFail;
  [Implemented] uint32 Delete();
  [Implemented] uint32 ModifyPermissions([In] uint32 PermissionMask,[In] boolean Allow);
  [Implemented] uint32 ModifyAuditPermissions([In] uint32 PermissionMask,[In] boolean Success);
};

Instance of __Win32Provider as $P12
{
  Name = "Win32_WIN32_TSSESSIONDIRECTORY_Prov";
  ClsId = "{39524FB7-028F-4035-8C2B-8E65D2B17E67}";
  HostingModel = "NetworkServiceHost";
};

Instance of __InstanceProviderRegistration
{
  Provider = $P12;
  SupportsGet = TRUE;
  SupportsPut = TRUE;
  SupportsDelete = TRUE;
  SupportsEnumeration = TRUE;
  QuerySupportLevels = {"WQL:UnarySelect"};
};

Instance of __MethodProviderRegistration
{
  Provider = $P12;
};

[dynamic,provider("Win32_WIN32_TSSESSIONDIRECTORY_Prov"),ClassContext("local|hkey_local_machine\\SYSTEM\\CurrentControlSet\\Control\\TerminalServer")] 
class Win32_TSSessionDirectory : CIM_Setting
{
  [read] string SessionDirectoryLocation;
  [read] uint32 PolicySourceSessionDirectoryLocation;
  [key,read] uint32 SessionDirectoryActive;
  [read] uint32 PolicySourceSessionDirectoryActive;
  [read] uint32 SessionDirectoryExposeServerIP;
  [read] uint32 PolicySourceSessionDirectoryExposeServerIP;
  [read] string SessionDirectoryClusterName;
  [read] uint32 PolicySourceLoadBalancing;
  [read] uint32 GetLoadBalancingState;
  [read] uint32 GetServerWeight;
  [read] uint32 PolicySourceSessionDirectoryClusterName;
  [read,write] string SessionDirectoryIPAddress;
  [Implemented] uint32 SetSessionDirectoryProperty([In] string PropertyName,[In] string Value);
  [Implemented] uint32 SetSessionDirectoryActive([In] uint32 SessionDirectoryActive);
  [Implemented] uint32 SetSessionDirectoryExposeServerIP([In] uint32 SessionDirectoryExposeServerIP);
  [Implemented] uint32 GetRedirectableAddresses([In] uint32 fTokenRedirection,[out] string IPAddresses[],[out] string AdapterNames[],[out] string NetConName[]);
  [Implemented] uint32 GetCurrentRedirectableAddresses([out] uint32 fTokenRedirection,[out] string IPAddresses[]);
  [Implemented] uint32 SetCurrentRedirectableAddresses([in] uint32 fTokenRedirection,[in] string IPAddresses[]);
  [Implemented] uint32 PingSessionDirectory([in] string ServerName);
  [Implemented] uint32 SetLoadBalancingState([in] uint32 StateValue);
  [Implemented] uint32 SetServerWeight([in] uint32 ServerWeightValue);
  [read] uint32 GetTSRedirectorMode;
  [Implemented] uint32 CreateUserDiskTemplate([in] string UserDisksStorageUrl,[in] uint32 UserDiskMaxSizeInGB);
  [Implemented] uint32 EnableUserVhd([in] string UvhdShareUrl,[in] string UvhdRoamingPolicyXml);
  [Implemented] uint32 DisableUserVhd();
};

Instance of __Win32Provider as $P15
{
  Name = "Win32_WIN32_TSSESSIONDIRECTORYSETTING_Prov";
  ClsId = "{CCBA37FC-982B-433b-8AC2-455E616A8559}";
  HostingModel = "NetworkServiceHost";
};

Instance of __InstanceProviderRegistration
{
  Provider = $P15;
  SupportsGet = TRUE;
  SupportsPut = TRUE;
  SupportsDelete = TRUE;
  SupportsEnumeration = TRUE;
  QuerySupportLevels = {"WQL:UnarySelect"};
};

Instance of __MethodProviderRegistration
{
  Provider = $P15;
};

[Dynamic,Provider("Win32_WIN32_TSSESSIONDIRECTORYSETTING_Prov"),ClassContext("local|hkey_local_machine\\SYSTEM\\CurrentControlSet\\Control\\TerminalServer")] 
class Win32_TSSessionDirectorySetting : CIM_ElementSetting
{
  [key] Win32_TerminalService Ref Element;
  [key] Win32_TSSessionDirectory Ref Setting;
};

Instance of __Win32Provider as $P16
{
  Name = "Win32_WIN32_TSVIRTUALIP_Prov";
  ClsId = "{EC278F3A-BFE8-42d5-99C0-E25F5EF4A3D1}";
  HostingModel = "NetworkServiceHost";
};

Instance of __InstanceProviderRegistration
{
  Provider = $P16;
  SupportsGet = TRUE;
  SupportsPut = TRUE;
  SupportsDelete = TRUE;
  SupportsEnumeration = TRUE;
  QuerySupportLevels = {"WQL:UnarySelect"};
};

Instance of __MethodProviderRegistration
{
  Provider = $P16;
};

[dynamic,provider("Win32_WIN32_TSVIRTUALIP_Prov"),ClassContext("local|hkey_local_machine\\SYSTEM\\CurrentControlSet\\Control\\TerminalServer\\TSAppSrv\\VirtualIP")] 
class Win32_TSVirtualIP : CIM_Setting
{
  [key,read] uint32 VirtualIPActive;
  [read] uint32 PolicySourceVirtualIPActive;
  [read,ValueMap{"0", "1"}] uint32 VirtualIPMode;
  [read] uint32 PolicySourceVirtualIPMode;
  [read] string ProgramList[];
  [read] uint32 PolicySourceProgramList;
  [read] string NetworkAdapterDescription;
  [read] string NetworkAdapterMacAddress;
  [read] uint32 PolicySourceNetworkAdapter;
  [read] string NetworkAdapterDescriptionList[];
  [read] string NetworkAdapterMacList[];
  [read] uint32 VirtualizeLoopbackAddressesEnabled;
  [Implemented] uint32 SetVirtualIPActive([in] uint32 VirtualIPActive);
  [Implemented] uint32 SetVirtualIPMode([in] uint32 VirtualIPMode);
  [Implemented] uint32 AddProgram([in] string ProgramPath);
  [Implemented] uint32 RemoveProgram([in] string ProgramPath);
  [Implemented] unint32 SetProgramList([in] string ProgramList[]);
  [Implemented] uint32 SelectNetworkAdapter([in] string NetworkAdapterMacAddress);
  [Implemented] uint32 SetVirtualizeLoopbackAddressesEnabled([in] uint32 VirtualizeLoopbackAddressesEnabled);
};

Instance of __Win32Provider as $P17
{
  Name = "Win32_WIN32_TSVIRTUALIPSETTING_Prov";
  ClsId = "{09F81337-D568-41d1-A177-D6779AF55847}";
  HostingModel = "NetworkServiceHost";
};

Instance of __InstanceProviderRegistration
{
  Provider = $P17;
  SupportsGet = TRUE;
  SupportsPut = TRUE;
  SupportsDelete = TRUE;
  SupportsEnumeration = TRUE;
  QuerySupportLevels = {"WQL:UnarySelect"};
};

Instance of __MethodProviderRegistration
{
  Provider = $P17;
};

[Dynamic,Provider("Win32_WIN32_TSVIRTUALIPSETTING_Prov"),ClassContext("local|hkey_local_machine\\SYSTEM\\CurrentControlSet\\Control\\TerminalServer\\TSAppSrv\\VirtualIP")] 
class Win32_TSVirtualIPSetting : CIM_ElementSetting
{
  [key] Win32_TerminalService Ref Element;
  [key] Win32_TSVirtualIP Ref Setting;
};
