PMI_CAPABILITIES structure (pmi.h)

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

Syntax

typedef struct _PMI_CAPABILITIES {
  ULONG                 Version;
  ULONG                 Size;
  PMI_CAPABILITIES_TYPE CapabilityType;
  union {
    PMI_REPORTED_CAPABILITIES        ReportedCapabilities;
    PMI_METERED_HARDWARE_INFORMATION MeteredHardwareInformation;
  } Capabilities;
} PMI_CAPABILITIES, *PPMI_CAPABILITIES;

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.

CapabilityType

A PMI_CAPABILITIES_TYPE enumeration value that specifies the data type of the Capabilities member.

Capabilities

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

Capabilities.ReportedCapabilities

A PMI_METERED_HARDWARE_INFORMATION structure that specifies one or more hardware devices that are monitored by the power meter.

The Capabilities member contains this structure if the CapabilityType member is set to PmiMeteredHardware.

Capabilities.MeteredHardwareInformation

A PMI_REPORTED_CAPABILITIES structure that specifies the PMI capabilities of the power meter, such as the following:

  • Asset information
  • Measurement capabilities
  • Power and budget capabilities
The Capabilities member contains this structure if the CapabilityType member is set to PmiReportedCapabilities.

Remarks

The PMI_CAPABILITIES structure is used to query many PMI capabilities that are supported by a power meter.

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

If the IOCTL query request completes successfully, the request returns a PMI_CAPABILITIES structure. The Capabilities member of this structure contains data formatted as the requested PMI capabilities structure.

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

  • The CapabilitiesType member is set to PmiReportedCapabilities.
  • The Capabilities member contains data that 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)

See also

IOCTL_PMI_GET_CAPABILITIES

PMI_CAPABILITIES_TYPE

PMI_METERED_HARDWARE_INFORMATION

PMI_REPORTED_CAPABILITIES