设备驱动程序INF文件的处理过程_正在处理inf-程序员宅基地

技术标签: usb  

当Windows发现有USB设备连接时,其设备管理器会把系统所有的INF文件中的数据和该USB设备的设备信息或接口信息进行比较,已找到与之匹配的INF文件。对于Windows 98,为避免在每次检测到新设备时都需读取INF文件本身,他建立了一个保存INF文件调用信息的数据库,其文件名为drvdata.bin和drvidx.bin,他们位于“Windows/INF”目录中。其中。drvdata.bin列出了INF文件所包含的产品信息;drvidx.bin列出了INF文件中的供应商ID和产品ID。Windows在从USB设备中得到硬件ID或兼容ID后,它将利用这两个文件中的信息来查找与该设备相匹配的INF文件,其处理过程一般如下:

1Windows使用USB设备中设备描述符的供应商字段和产品字段(即idVendor、idProduct、bcdDevice)来形成该设备的硬件ID,并查找与该应碱性匹配的INF文件。

2如果找不到,Windows将使用接口描述符的类字段、子类字段和协议字段(即bInterfaceClass、bInterfaceSubClass、bInterfaceProtocol)来形成该设备的兼容ID,并查找与该兼容ID相匹配的INF文件。

3如果仍没有找到,则Windows将提示用户定位USB设备INF文件所在的目录,已安装正确的设备驱动程序。

       Windows 2000中INF文件的处理过程与上述过程类似。

版权声明:本文为博主原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接和本声明。
本文链接:https://blog.csdn.net/u012296694/article/details/46623143

智能推荐

windows 10 markdown pad awesomium crashed-程序员宅基地

文章浏览阅读109次。为什么80%的码农都做不了架构师?>>> ..._awesomium crash

MySQL中自增ID起始值修改方法_mysql 改变自增-程序员宅基地

文章浏览阅读8.9k次,点赞6次,收藏7次。在实际测试工作过程中,有时因为生产环境已有历史数据原因,需要测试环境数据id从某个值开始递增,此时,我们需要修改数据库中自增ID起始值,下面以MySQL为例:表名:users;建表时添加:create table users(id int auto_increment primary key,666);表已创建,修改:alter table users add id int..._mysql 改变自增

mongoDB关系型数据库的对比-程序员宅基地

文章浏览阅读471次。一、基本操作  1.mongoDB和关系型数据库对比    对比项      mongoDB      mysql oracle    表        集合list        二维表    表的一行数据    文档document    一条记录    表字段        键key        字段field    字段值        值value  ..._mongodb与关系型数据库的区别

java 有matlab函数库_在Java程序中调用Matlab函数 [转]-程序员宅基地

文章浏览阅读414次。环境准备1机器上有Eclipse 3.1和Matlab 2007a2机器的环境变量设置(1)JAVA_HOME (JDK的安装位置,如C:\Program Files\Java\jdk1.5.0)设置后,重启matlab才能有效。用getenv JAVA_HOME在Matlab的命令窗口中试验,看看得到的返回值正确方可说明其对Matlab生效了。(2)Classpath添加matlabInst..._matlab 库 java有么

scala 自带json_scala中json操作-程序员宅基地

文章浏览阅读562次。解析json个人认为,解析json用的最多的就是fastjson了使用前需要在pom文件中引用:com.alibabafastjson1.2.47compile代码案例:val jsonStr ="""|[| {| "type_name" : "aa",| "score" : 0.9995,| "classcode" ..._scala from_json()参数

php结合lunece_用PHP调用Lucene包来实现全文检索_PHP教程-程序员宅基地

文章浏览阅读159次。由于工作需要,需要使用PHP实现对网站内大量数量进行全文检索,而且目前最流行的全文检索的搜索引擎库就是Lucene了,它是Apache Jakarta的一个子项目,并且提供了简单实用的API,用这些API,就可以对任何基础文本的数据(包括数据库)进行全文检索。因为PHP本身就支持调用外部Java类,所以先用Java写了一个类,这个类通过调用Lucene的API,实现了两个方法:public Str..._luence php

随便推点

python cmdb_CMDB和运维自动化-程序员宅基地

文章浏览阅读130次。IT运维的分类IT运维,指的是对已经搭建好的网络,软件,硬件进行维护。运维领域也是细分的,有硬件运维和软件运维 - 硬件运维主要包括对基础设施的运维,比如机房的设备,主机的硬盘,内存这些物理设备的维护 - 软件运维主要包括系统运维和应用运维,系统运维主要包括对OS,数据库,中间件的监控和维护,这些系统介于设备和应用之间,应用运维主要是对线上业务系统的运维这里讨论的主要是软件运维的自动化,包括系统运..._python cmdb自动化运维

python根据时间序列画折线图_如何根据时间序列金融数据画出分年对比的季节性图表...-程序员宅基地

文章浏览阅读1.8k次。季节性分析是金融数据分析的常用分析方法,经常用于股票和商品价格分析中,对于观察价格、价差、基差和比价及商品供需水平十分准确直观,现在介绍几种获取季节性图表的方法。一、金融数据终端很多金融数据终端在提取数据的面板中提供了季节性图表的展示和导出功能,常见的如Bloomberg、Wind、钢联数据、天下粮仓等。以wind为例,在选择和提取数据之后,在看板下方可以切换到“图像”工作簿,提取到的数据会自动生..._如何将wind时序分年度画图

gojs禁止画布滚动_gojs 禁止拖拽-程序员宅基地

文章浏览阅读452次。gojs禁止画布滚动_gojs 禁止拖拽

umi\antd-pro热更新不生效解决方案_umijs 3 热更新慢-程序员宅基地

文章浏览阅读8.9k次,点赞2次,收藏2次。项目热更新分为两种情况:1.所有页面都无法更新2.有的页面可以有的不可以(也就是有时生效,有时不生效)。解决方案:1.可以试试删除node_moudels下的.cache文件夹,并且删除pages下的.umi文件,重启电脑。2.也有可能config.js里路由大小写的问题。例子:比如class Login extends React.component{}你的config.js里也要写成大写(小写不报错,但有可能影响热更新)routes: [{ name: 'lo......_umijs 3 热更新慢

string_agg_SQL中STRING_AGG函数的概述-程序员宅基地

文章浏览阅读1.1w次,点赞4次,收藏17次。string_agg In this article, we will explore the STRING_AGG function in SQL and we will also reinforce our learning with various examples. STRING_AGG function can be counted as a new member..._sql string_agg

vue表单验证(vantui 直接复制页面可测)_在vue项目中,用vue2+vantui做一个表单,要求有校验-程序员宅基地

文章浏览阅读1.3k次。<!-- 登录页 用户表单 --> <van-cell-group> <van-field v-model="username" clearable label="用户名" right-icon="question-o" placeholder="请输入用户名" left-icon="contact" @click-right-icon="$toast('用户名必须..._在vue项目中,用vue2+vantui做一个表单,要求有校验