PoCreateThermalRequest 函数

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 查询设备的冷却(主动或被动)冷却功能,并使用 PoSetThermalPassiveCoolingPoSetThermalActiveCooling 例程在设备上发出冷却请求。

不再需要热请求对象时,调用方必须通过调用 PoDeleteThermalRequest 例程来删除该对象。 驱动程序必须先删除热请求对象,然后才能删除用于创建热请求对象的设备对象。

要求

   
最低支持的客户端 从 Windows 10 1703 版本开始可用。
目标平台 通用
标头 wdm.h (包括 Wdm.h、Ntddk.h、Ntifs.h)
NtosKrnl.lib
DLL NtosKrnl.exe
IRQL <= APC_LEVEL