网络适配器的设备电源状态
网络适配器的设备电源状态描述网络适配器的功耗级别和计算活动。
有四种设备电源状态:D0、D1、D2 和 D3。 D0 是功率最高的状态。 D1、D2 和 D3 是睡眠状态。 D3 细分为 D3hot 和 D3cold。
状态号与功耗成反比:编号较高的状态使用较少的功率。 可能已完全从处于 D3 状态的网络适配器上移除电源。
有关设备状态的完整说明,请参阅以下主题:
注意 NDIS 处理电源管理 IRP,但 NDIS 驱动程序不会。
网络适配器的设备电源状态定义如下:
设备工作状态 D0
设备 工作状态 D0 中为所有设备描述了此电源状态。 对于网络适配器和微型端口驱动程序:
设备上下文
硬件设备上下文由网络适配器或微型端口驱动程序或两者维护。
微型端口驱动程序和网络适配器行为
网络适配器完全符合附加网络的要求。 由于低功耗要求,微型端口驱动程序和网络适配器的操作不受限制。
设备电源状态 D1
此电源状态在 设备Low-Power状态中针对所有设备进行描述。 对于网络适配器和微型端口驱动程序:
功耗
此状态是最高功率的睡眠状态。 功耗小于 D0 状态下的功耗,大于或等于 D2 状态下的功耗。
设备上下文
微型端口驱动程序应保留可能丢失的任何硬件设备上下文。 当设备返回到 D0 状态时,微型端口驱动程序应还原此类上下文。
微型端口驱动程序和网络适配器行为
微型端口驱动程序不接收来自协议驱动程序的传输请求。 NDIS 通知绑定协议驱动程序网络适配器转换为睡眠状态,或者,如果协议驱动程序是无法识别电源管理的旧驱动程序,则 NDIS 会禁用来自协议驱动程序的传输请求。 但是,微型端口驱动程序应能够处理处于这种低功耗状态时确实接收传输请求的情况。 在这种情况下,微型端口驱动程序应使所有传输请求失败。
微型端口驱动程序未指示网络适配器处于此状态时可能接收的任何数据包。
网络适配器不生成中断。 但是,微型端口驱动程序必须能够处理中断,因为可以在总线上生成共享中断。
还原时间
将网络适配器还原到 D0 状态的时间少于网络适配器处于 D2 状态时所需的时间。
设备电源状态 D2
此电源状态在 设备Low-Power状态中针对所有设备进行描述。 对于网络适配器和微型端口驱动程序:
功耗
中间睡眠状态。 功耗小于 D1 状态下的功耗,大于或等于 D3 状态下的功耗。
还原时间
将网络适配器还原到 D0 状态的时间大于网络适配器处于 D1 状态时所需的时间,小于网络适配器处于 D3 状态时所需的时间。
设备电源状态 D3
此电源状态在 设备Low-Power状态中针对所有设备进行描述。 对于网络适配器和微型端口驱动程序:
功耗
具有最小功率的睡眠状态。 D3hot) (功率量可能不为零,也可能 (D3cold) 正好为零。 有关 D3hot 和 D3cold 的详细信息,请参阅 设备Low-Power状态。
还原时间
将网络适配器还原到 D0 状态的时间大于网络适配器处于 D2 状态时所需的时间。
在网络适配器转换到睡眠状态之前,其微型端口驱动程序必须禁用微型端口驱动程序控制下的所有内容:必须禁用中断、必须取消计时器等。 在总线驱动程序将网络适配器设置为 D3 状态后,微型端口驱动程序无法访问网络适配器硬件。
允许在设备电源状态之间进行转换
设备电源状态之间允许的唯一转换是从最高功率状态 (D0) 转换为睡眠状态 (D1、D2、D3) ,或从睡眠状态转换为最高功率状态。 NDIS 从不命令网络适配器直接从一种睡眠状态转换到另一种睡眠状态。