- 1、本文档共4页,可阅读全部内容。
- 2、有哪些信誉好的足球投注网站(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
- 5、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
- 6、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们。
- 7、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
- 8、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
usb加载详细过程
【转】?usb加载详细过程(zz)
2010-06-20 21:00
转载自?分享
最终编辑?pulerain当你的u盘插入以后.?usbhub能检测到有某个设备连接进来(usb某根数据线的电平超过最小输入电压2.5us).通知windows有一新设备连接进来了.?然后pnp manager发送一系列的pnp irp到这个新设备?比如query caps,query id.query resource,query resource req等等.?和我们讨论有关的就是query id了.?pnp manager首先query的是device id.目的是用来定位所谓的device key?他位于current control set\\enum下面.?usbhub为其返回的id格式如下?USB\\VID_xxxxPID_xxxx 当然了,这两个数来自于device descriptor?pnp manager接着query instance id.根据需要生成一个instance id string并附加到device id后面形成如下的string.也就是所谓的某个device的instance path?USB\\VID_xxxxPID_xxxx\\xxxx?然后用他作为sub key的名字去打开?LOCAL_MACHINE\\system\\CurrentControlSet\\Enum\\下的某个key?比如我的u盘的instance path是?USB\\Vid_0c45Pid_1060\\51489a8501?对应的device key就是?LOCAL_MACHINE\\System\\CurrentControlSet\\Enum\\USB\\Vid_0c45Pid_1060\\51489a8501?如果这个key已经存在.pnp manager则认为是一个以前就安装好驱动程序的设备.如果这个key不存在,pnp manager则认为是一个新设备,出现发现新硬件的提示.通知user mode要为这个设备选择一个驱动.?先看key存在的情况.?pnp manager会query他的resource和resource requirement.并且查询适当的arbiter和translator交给他们作仲裁.并分配适当的资源.资源分配完成了以后.pnp manager开始start这个新的设备.?首先是为其加载function device和filter device.?function driver 是由device key下面service字段指出来的?windows读取他.用他作为subkey的name去?current control set\\Services下面打开这个key?按照需要加载其driver的sys文件,创建driver object?而对于filter则有好些种?一类是专属于这个device的,另外一类是属于则device所在的class的?专属device的lower跟upper filters就在device key下面?而class的filter则是在class key的下面?在device key下面有一个classguid的value,pnp manager读取他?作为subkey?到?current control set\\control\\class下面去打开key?然后读取lower 跟upper filters..?当然这些filters本身的driver也会被加载进来?然后把他们的driver objects放到一个数组里面,先后顺序是?LowerDeviceFilters?LowerClassFilters?DeviceService?UpperDeviceFilters?UpperClassFilters?从上到下逐一调用其AddDevice函数?这样就算初步搭建完了这个新设备的device stack?接下来就会有其他的pnp irp发送.?比如filter resource requirement,query caps,start device等等?然后pnp manager为这个新搭建的device stack发送query bus relations 的irp,如果这个新的设备是个bus driver的话,他也会按照通知windows有新的设备连接在其上面.windows再重复以上的步骤.?回过来.如果instance key不存在.windows则为其创建这个instance key并通知user mode,user mode的pnp man
您可能关注的文档
- LR监控系统资源的配置讲解.doc
- 【MSDN】《胖客户端应用程序演练》.docx
- 专业综合设计说明书模版2009.doc
- 扫雷-项目文档.doc
- step7授权安装问题.doc
- 全国2011年7月高等教育自学考试计算机基础与程序设计试题及答案.docx
- Weblogic配置JMS消息服务.doc
- 在用户窗体上添加状态栏.doc
- 如何在XP SP2保护客户端计算机不受网络攻击.doc
- 第02章 fluent用户界面17.doc
- 2025年网络文学平台版权运营模式创新与版权保护体系构建.docx
- 数字藏品市场运营策略洞察:2025年市场风险与应对策略分析.docx
- 全球新能源汽车产业政策法规与市场前景白皮书.docx
- 工业互联网平台安全标准制定:安全防护与合规性监管策略.docx
- 剧本杀剧本创作审核标准2025年优化与行业自律.docx
- 2025年新能源电动巡逻车在城市安防中的应用对城市环境的影响分析.docx
- 全渠道零售案例精选:2025年行业创新实践报告.docx
- 2025年网约车司乘纠纷处理机制优化与行业可持续发展报告.docx
- 2025年宠物烘焙食品市场法规政策解读:合规经营与风险规避.docx
- 2025年宠物行业数据安全监管政策影响分析报告.docx
文档评论(0)