IOCTL_PMI_GET_CONFIGURATION IOCTL (pmi.h)
IOCTL_PMI_GET_CONFIGURATION 请求返回有关电源表的当前配置的信息。
主要代码
输入缓冲区
AssociatedIrp.SystemBuffer I/O 请求数据包(IRP)的成员指向一个发起程序分配的缓冲区,该缓冲区既用作输入缓冲区,又用作请求的输出缓冲区。 在输入时,此缓冲区包含一个 PMI_CONFIGURATION 结构,其中 版本 和 ConfigurationType 成员设置为有效值。 ConfigurationType 成员包含一个 PMI_CONFIGURATION_TYPE 枚举值,该值指定要从电源表检索的配置信息的类型。 此值还确定要写入到输出缓冲区的配置信息的类型。
输入缓冲区长度
IRP 当前 I/O 堆栈位置 (IO_STACK_LOCATION) 的 Parameters.DeviceIoControl.InputBufferLength 成员设置为由 AssociatedIrp.SystemBuffer 成员指向的缓冲区的大小(以字节为单位)。 此大小必须大于或等于 sizeof(PMI_CONFIGURATION),否则请求将失败并出现错误状态STATUS_INVALID_PARAMETER。
输出缓冲区
如果请求成功完成,则 AssociatedIrp.SystemBuffer 成员指向的缓冲区包含 PMI_CONFIGURATION 结构。 此结构包含请求的配置信息。
输出缓冲区长度
Parameters.DeviceIoControl.OutputBufferLength IRP 当前 I/O 堆栈位置的成员设置为由 AssociatedIrp.SystemBuffer 成员指向的缓冲区的大小(以字节为单位)。 若要使请求成功,此大小必须大于或等于 sizeof(PMI_CONFIGURATION)。 否则,请求将失败,并出现错误状态STATUS_BUFFER_TOO_SMALL。
状态块
信息 成员设置为 PMI_CONFIGURATION 结构的大小(以字节为单位)。
状态 成员设置为以下值之一:
STATUS_BUFFER_TOO_SMALL
IRP 的 Parameters.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作系统中可用。 |
标头 | pmi.h (包括 Pmi.h) |