设备的层次结构 - 驱动程序的垂直层次结构

        Windows操作系统是分层调用。其实在驱动程序中也可以是分层调用的。

        驱动程序的垂直层次结构

        不仅是WDM驱动,NT式驱动也可以分层,这主要是通过一个设备附加在另一个设备之上。因此,可以将WDM驱动模型看成是NT驱动模型的延伸。

        设备的创建顺序是,先创建底层PDO,在创建高层的FDO,这也就是设备堆栈的生长方向,即从底层设备到高层设备。在PDO和FDO之间可能夹杂着各种过滤驱动。每层的设备对象由不同的驱动程序所创建,或者说每层的设备对应着不同的驱动程序。有的驱动程序是系统自带的,有的是需要程序员编写。底层设备对象寻找上一层的设备对象是依靠底层设备对象的AttachedDevice来寻找的,如果某一设备的AttachedDevice为空,说明已经到了设备堆栈的顶部。

        而高层设备寻找低一层的设备对象,设备对象没有相关子域可以使用。解决的办法是,通过程序员自定义设备扩展,在设备扩展记录低一层的设备对象。这样从底层的设备对象到达设备顶部,再从设备顶部到达设备堆栈底部,都有了相应的办法。

                  

相关推荐

  1. 存储器层次结构

    2024-02-02 11:42:03       8 阅读
  2. 物理设计概念 -- 物理层次结构

    2024-02-02 11:42:03       18 阅读

最近更新

  1. TCP协议是安全的吗?

    2024-02-02 11:42:03       16 阅读
  2. 阿里云服务器执行yum,一直下载docker-ce-stable失败

    2024-02-02 11:42:03       16 阅读
  3. 【Python教程】压缩PDF文件大小

    2024-02-02 11:42:03       15 阅读
  4. 通过文章id递归查询所有评论(xml)

    2024-02-02 11:42:03       18 阅读

热门阅读

  1. TerserWebpackPlugin详解

    2024-02-02 11:42:03       30 阅读
  2. ES6 Proxy详解

    2024-02-02 11:42:03       35 阅读
  3. 在CentOS 7上安装MySQL 8.0

    2024-02-02 11:42:03       34 阅读
  4. Power BI 不重复计数函数

    2024-02-02 11:42:03       39 阅读
  5. C语言结构体赋值的四种方式

    2024-02-02 11:42:03       35 阅读
  6. 使用Eigen3计算旋转平移缩放矩阵

    2024-02-02 11:42:03       35 阅读
  7. 【Node系列】创建第一个服务器应用

    2024-02-02 11:42:03       33 阅读
  8. day9笔记

    2024-02-02 11:42:03       31 阅读