IOCTL_PMI_GET_CONFIGURATION IOCTL (pmi.h)

IOCTL_PMI_GET_CONFIGURATION请求返回有关电源计量的当前配置的信息。

主要代码

IRP_MJ_DEVICE_CONTROL

输入缓冲区

I/O 请求数据包的 AssociatedIrp.SystemBuffer 成员 (IRP) 指向用作请求的输入缓冲区和输出缓冲区的发起程序分配的缓冲区。 在输入时,此缓冲区包含 一个PMI_CONFIGURATION 结构,其中 VersionConfigurationType 成员设置为有效值。 ConfigurationType 成员包含一个PMI_CONFIGURATION_TYPE枚举值,该值指定要从电源计量检索的配置信息的类型。 此值还确定要写入到输出缓冲区的配置信息的类型。

输入缓冲区长度

IRP 当前 I/O 堆栈位置的 Parameters.DeviceIoControl.InputBufferLength 成员 (IO_STACK_LOCATION) 设置为 AssociatedIrp.SystemBuffer 成员指向的缓冲区的大小(以字节为单位)。 此大小必须大于或等于 sizeof (PMI_CONFIGURATION) ,否则请求将失败并出现错误状态STATUS_INVALID_PARAMETER。

输出缓冲区

如果请求成功完成, 则 AssociatedIrp.SystemBuffer 成员指向的缓冲区包含 PMI_CONFIGURATION 结构。 此结构包含请求的配置信息。

输出缓冲区长度

IRP 当前 I/O 堆栈位置的 Parameters.DeviceIoControl.OutputBufferLength 成员设置为 AssociatedIrp.SystemBuffer 成员指向的缓冲区的大小(以字节为单位)。 若要成功请求,此大小必须大于或等于 (PMI_CONFIGURATION) 的大小。 否则,请求将失败,并出现错误状态为STATUS_BUFFER_TOO_SMALL。

状态块

信息成员设置为PMI_CONFIGURATION结构的大小(以字节为单位)。

状态成员设置为以下值之一:

STATUS_BUFFER_TOO_SMALL

IRPParameters.DeviceIoControl.OutputBufferLength 成员小于PMI_CONFIGURATION结构的大小(以字节为单位)。

STATUS_INVALID_PARAMETER

发起方分配的输入缓冲区包含无效 PMI_CONFIGURATION_TYPE 值。

STATUS_SUCCESS

支持 PMI 接口的 WDM 驱动程序已成功完成 IOCTL 请求。

备注

IOCTL_PMI_GET_CONFIGURATION请求查询电源计量的当前配置。 输入 PMI_CONFIGURATION_TYPE 枚举值指定要返回的配置数据类型。 输出缓冲区的数据类型和内容因请求的数据而异。

下表描述了为指定的 PMI_CONFIGURATION_TYPE 枚举值返回的数据的类型。

PMI_CONFIGURATION_TYPE值 说明
PmiBudgetingConfiguration 包含有关电源计量预算配置的信息的 PMI_BUDGETING_CONFIGURATION 结构。
PmiMeasurementConfiguration 一个PMI_MEASUREMENT_CONFIGURATION结构,其中包含有关电源计量的度量配置的信息。
PmiThresholdConfiguration 包含有关电源计量阈值配置的信息的 PMI_THRESHOLD_CONFIGURATION 结构。

要求

   
最低受支持的客户端 在 Windows 7、Windows Server 2008 R2 和更高版本的 Windows 操作系统中可用。
Header pmi.h (包括 Pmi.h)

另请参阅

IOCTL_PMI_GET_CAPABILITIES

IO_STACK_LOCATION

IRP

PMI_BUDGETING_CONFIGURATION

PMI_CAPABILITIES_TYPE

PMI_CONFIGURATION

PMI_CONFIGURATION_TYPE

PMI_MEASUREMENT_CONFIGURATION

PMI_THRESHOLD_CONFIGURATION