PMI_REPORTED_CAPABILITIES structure (pmi.h)
The PMI_REPORTED_CAPABILITIES structure contains information about the type of power metering and budgeting capabilities a power meter supports. Additionally, this structure contains asset information about the power meter itself.
Syntax
typedef struct _PMI_REPORTED_CAPABILITIES {
ULONG Flags;
PMI_MEASUREMENT_UNIT MeasurementUnit;
PMI_MEASUREMENT_TYPE MeasurementType;
ULONG Accuracy;
ULONG SamplingPeriod;
ULONG MinimumAverageInterval;
ULONG MaximumAverageInterval;
ULONG Hysteresis;
BOOLEAN Writeable;
ULONG MinBudget;
ULONG MaxBudget;
WCHAR ModelNumber[PMI_NAME_MAX];
WCHAR SerialNumber[PMI_NAME_MAX];
WCHAR OEMInformation[PMI_NAME_MAX];
} PMI_REPORTED_CAPABILITIES, *PPMI_REPORTED_CAPABILITIES;
Members
Flags
A bitmask that specifies the supported capabilities of the power meter. The following flags define the range of values for this member:
PMI_CAPABILITIES_SUPPORT_MEASUREMENT
This bit is set if the power meter supports power measurement.
PMI_CAPABILITIES_SUPPORT_THRESHOLDS
This bit is set if the power meter supports power thresholds.
PMI_CAPABILITIES_SUPPORT_BUDGETING
This bit is set if the power meter supports power budgeting.
PMI_CAPABILITIES_DISCHARGE_ONLY
This bit is set if the power meter reports data only when the power supply is discharging. This is typically the case on mobile battery systems or some uninterruptible power supplies (UPSs).
MeasurementUnit
A PMI_MEASUREMENT_UNIT enumeration value that specifies the measurement unit.
MeasurementType
A PMI_MEASUREMENT_TYPE enumeration value that specifies the measurement type, such as whether input or output power is measured.
Accuracy
A value, in units of thousandths of a percent, that specifies the reported accuracy of the power meter. For example, a value of 1,000 corresponds to a one percent accuracy rating.
SamplingPeriod
A value, in units of milliseconds, that specifies the current averaging period.
MinimumAverageInterval
A value, in units of milliseconds, that specifies the minimum averaging interval.
MaximumAverageInterval
A value, in units of milliseconds, that specifies the maximum averaging interval.
Hysteresis
A value, in units of milliseconds, that specifies the hysteresis value. This value indicates the margin that is built around the threshold and budget events. This value prevents the trigger of unnecessary events when the reading fluctuates very close to one of the thresholds.
Writeable
A Boolean value that indicates whether the budgeting information is read/write (TRUE) or read-only (FALSE).
MinBudget
A value, in units of watts, that specifies the minimum supported power budget.
MaxBudget
A value, in units of watts, that specifies the maximum supported power budget.
ModelNumber[PMI_NAME_MAX]
A null-terminated, Unicode string that contains the model number of the power meter.
SerialNumber[PMI_NAME_MAX]
A null-terminated, Unicode string that contains the serial number of the power meter.
OEMInformation[PMI_NAME_MAX]
A null-terminated, Unicode string that contains descriptive information about the power meter. This information is specific to the implementation by the original OEM.
Remarks
The PMI_REPORTED_CAPABILITIES structure contains the following information about a power meter:
- The power meter's measurement capabilities.
- The power meter's budget capabilities, which includes whether the budget configuration can be changed.
- The power meter's asset information. This information is defined by the OEM for the power meter.
If the query request completes successfully, the request returns a PMI_CAPABILITIES structure. The Capabilities member of this structure is formatted as a PMI_REPORTED_CAPABILITIES structure.
Requirements
Requirement | Value |
---|---|
Minimum supported client | Available in Windows 7, Windows Server 2008 R2, and later versions of the Windows operating systems. |
Header | pmi.h (include Pmi.h) |