mirror of https://github.com/tongzx/nt5src
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
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;
|
|
|
|
};
|