WDM设备栈

news2024/10/7 6:40:52

图 1一块USB主控制器卡(主控芯片为VIA VL805)

图中的板卡包含USB主控制器(USB Host Controller)、USB集线器(USB Hub),这里USB集线器扩展了4个USB端口(USB Port)。

PCI总线(由于PCIE总线与PCI总线软件兼容,故软件层面只讨论PCI总线)、USB主控制器、USB集线器均为总线设备(Bus Device),驱动它们的驱动程序称为总线驱动程序(Bus Driver),由微软Windows操作系统提供。

驱动PCI总线的程序为PCI总线驱动程序(由微软提供),PCI总线驱动程序包含了一个PDO和FDO,PDO由根总线驱动程序(The root bus driver,由微软提供)创建,FDO由PCI总线驱动程序创建。PCI总线驱动程序的设备栈如下图所示:

图 2PCI总线驱动程序的设备栈

当驱动程序处理PnP或电源IRP时,它们必须将每个IRP沿着设备栈一路传递到PDO及其相关的总线驱动程序。

总之,

  1. 根总线驱动程序为PCI总线创建PDO,PCI总线驱动程序创建代表自身的FDO,并将此FDO附加到根总线驱动程序创建的PDO之上;
  2. PCI总线驱动程序枚举插入到PCI总线上的设备,为这些设备创建PDO,PCI总线上的设备驱动程序创建代表自身的FDO,并将此FDO附加到PCI总线驱动程序创建的PDO之上。

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/846552.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

智慧工地源码:数字孪生智慧工地可视化解决方案

一、智慧工地建设背景 我国经济发展正从传统粗放式的高速增长阶段,进入高效率、低成本、可持续的中高速增长阶段。随着现代建筑的复杂度和体量等不断增加,施工现场管理的内容越来越多,管理的技术难度和要求在不断提高。传统的施工现场管理模…

C++ 测试框架 GoogleTest 初学者入门篇 丙

断言 什么是断言?断言是用来对表达式执行比较的代码块,调用时类似函数。当表达式一致时,断言返回成功,否则失败。 googletest 的断言是一组宏定义。分为 ASSERT_* 和 EXPECT_* 两种。 比如 ASSERT_EQ(1, 2);EXPECT_EQ(1, 2);上…

Element-UI简介

目录 安装 常用组件 Container 布局容器 Button 按钮 MessageBox 弹框 Form 表单验证 element-ui是一个前端的ui框架,封装了很多已经写好的ui组件,例如表单组件,布局组件,表格组件.......是一套桌面端组件。 Element - 网站…

JAVA SpringBoot 项目 多线程、线程池的使用。

1.1 线程: 线程就是进程中的单个顺序控制流,也可以理解成是一条执行路径 单线程:一个进程中包含一个顺序控制流(一条执行路径) 多线程:一个进程中包含多个顺序控制流(多条执行路径&#xff0…

斗轮机无线控制系统技改方案

一、应用背景 马钢的前身是成立于1953年的马鞍山铁厂,2019年马钢集团正式成为中国宝武控股子公司。马钢产品以建筑用型线材为主,满足重型工业厂房、轻钢结构、高层建筑、桥梁结构、工业管道等构件的加工需要。目前马钢在岗员工4.8万人,具备了…

采用模块化方式编译

一、前言 比如:uImage下有很多驱动文件,但是驱动开发时,要频繁更改驱动文件,如果每次编译整个uImage编译会浪费时间,所以引入模块化方式编译,把驱动设置为模块化编译,这样每次更改或重新编译时…

v4l2-ctl 命令查看 RK3568 上的摄像头节点

使用 v4l2-ctl 命令查看 RK3568 上的摄像头节点,可以按照以下步骤进行操作: 首先,请确保您的 RK3568 设备上已经安装了 v4l-utils 工具包。如果没有安装,可以使用以下命令进行安装: $ sudo apt-get install v4l-utils打…

【HMS Core】Health Kit 血压、血糖等数据返回数据包含max,min,avg,last 数据,这些数据的含义是什么意思?

【问题描述】 1. 血压、血糖等数据返回数据包含max,min,avg,last 数据,这些数据的含义是什么意思? 2. 如何获取用户上传健康数据的腕表的型号 【解决方案】 1、血压原子采样统计数据类型开放的是多日统计查询接口,统计的维度是按…

FinClip 支持小程序维度域名配置;桌面端体验活动进行中

FinClip 的使命是使您(业务专家和开发人员)能够通过小程序解决关键业务流程挑战,并完成数字化转型的相关操作。不妨让我们看看在本月的产品与市场发布亮点,看看是否有助于您实现目标。 产品方面的相关动向👇&#x1f…

APT60DQ20BG-ASEMI快恢复二极管APT60DQ20BG

编辑:ll APT60DQ20BG-ASEMI快恢复二极管APT60DQ20BG 型号:APT60DQ20BG 品牌:ASEMI 封装:TO-3P 恢复时间:≤35ns 正向电流:60A 反向耐压:200V 芯片个数:双芯片 引脚数量&…

Python实现GA遗传算法优化LightGBM回归模型(LGBMRegressor算法)项目实战

说明:这是一个机器学习实战项目(附带数据代码文档视频讲解),如需数据代码文档视频讲解可以直接到文章最后获取。 1.项目背景 遗传算法(Genetic Algorithm,GA)最早是由美国的 John holland于20世…

Jmeter(四) - 从入门到精通 - 创建网络测试计划(详解教程)

1.简介 在本节中,您将学习如何创建基本的 测试计划来测试网站。您将创建五个用户,这些用户将请求发送到JMeter网站上的两个页面。另外,您将告诉用户两次运行测试。因此,请求总数为(5个用户)x(2…

网络安全进阶学习第十四课——MSSQL注入

文章目录 一、MSsql数据库二、MSsql结构三、MSsql重点表1、master 数据库中的Sysdatabases 表2、Sysobjects 表3、Syscolumns 表 四、Mssql常用函数五、Mssql的报错注入六、Mssql的盲注常用以下函数进行盲注: 七、联合注入1、获取当前表的列数2、获取当前数据库名3、…

汽配企业MES管理系统具体有哪些功能

随着全球汽车产业的不断升级,汽配市场竞争日趋激烈。为了在激烈的市场竞争中获得优势,汽配制造企业必须加快转型升级,向精益生产和精益管理方向前进。而车间信息化管理是实现精益化生产的基础。 汽配行业的生产管理面临着诸多挑战&#xff0…

SDUT 2023 summer team contest(for 22) - 12

A - Todays Word 题意:就是给你一个字符串S0,让你输出的后m位是什么, 思路:我们知道SnSn-1的前一半Sn-1next(Sn-1的后一半的后一位,z的后一位是a),next是求其下一位(z的下一位是a)&…

01《Detecting Software Attacks on Embedded IoT Devices》随笔

2023.08.05 今天读的是一篇博士论文 论文传送门:Detecting Software Attacks on Embedded IoT Devices 看了很长时间,发现有一百多页,没看完,没看到怎么实现的。 摘要 联网设备的增加使得嵌入式设备成为各种网络攻击的诱人目标&…

springboot vue 初步集成onlyoffice

文章目录 前言一、vue ts1. 安装依赖2. onlyoffice组件实现3. 使用组件4. 我的配置文件 二、springboot 回调代码1. 本地存储 三、效果展示踩坑总结 前言 对接onlyoffice,实现文档的预览和在线编辑功能。 一、vue ts 1. 安装依赖 npm install --save onlyoffi…

【个人环境问题排查】解决一个离谱的BurpSuite Professional代理问题(无法访问此网站,Whitelabel Error Page)

最近打开Burp的时候,发现内置浏览器访问不任何网站了,用证书的方式在普通浏览器也访问不了,非常疑惑,最后发现竟是一个非常离谱的问题。 问题 问题如上述,这里贴一下截图,两种情况。 一种是无法访问此网站…

(6)将Mission Planner连接到Autopilot

文章目录 前言 6.1 设置连接 6.2 故障处理 6.3 复合连接的故障处理 6.4 相关话题 前言 本文解释了如何将 Mission Planner 连接到自动驾驶仪上,以便接收遥测数据并控制飞行器。 !Note 对于已有 ArduPilot 固件的安装,或没有现有 Ardu…

Linux 目录结构

初学Linux,首先需要弄清Linux 标准目录结构 / root --- 启动Linux时使用的一些核心文件。如操作系统内核、引导程序Grub等。home --- 存储普通用户的个人文件 ftp --- 用户所有服务httpdsambauser1user2bin --- 系统启动时需要的执行文件(二进制&#x…