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) |
库 | Portcls.lib |
IRQL | PASSIVE_LEVEL |