Windows电源管理
+ -

WDM设备电源状态

2023-10-09 12 0
Windows电源管理相关编程

WDM的电源状态包括设备电源状态和系统电源状态。在头文件中分别定义如下:

设备电源状态

typedef enum _DEVICE_POWER_STATE {
    PowerDeviceUnspecified = 0,
    PowerDeviceD0,
    PowerDeviceD1,
    PowerDeviceD2,
    PowerDeviceD3,
    PowerDeviceMaximum
} DEVICE_POWER_STATE, *PDEVICE_POWER_STATE;

系统电源状态

typedef enum _SYSTEM_POWER_STATE {
    PowerSystemUnspecified = 0,
    PowerSystemWorking     = 1,
    PowerSystemSleeping1   = 2,
    PowerSystemSleeping2   = 3,
    PowerSystemSleeping3   = 4,
    PowerSystemHibernate   = 5,
    PowerSystemShutdown    = 6,
    PowerSystemMaximum     = 7
} SYSTEM_POWER_STATE, *PSYSTEM_POWER_STATE;

电源状态的初始化

一个设备FDO在创建后,应在其扩展单元结构体中随时跟踪记录设备和系统的电源状态,以实现不同的设备状态转换。
但设备在初始化时即AddDevice中IoCreateDevice后,电源状态应初始化:

    pdx->DevicePowerState = PowerDeviceUnspecified;
    pdx->SystemPowerState = PowerSystemWorking;

0 篇笔记 写笔记

WDDM 设置电源状态
电源状态使用DxgkDdiSetPowerState来实现 InitialData.DxgkDdiSetPowerState = BddDdiSetPowerState;当驱动工作时方可进行电源状态的设置NTSTATUSBddDdiSetPowerStat......
WDM设备电源状态
WDM的电源状态包括设备电源状态和系统电源状态。在头文件中分别定义如下:设备电源状态typedef enum _DEVICE_POWER_STATE { PowerDeviceUnspecified = 0, PowerDeviceD0, PowerDeviceD1, ......
作者信息
我爱内核
Windows驱动开发,网站开发
好好学习,天天向上。
取消
感谢您的支持,我会继续努力的!
扫码支持
扫码打赏,你说多少就多少

打开支付宝扫一扫,即可进行扫码打赏哦

您的支持,是我们前进的动力!