pcRequestNewPowerState 函数 (portcls.h)
PcRequestNewPowerState 函数用于请求设备的新电源状态。 适配器驱动程序通常不需要此函数,但有时在解决某些类型的硬件问题时可能很有用。
语法
PORTCLASSAPI NTSTATUS PcRequestNewPowerState(
[in] PDEVICE_OBJECT pDeviceObject,
[in] DEVICE_POWER_STATE RequestedNewState
);
参数
[in] pDeviceObject
指向适配器 的功能设备对象的指针 (FDO) 。 此参数必须指向 DEVICE_OBJECT 类型的系统结构。
[in] RequestedNewState
指定要请求的设备电源状态。 将此参数设置为以下 DEVICE_POWER_STATE 枚举值之一: PowerDeviceD0、 PowerDeviceD1、 PowerDeviceD2 或 PowerDeviceD3。
返回值
如果调用成功,PcRequestNewPowerState 将返回STATUS_SUCCESS。 否则, 将返回相应的错误消息。
注解
适配器驱动程序可以调用 PcRequestNewPowerState 来弥补硬件设计缺陷。 例如,如果音频适配器中的函数不是相互独立的,并且需要按特定顺序关闭,则适配器可以调用 PcRequestNewPowerState ,以确保先关闭特定的子设备。
RequestedNewState 参数可以设置为下表中DEVICE_POWER_STATE枚举值之一。
电源状态 | 含义 |
---|---|
PowerDeviceD0 | 已满电源状态 |
PowerDeviceD1 | 具有最低通电延迟的睡眠状态 |
PowerDeviceD2 | 中等延迟睡眠状态 |
PowerDeviceD3 | 完全休眠状态和通电延迟最长的睡眠状态 |
只能在电源状态 PowerDeviceD0 下访问硬件。 在任何其他状态下,驱动程序必须缓存任何尝试的硬件访问,并延迟这些访问,直到 PowerDeviceD0 状态还原。
有关详细信息,请参阅 音频设备的电源管理。
要求
要求 | 值 |
---|---|
最低受支持的客户端 | PortCls 系统驱动程序在 Microsoft Windows 98/Me 和 Windows 2000 及更高版本的操作系统中实现 PcRequestNewPowerState 函数。 |
目标平台 | 通用 |
标头 | portcls.h (包括 Portcls.h) |
Library | Portcls.lib |
IRQL | PASSIVE_LEVEL |