// Copyright (c) 1997-2008 Microsoft Corporation, All Rights Reserved

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

[AMENDMENT, LOCALE(0x0809)] 
class CIM_ManagedElement
{
};

[AMENDMENT, LOCALE(0x0809)] 
class CIM_SettingData : CIM_ManagedElement
{
};

[DisplayName("Power Setting") : Amended ToSubclass,Description("This class represents a power setting in the system.") : Amended ToSubclass,AMENDMENT, LOCALE(0x0809)] 
class Win32_PowerSetting : CIM_SettingData
{
};

[DisplayName("Power Setting Subgroup") : Amended ToSubclass,Description("This class represents a power setting subgroup in the system.") : Amended ToSubclass,AMENDMENT, LOCALE(0x0809)] 
class Win32_PowerSettingSubgroup : CIM_SettingData
{
};

[DisplayName("Power Plan") : Amended ToSubclass,Description("This class represents a power plan in the system") : Amended ToSubclass,AMENDMENT, LOCALE(0x0809)] 
class Win32_PowerPlan : CIM_SettingData
{
  [DisplayName("Is Active") : Amended ToSubclass,Description("Whether this power scheme is currently active on the system.") : Amended ToSubclass] boolean IsActive;
  [DisplayName("Activate") : Amended ToSubclass,Description("Make this power scheme the active one on the system.") : Amended ToSubclass] boolean Activate();
};

[AMENDMENT, LOCALE(0x0809)] 
class CIM_Capabilities : CIM_ManagedElement
{
};

[DisplayName("Power Setting Definition") : Amended ToSubclass,Description("This class represents a power setting definition.") : Amended ToSubclass,AMENDMENT, LOCALE(0x0809)] 
class Win32_PowerSettingDefinition : CIM_Capabilities
{
};

[AMENDMENT, LOCALE(0x0809)] 
class CIM_ElementSettingData
{
  [ValueMap{"0", "1", "2"} : Amended ToSubclass] uint16 IsDefault;
  [ValueMap{"0", "1", "2"} : Amended ToSubclass] uint16 IsCurrent;
  [ValueMap{"0", "1", "2", "3"} : Amended ToSubclass] uint16 IsNext;
};

[DisplayName("Power Setting Data") : Amended ToSubclass,Description("This class represents the setting data for a power setting in the system.") : Amended ToSubclass,AMENDMENT, LOCALE(0x0809)] 
class Win32_PowerSettingDataIndex : CIM_SettingData
{
  [DisplayName("Setting Value") : Amended ToSubclass,Description("The setting value for a power setting. This value is writable. The InstanceID of this class will encode whether this setting is for AC or DC power setting. Important: setting saving a power setting value does not automatically make the power setting value take effect on the system. Win32_PowerPlan.Activate() needs to be executed.") : Amended ToSubclass] uint32 SettingIndexValue;
};

[Description("This class associates the setting data for a power setting with the power setting.") : Amended ToSubclass,AMENDMENT, LOCALE(0x0809)] 
class Win32_PowerSettingElementSettingDataIndex : CIM_ElementSettingData
{
  [Description("A power setting.") : Amended ToSubclass] Win32_PowerSetting Ref ManagedElement;
  [Description("The setting data associated with a power setting.") : Amended ToSubclass] Win32_PowerSettingDataIndex Ref SettingData;
  [Description("An enumerated integer that indicates that the referenced setting is used when the system is running in AC. \nFor a given ManagedElement and all instances of a SettingData subclass, there shall be at most one instance of ElementSettingData which references the ManagedElement and an instance of the SettingData sub-class where there is a specified non-null, non-key property of the SettingData sub-class, and the IsACSetting property on the referencing ElementSettingData instance has a value of \"Is AC Setting\".") : Amended ToSubclass,ValueMap{"0", "1", "2"} : Amended ToSubclass,Values{"Unknown", "Is AC Setting", "Is Not AC Setting"} : Amended ToSubclass] uint16 IsACSetting;
};

[DisplayName("Power Setting Definition Data") : Amended ToSubclass,Description("This class represents the setting definition data for a power setting in the system.") : Amended ToSubclass,AMENDMENT, LOCALE(0x0809)] 
class Win32_PowerSettingDefinitionRangeData : CIM_SettingData
{
  [DisplayName("Setting Definition Value") : Amended ToSubclass,Description("A value used to define a power setting. This value is readable. The InstanceID of this class will encode whether this setting is a Min/Max/Inc or a possible value.") : Amended ToSubclass] uint32 SettingValue;
};

[DisplayName("Power Setting Definition Data") : Amended ToSubclass,Description("This class represents the setting definition data for a power setting in the system.") : Amended ToSubclass,AMENDMENT, LOCALE(0x0809)] 
class Win32_PowerSettingDefinitionPossibleValue : CIM_SettingData
{
  [DisplayName("Setting Definition Value Index") : Amended ToSubclass,Description("A value used to define a power setting. This value is readable. The SettingIndex is only used if the power setting is defined as a list of possible values.") : Amended ToSubclass] uint32 SettingIndex;
  [DisplayName("UINT32 Value") : Amended ToSubclass,Description("A value used to define a UINT32 value. This value is readable.") : Amended ToSubclass] uint32 UInt32Value;
  [DisplayName("UINT64 Value") : Amended ToSubclass,Description("A value used to define a UINT64 value. This value is readable.") : Amended ToSubclass] uint64 UInt64Value;
  [DisplayName("String Value") : Amended ToSubclass,Description("A value used to define a UINT64 value. This value is readable.") : Amended ToSubclass] string StringValue;
  [DisplayName("Binary Array Value") : Amended ToSubclass,Description("A value used to define an array of binary values. This value is readable.") : Amended ToSubclass] uint8 BinaryValue[];
};

[AMENDMENT, LOCALE(0x0809)] 
class CIM_ElementCapabilities
{
  [ValueMap{"2", "3", "..", "32768..65535"} : Amended ToSubclass] uint16 Characteristics[];
};

[DisplayName("Power Setting") : Amended ToSubclass,Description("This class represents a power setting in the system.") : Amended ToSubclass,AMENDMENT, LOCALE(0x0809)] 
class Win32_PowerSettingCapabilities : CIM_ElementCapabilities
{
};

[AMENDMENT, LOCALE(0x0809)] 
class CIM_Component
{
};

[AMENDMENT, LOCALE(0x0809)] 
class CIM_SettingsDefineCapabilities : CIM_Component
{
  [ValueMap{"0", "1", ".."} : Amended ToSubclass] uint16 PropertyPolicy;
  [ValueMap{"0", "1", "2", "3", ".."} : Amended ToSubclass] uint16 ValueRole;
  [ValueMap{"0", "1", "2", "3", ".."} : Amended ToSubclass] uint16 ValueRange;
};

[Description("This class associates a power setting definition data with the power setting definition.") : Amended ToSubclass,AMENDMENT, LOCALE(0x0809)] 
class Win32_PowerSettingDefineCapabilities : CIM_SettingsDefineCapabilities
{
  [Description("A power setting definition.") : Amended ToSubclass] Win32_PowerSettingDefinition Ref GroupComponent;
};

[AMENDMENT, LOCALE(0x0809)] 
class CIM_ConcreteComponent : CIM_Component
{
};

[Description("This class associates a power setting with a subgroup.") : Amended ToSubclass,AMENDMENT, LOCALE(0x0809)] 
class Win32_PowerSettingInSubgroup : CIM_ConcreteComponent
{
  [Description("A power setting subgroup.") : Amended ToSubclass] Win32_PowerSettingSubgroup Ref GroupComponent;
  [Description("A power setting.") : Amended ToSubclass] Win32_PowerSetting Ref PartComponent;
};

[Description("This class associates a power setting with a plan.") : Amended ToSubclass,AMENDMENT, LOCALE(0x0809)] 
class Win32_PowerSettingDataIndexInPlan : CIM_ConcreteComponent
{
  [Description("A power plan.") : Amended ToSubclass] Win32_PowerPlan Ref GroupComponent;
  [Description("A power setting data.") : Amended ToSubclass] Win32_PowerSettingDataIndex Ref PartComponent;
};
