PMI_CONFIGURATION structure (pmi.h)

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

Syntax

typedef struct _PMI_CONFIGURATION {
  ULONG                  Version;
  USHORT                 Size;
  PMI_CONFIGURATION_TYPE ConfigurationType;
  union {
    PMI_MEASUREMENT_CONFIGURATION MeasurementConfiguration;
    PMI_BUDGETING_CONFIGURATION   BudgetingConfiguration;
    PMI_THRESHOLD_CONFIGURATION   ThresholdConfiguration;
  } Configuration;
} PMI_CONFIGURATION, *PPMI_CONFIGURATION;

Members

Version

A value that specifies the version of this structure. For Windows 7, Windows Server 2008 R2, and later versions of Windows, this value must be 1.

Size

A value, in units of bytes, that specifies the size of the structure.

ConfigurationType

A PMI_CONFIGURATION_TYPE enumeration value that specifies the data type of the Configuration member.

Configuration

A union of the supported Power Meter Interface (PMI) configuration structures. Based on the value of the ConfigurationType member, one of the following Configuration submembers is used to reference the following PMI configuration structures:

Configuration.MeasurementConfiguration

A PMI_BUDGETING_CONFIGURATION structure that contains information about the budgeting configuration of the power meter.

The Configuration member contains this structure if the ConfigurationType member is set to PmiBudgetingConfiguration.

Configuration.BudgetingConfiguration

A PMI_MEASUREMENT_CONFIGURATION structure that contains information about the measurement configuration of the power meter.

The Configuration member contains this structure if the ConfigurationType member is set to PmiMeasurementConfiguration.

Configuration.ThresholdConfiguration

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

The Configuration member contains this structure if the ConfigurationType member is set to PmiThresoldConfiguration.

Remarks

The PMI_CONFIGURATION structure is used to query many different PMI configuration settings that are supported by a power meter.

The PMI configuration information is returned through an IOCTL_PMI_GET_CONFIGURATION I/O control (IOCTL) query request. The input data of this query request is set to a PMI_CONFIGURATION_TYPE enumerator value that specifies the type of PMI configuration data to return.

If the IOCTL query request completes successfully, the request returns a PMI_CONFIGURATION structure. The Configuration member of this structure contains data that is formatted as the requested PMI configuration structure.

For example, if an IOCTL query request of IOCTL_PMI_GET_CONFIGURATION is made with the input data set to PmiBudgetingConfiguration and the request completes successfully, the request returns a PMI_CONFIGURATION structure with its members set to the following values:

  • The ConfigurationType member is set to PmiBudgetingConfiguration.
  • The Configuration member contains data that is formatted as a PMI_BUDGETING_CONFIGURATION 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)

See also

IOCTL_PMI_GET_CONFIGURATION

PMI_BUDGETING_CONFIGURATION

PMI_CONFIGURATION_TYPE

PMI_MEASUREMENT_CONFIGURATION

PMI_THRESHOLD_CONFIGURATION