Power metering

The Power Meter Interface (PMI) is provided through a WDM driver that services I/O request packets (IRPs) from the Power Manager and the Power WMI Provider component of the User-Mode Power Service (UMPS).

To develop Power metering, you need these headers:

For the programming guide, see Power metering.

IOCTLs

 
IOCTL_PMI_GET_CAPABILITIES

The IOCTL_PMI_GET_CAPABILITIES request obtains the capability and asset information about a power meter.
IOCTL_PMI_GET_CONFIGURATION

The IOCTL_PMI_GET_CONFIGURATION request returns information about the current configuration of a power meter.
IOCTL_PMI_GET_MEASUREMENT

The IOCTL_PMI_GET_MEASUREMENT request returns the current measurement data from a power meter.
IOCTL_PMI_REGISTER_EVENT_NOTIFY

The IOCTL_PMI_REGISTER_EVENT_NOTIFY request registers the IOCTL initiator to be notified about a power meter event. When the event occurs, the Power Meter Interface (PMI) completes the IOCTL request and returns information about the event.
IOCTL_PMI_SET_CONFIGURATION

The IOCTL_PMI_SET_CONFIGURATION request sets the configuration data for a power meter.

Enumerations

 
PMI_CAPABILITIES_TYPE

The PMI_CAPABILITIES_TYPE enumeration defines the type of capabilities data that is referenced by the Capability member of the PMI_CAPABILITIES structure.
PMI_CONFIGURATION_TYPE

The PMI_CONFIGURATION_TYPE enumeration defines the type of PMI configuration data that is referenced by the Configuration member of the PMI_CONFIGURATION structure.
PMI_EVENT_TYPE

The PMI_EVENT_TYPE enumeration defines the type of PMI power meter event that is returned through the successful completion of an IOCTL_PMI_REGISTER_EVENT_NOTIFY request.
PMI_MEASUREMENT_TYPE

The PMI_MEASUREMENT_TYPE enumeration defines the source of the PMI measurement data.
PMI_MEASUREMENT_UNIT

The PMI_MEASUREMENT_UNIT enumeration defines the units of the PMI measurement data.

Structures

 
PMI_BUDGETING_CONFIGURATION

The PMI_BUDGETING_CONFIGURATION structure contains information about the current power budget of a power meter. A power budget defines how much power that the system can consume from the set of power supplies monitored by the power meter.
PMI_CAPABILITIES

The PMI_CAPABILITIES structure contains information about the power metering and budgeting capabilities of a power meter.
PMI_CONFIGURATION

The PMI_CONFIGURATION structure contains information about the current power metering and budgeting configuration of a power meter.
PMI_EVENT

The PMI_EVENT structure contains information about a power metering and budgeting event that is signaled through the Power Meter Interface (PMI).
PMI_MEASUREMENT_CONFIGURATION

The PMI_MEASUREMENT_CONFIGURATION structure contains information about the current power measurement configuration of a power meter.
PMI_MEASUREMENT_DATA

The PMI_MEASUREMENT_DATA structure contains the current power measurement that is collected by a power meter.
PMI_METERED_HARDWARE_INFORMATION

The PMI_METERED_HARDWARE_INFORMATION structure contains information about one or more power supplies that are monitored by the power meter.
PMI_REPORTED_CAPABILITIES

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.
PMI_THRESHOLD_CONFIGURATION

The PMI_THRESHOLD_CONFIGURATION structure contains information about the threshold configuration of the power meter.