Source code of Windows XP (NT5)
You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
 
 
 
 
 
 

332 lines
8.4 KiB

/*++
Copyright (c) 2000 Microsoft Corporation
Module Name:
processor.mof
Abstract:
--*/
#pragma classflags("forceupdate")
#pragma namespace("\\\\.\\Root\\WMI")
[abstract]
class MSProcessorClass
{
};
[WMI,
Description("Processor Performance State"):amended,
localeid("MS\\0x409"),
guid("{FDD21E6F-7381-4048-B085-4CE47EDCA2A4}")]
class PerformanceState
{
[WmiDataId(1),
read,
DisplayName("Processor Speed"):amended,
Description("Processor Frequency in Megahertz"):amended
] uint32 Frequency;
[WmiDataId(2),
read,
DisplayName("Flags"):amended,
Description("Processor State Flags"):amended
] uint32 Flags;
[WmiDataId(3),
read,
DisplayName("Performance Percentage"):amended,
Description("Percentage of Highest Frequency"):amended
] uint32 PercentFrequency;
};
[WMI,
Description("Processor Performance States"):amended,
localeid("MS\\0x409"),
guid("{0F23F5FA-0223-48e3-ADBC-9B56B201E0CD}")]
class PerformanceStates
{
[WmiDataId(1),
read,
DisplayName("Reserved"):amended,
Description("Reserved for future use"):amended
] uint32 TransitionFunction;
[WmiDataId(2),
read,
DisplayName("Transition Latency"):amended,
Description("Worst-case transition latency in microseconds"):amended
] uint32 TransitionLatency;
[WmiDataId(3),
read,
DisplayName("Current Performance State"):amended,
Description("Current Performance State"):amended
] uint32 Current;
[WmiDataId(4),
read,
DisplayName("Number of Performance States"):amended,
Description("Total number of Performance States"):amended
] uint32 Count;
[WmiDataId(5),
read,
DisplayName("Performance States"):amended,
Description("Array of Performance States"):amended,
WmiSizeIs("Count")
] PerformanceState State[];
};
[WMI,
Dynamic,
Provider("WMIProv"),
Description("Processor Performance Information"):amended,
localeid("MS\\0x409"),
guid("{ee751f9d-cec5-4686-9816-ff6d1ca2261c}")]
class ProcessorStatus:MSProcessorClass
{
[key, read] string InstanceName;
[read] boolean Active;
[WmiDataId(1),
read,
DisplayName("Current Performance State"):amended,
Description("Current Processor Performance State"):amended
] uint32 CurrentPerfState;
[WmiDataId(2),
read,
DisplayName("Last requested throttle"):amended,
Description("Last requested throttle percentage"):amended
] uint32 LastRequestedThrottle;
[WmiDataId(3),
read,
DisplayName("Last transition result"):amended,
Description("Last transition result"):amended
] uint32 LastTransitionResult;
[WmiDataId(4),
read,
DisplayName("Current stop-clock throttle value"):amended,
Description("Current stop-clock throttle value"):amended
] uint32 ThrottleValue;
[WmiDataId(5),
read,
DisplayName("Lowest Processor Performance State"):amended,
Description("Lowest Processor Performance State"):amended
] uint32 LowestPerfState;
[WmiDataId(6),
read,
DisplayName("Is Legacy Interface Enabled"):amended,
Description("Is Legacy Interface Enabled"):amended
] uint32 UsingLegacyInterface;
[WmiDataId(7),
read,
DisplayName("Processor Performance States"):amended,
Description("Processor Performance States"):amended
] PerformanceStates PerfStates;
};
[WMI,
Dynamic,
Provider("WmiProv"),
Locale("MS\\0x409"),
Description("Methods to alter Processor Performance States"):amended,
guid("{590C82FC-98A3-48e1-BE04-FE11441A11E7}")]
class ProcessorMethods
{
[key, read] string InstanceName;
[read] boolean Active;
[WmiMethodId(1),
Implemented,
DisplayName("Set Current Processor Performance State"):amended,
Description("Change Processor Performance State"):amended
]void WmiSetProcessorPerfState([in,
Description("New Performance State"):amended
] uint32 PerformanceState,
[out,
Description("Transition Result"):amended
] uint32 TransitionResult);
};
[WMI,
Dynamic,
Provider("WmiProv"),
Locale("MS\\0x409"),
Description("Processor Performance State Change Event"),
guid("{66A9B302-F9DB-4864-B0F1-843905E8080F}")]
class ProcessorPerfStateEvent:WmiEvent
{
[key, read] string InstanceName;
[read] boolean Active;
[WmiDataId(1),
read,
DisplayName("Highest Available Processor Performance State"):amended,
Description("Highest Available Processor Performance State"):amended
] uint32 HighestState;
};
[WMI,
Dynamic,
Provider("WmiProv"),
Locale("MS\\0x409"),
Description("Processor CStates Event"),
guid("{1C9D482E-93CE-4b9e-BDEC-23653CE0CE28}")]
class ProcessorCStateEvent:WmiEvent
{
[key, read] string InstanceName;
[read] boolean Active;
};
[WMI,
Dynamic,
Provider("WmiProv"),
Locale("MS\\0x409"),
Description("Processor Transition Event"),
guid("{A5B32DDD-7F39-4abc-B892-900E43B59EBB}")]
class ProcessorTransitionEvent:WmiEvent
{
[key, read] string InstanceName;
[read] boolean Active;
[WmiDataId(1),
read,
DisplayName("State"):amended,
Description("State"):amended
] uint32 State;
[WmiDataId(2),
read,
DisplayName("Status"):amended,
Description("Status"):amended
] uint32 Status;
[WmiDataId(3),
read,
DisplayName("Transition Latency"):amended,
Description("Total Time taken to transition to the new performance state"):amended
] uint32 Latency;
[WmiDataId(4),
read,
DisplayName("Cpu Speed"):amended,
Description("Cpu Speed"):amended
] uint32 Speed;
};
[WMI,
Description("Processor Trace Information"):amended,
localeid("MS\\0x409"),
guid("{08213901-B301-4a4c-B1DD-177238110F9F}")]
class ProcessorTrace:EventTrace
{
[WmiDataId(1),
read,
DisplayName("Processor Event String"):amended,
Description("Processor Event String"):amended
] string EventString;
};
//
// Define schema for performance counters to be displayed by perfmon
//
// All perf counter classes must derived from Win32_PerfRawData and
// have the hiperf qualifier.
//
// Each property within the class must have the following qualifiers:
//
// CounterType - This defines the type of counter. See winperf.h
// for more information on what values to place in this
// qualifier.
//
// PerfDetail - The amount of detail supplied by the counter.
// PERF_DETAIL_NOVICE 100 // The uninformed can understand it
// PERF_DETAIL_ADVANCED 200 // For the advanced user
// PERF_DETAIL_EXPERT 300 // For the expert user
// PERF_DETAIL_WIZARD 400 // For the system designer
//
// DefaultScale - Power if 10 by which to scale chart line if
// vertical axis is 100. 0 ==> 1, 1 ==> 10,
// -1 ==> 1/10. Used for purposes display only.
//
// Also property may have the following optional qualifiers
//
// PerfDefault - Denotes the property that is the default counter
// as displayed by the Sysmon list box. Only one
// property may have this qualifier.
//
// Costly - Indicates that the value for the property may
// be costly to obtain
//
//
// Only int32, uint32, int64 and uint64 properties will be displayed in sysmon
//
// All performance counter classes should be localizable, which means that
// they should include ammended DisplayName and Description class and property
// qualifiers.
//
[WMI,
Dynamic,
Provider("WMIProv"),
Description("Processor Information"):amended,
localeid("MS\\0x409"),
guid("{7FD18652-0CFE-40d2-B0A1-0B066A87759E}"),
PerfDetail(100),
HiPerf
]
class ProcessorPerformance:Win32_PerfRawData
{
[key, read] string InstanceName;
[read] boolean Active;
[WmiDataId(1),
read,
DisplayName("Processor Frequency"):amended,
Description("Current Processor Frequency in megahertz"):amended,
PerfDefault,
CounterType(0x00000000),
DefaultScale(0),
PerfDetail(100)
] uint32 frequency;
[WmiDataId(2),
read,
DisplayName("Power Consumption"):amended,
Description("Current Power Consumption in milliwatts"):amended,
CounterType(0x00000000),
DefaultScale(0),
PerfDetail(100)
] uint32 power;
[WmiDataId(3),
read,
DisplayName("% of Maximum Frequency"):amended,
Description("Percentage of maximum processor frequency"):amended,
CounterType(0x00000000),
DefaultScale(0),
PerfDetail(100)
] uint32 percentage;
};