// pmi.h
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;
View the official Windows Driver Kit DDI referenceNo description available.
The PMI_CAPABILITIES structure contains information about the power metering and budgeting capabilities of a power meter.
VersionA 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.
SizeA value, in units of bytes, that specifies the size of the structure.
CapabilityTypeA PMI_CAPABILITIES_TYPE enumeration value that specifies the data type of the Capabilities member.
CapabilitiesA 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.ReportedCapabilitiesA 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.MeteredHardwareInformationA PMI_REPORTED_CAPABILITIES structure that specifies the PMI capabilities of the power meter, such as the following:
The Capabilities member contains this structure if the CapabilityType member is set to PmiReportedCapabilities.
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:
PMI_METERED_HARDWARE_INFORMATION