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

另请参阅

DEVICE_OBJECT