IOCTL_HPMI_QUERY_CAPABILITIES IOCTL (hpmi.h)

[某些信息与预发行的产品有关,该产品在商业发布之前可能会进行大幅修改。 Microsoft对此处提供的信息不作任何明示或暗示的保证。

IOCTL_HPMI_QUERY_CAPABILITIES命令将发送到 HPMI 支持的查询功能和 HPMI 请求的 Windows 服务。 发现新的 HPMI 驱动程序实例后,Windows 会将此 IOCL 颁发给 HPMI。

重要 初步信息
 

主要代码

IRP_MJ_DEVICE_CONTROL

输入缓冲区

I/O 请求数据包 (IRP) 的 AssociatedIrp.SystemBuffer 成员指向一个发起程序分配的缓冲区,该缓冲区既用作请求的输入缓冲区,也用作请求的输出缓冲区。 在输入时,此缓冲区包含一个 HPMI_QUERY_CAPABILITIES 结构,在该结构中版本设置为有效值。

输入缓冲区长度

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

输出缓冲区

如果请求成功完成,则 AssociatedIrp.SystemBuffer 成员指向的缓冲区包含请求的 HPMI 功能信息。 位于此缓冲区的开头是一个 HPMI_QUERY_CAPABILITIES_RESPONSE 结构,用于指示缓冲区中信息的类型和大小。

输出缓冲区长度

IRP 当前 I/O 堆栈位置的 Parameters.DeviceIoControl.OutputBufferLength 成员设置为由 AssociatedIrp.SystemBuffer 成员指向的缓冲区的大小(以字节为单位)。 若要使请求成功,此大小必须足够大,才能包含 HPMI_QUERY_CAPABILITIES_RESPONSE中所述的 HPMI 功能。 否则,请求将失败并出现错误状态STATUS_BUFFER_TOO_SMALL。

输入/输出缓冲区

待定

输入/输出缓冲区长度

待定

状态块

Irp->IoStatus.Status 设置为STATUS_SUCCESS(如果请求成功)。 否则,状态 相应的错误条件作为 NTSTATUS 代码,例如STATUS_INVALID_PARAMETER。

言论

IOCTL_HPMI_QUERY_CAPABILITIES 请求查询电源表的 HPMI 功能或资产信息。 输入 HPMI_QUERY_CAPABILITIES 结构值指定要返回的功能信息的类型。 输出缓冲区的数据类型和内容因请求的数据而异。

此 IOCTL 可能会多次发出,HPMI 必须使用相同的响应
HPMI_QUERY_CAPABILITIES_RESPONSE中的信息,作为对所有信息的响应
后续 IOCTL 调用。

要求

要求 价值
最低支持的客户端 在 Windows 10 版本 1709 及更高版本的 Windows作系统中可用。
标头 hpmi.h (包括 Hpmi.h)

另请参阅

在驱动程序中创建 IOCTL 请求

IRP

WdfIoTargetSendInternalIoctlOthersSynchronously

WdfIoTargetSendInternalIoctlSynchronously

WdfIoTargetSendIoctlSynchronously