WDM Power IRP 学习 (一)

    电源管理是WDM驱动的一个重点和难点,需要处理好,否则在测试、使用过程中很容易出现各种异常。最严重的就是 bug check 0x9F 相关的各种BSOD。

这里简单介绍下,power Irp包括两类,一类是系统状态相关power Irp(system-irp),另一类是设备状态相关power Irp(device-irp)。我们在Driver Entry中注册的dispatch可以接受上述system-irp和device-irp。本文下面提到的system-irp/device-irp都是指system power irp/device power irp。

    本节只介绍下面四种power相关Irp,包括 IRP_MN_QUERY_POWER System-Irp,IRP_MN_QUERY_POWER Device-Irp,IRP_MN_SET_POWER System-Irp,IRP_MN_SET_POWER Device-Irp。

    上述四种power相关Irp,系统在转换power state时会首先下发system-Irp,设备的 function driver收到后,会产生一个与之对应的device-Irp,并通过系统下发到power dispatch。处理的流程是首先将system-Irp设置为pending,在device-Irp处理完毕后,依据返回状态设置system-Irp的status,再complete此 system-Irp。具体的处理流程可以参考后面的详细介绍。

    上述四种power相关Irp可以依据不同的标准划分,可以划分为system、device相关,还可以划分为 query、se、wakeup相关。本节只讨论query、set相关的power Irp。这里简单描述下query和set的区别。Query通常是用于系统询问设备,是否可以进入某种power状态。Set通常在que

  • 0
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值