PMI_EVENT 结构 (pmi.h)

PMI_EVENT结构包含有关通过电源计量接口 (PMI) 发出信号的功率计量和预算事件的信息。

语法

typedef struct _PMI_EVENT {
  ULONG          Version;
  PMI_EVENT_TYPE EventType;
} PMI_EVENT, *PPMI_EVENT;

成员

Version

一个 值,该值指定此结构的版本。 对于 Windows 7、Windows Server 2008 R2 及更高版本的 Windows,此值必须为 1。

EventType

一个PMI_EVENT_TYPE枚举值,该值指定 PMI 事件类型。

注解

PMI_EVENT结构包含有关功率计量或预算事件的信息。 当发生以下情况之一时,PMI 会为功率计生成事件:

  • 电表的功率计量或预算功能已更改。
  • 电源表的功率计量或预算配置已更改。
  • 由功率计监视的电源已超出电表配置的功率阈值。
  • 由电表监视的电源已超出或低于电表配置的功率预算。
用户模式服务或应用程序通过 IOCTL_PMI_REGISTER_EVENT_NOTIFY I/O 控件 (IOCTL) 查询请求注册这些事件的通知。

PMI_EVENT 结构不包含事件的当前 PMI 数据。 根据 EventType 成员的值,调用方可以通过 PMI IOCTL 查询请求检索当前 PMI 数据。 下表描述了 PMI IOCTL,用于从功率计查询查询请求的已更改数据。

EventType 值 PMI IOCTL I/O 请求数据包 (IRP)
PmiCapabilitiesChangedEvent

IOCTL_PMI_GET_CAPABILITIES

AssociatedIrp.SystemBuffer 成员设置为包含任何PMI_CAPABILITIES_TYPE枚举值的发起程序分配的缓冲区的地址。
PmiConfigurationChangedEvent

IOCTL_PMI_GET_CONFIGURATION

AssociatedIrp.SystemBuffer 成员设置为发起方分配的缓冲区的地址,该缓冲区包含任何PMI_CONFIGURATION_TYPE枚举值。
PmiThresholdEvent

IOCTL_PMI_GET_CONFIGURATION

AssociatedIrp.SystemBuffer 成员设置为包含 PMI_CONFIGURATION_TYPE 枚举值或 PmiThresholdConfiguration 的发起方分配缓冲区的地址。
PmiBudgetEvent

IOCTL_PMI_GET_CONFIGURATION

AssociatedIrp.SystemBuffer 成员设置为包含 PMI_CONFIGURATION_TYPE 枚举值或 PmiBudgetConfiguration 的发起程序分配缓冲区的地址。
PmiAveragingIntervalChangedEvent

IOCTL_PMI_GET_CONFIGURATION

AssociatedIrp.SystemBuffer 成员设置为包含 PMI_CONFIGURATION_TYPE 枚举值或 PmiMeasurementConfiguration 的发起方分配缓冲区的地址。

要求

要求
最低受支持的客户端 适用于 Windows 7、Windows Server 2008 R2 及更高版本的 Windows 操作系统。
标头 pmi.h (包括 Pmi.h)

另请参阅

IOCTL_PMI_GET_CAPABILITIES

IOCTL_PMI_GET_CONFIGURATION

IOCTL_PMI_REGISTER_EVENT_NOTIFY

IRP

PMI_CAPABILITIES_TYPE

PMI_CONFIGURATION_TYPE

PMI_EVENT_TYPE