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 枚举值之一:PowerDeviceD0PowerDeviceD1PowerDeviceD2PowerDeviceD3

返回值

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

另请参阅

DEVICE_OBJECT