zoukankan      html  css  js  c++  java
  • WDM驱动和NT驱动之我见

    WDM驱动是NT驱动的进化版。我个人觉得它的主要好处有两个

    1.能检测到设备的插入,系统能自动分配设备的硬件信息,如中断号、IO端口、设备物理地址等

    2.支持设备的开机状态拔出

    之前的NT驱动和硬件关系如下

    其实直来直去没什么不好,真的,但是细想有两个问题

    1.硬件插入以后,要做的麻烦事太多了,首先分配硬件的中断号,然后指定设备在内存上的映射地址,然后指定IO的端口等等,一切准备妥当,安装驱动程序,驱动程序可能需要修改一些配置信息,这些配置信息有可能是硬编码

    2.硬件拔出之后,蓝屏机率特别大,就比如说,我正在使用U盘,假设U盘这个USB设备是NT驱动的,有人不小心碰了一下硬件,蓝屏了。。。

    如何解决这个问题呢?

    WDM分层驱动模型加入了总线驱动这个概念

    1.当设备插入时,系统自动分配了设备的配置信息,并且提供了设备的总线驱动PDO

    2.设备拔出时,总线驱动能处理好PnP事件,不会导致系统的异常

    相当于说总线驱动作为一种优化的缓冲设备对象

  • 相关阅读:
    微信端支付
    flex布局
    最近的一些计划
    工作中遇到的一些小问题
    获取url参数
    localStorage中使用json
    倒计时函数(单个和多条)
    刚进入页面强制刷新
    [模板][倍增] ST算法 RMQ 区间中最大得值
    [思维]奇数码问题
  • 原文地址:https://www.cnblogs.com/zwt1234/p/4618168.html
Copyright © 2011-2022 走看看