PoCreateThermalRequest 创建新热请求对象。
语法
NTKERNELAPI
NTSTATUS
PoCreateThermalRequest (
PVOID *ThermalRequest,
PDEVICE_OBJECT TargetDeviceObject,
PDEVICE_OBJECT PolicyDeviceObject,
PCOUNTED_REASON_CONTEXT Context,
ULONG Flags
)
参数
ThermalRequest
提供用于接收热请求对象的指针。
TargetDeviceObject
提供正在冷却的设备的设备对象。
PolicyDeviceObject
提供发出冷却请求的设备的热设备对象。
Context
指向 COUNTED_REASON_CONTEXT 结构的指针,该结构描述了调用方创建热请求对象的原因。
Flags
提供用于修改热能请求行为的标志。
返回值
如果调用成功,PoCreateThermalRequest 将返回STATUS_SUCCESS。 如果调用失败,可能的错误代码包括:
| 返回代码 | 描述 |
|---|---|
| STATUS_INVALID_PARAMETER | 如果任何输入参数均为 NULL |
| STATUS_INSUFFICIENT_RESOURCES | 没有足够的内存可用于创建电源请求对象 |
言论
此例程创建热请求对象。 需要为每个需要冷却的设备创建一个热请求。 创建后,调用方可以使用 PoGetThermalRequestSupport 查询设备的冷却(主动或被动)冷却功能,并使用 PoSetThermalPassiveCooling 和 PoSetThermalActiveCooling 例程在设备上发出冷却请求。
不再需要热请求对象时,调用方必须通过调用 PoDeleteThermalRequest 例程来删除该对象。 驱动程序必须先删除热请求对象,然后才能删除用于创建热请求对象的设备对象。
要求
| 最低支持的客户端 | 从 Windows 10 1703 版本开始可用。 |
| 目标平台 | 通用 |
| 标头 | wdm.h (包括 Wdm.h、Ntddk.h、Ntifs.h) |
| 库 | NtosKrnl.lib |
| DLL | NtosKrnl.exe |
| IRQL | <= APC_LEVEL |