Windows驱动中的inf文件

Windows设备驱动安装依赖Inf文件,它定义了驱动的服务、硬件和类子键信息。Inf文件在注册表中的不同位置如硬件子键(HKEY_LOCATION_MACHINESYSTEMControlSet001Enum)、服务子键(HKEY_LOCATION_MACHINESYSTEMControlSet001Services)和类子键(HKEY_LOCATION_MACHINESYSTEMControlSet001ControlClass)存储设备属性和驱动信息。Inf文件与硬件ID、服务和类相关联,对于非PNP设备,Windows通过DSDT和INF结合实现驱动安装。
摘要由CSDN通过智能技术生成

               我们知道Windows设备驱动的安装都需要inf文件,inf文件中定义了驱动的服务,定义了驱动的硬件子键,服务子键和类子键。使操作系统可以方便的了解你的驱动的属性,特性等等。

              Windows系统从98到2000,到XP,Vista,Win7,以及Win8,容量越来越大。在很大的程度上,是由于驱动的原因。因为支持的设备越来越多,所以驱动越来越多。我们先来看硬件子键,一般它在注册表的位置为HKEY_LOCATION_MACHINE\SYSTEM\ControlSet001\Enum下面如下图:它知名硬件的HID,VID,DID这些信息,总而言之,跟硬件和硬件厂商相关的信息。

              

              这是我自己电脑上所截的图,我们再来看ACPI 中的DSDT截图:

             

 

             我们再看服务子健,它在注册表中的位置为HKEY_LOCATION_MACHINE\SYSTEM\ControlSet001\Services,它主要是跟驱动相关的,指明驱动的路径,以及驱动名字。

             类子健在注册表中的位置为HKEY_LOCATION_MACHINE\SYSTEM\ControlSet001\Control\Class,它主要是知名INF文件。              我们看到DSDT跟INF貌似没有任何关系。其实不然,我们可以看到DSDT中的HID,在上面的注册表的硬件子键中有,由于我们的桌面系统,Windows是基于PNP的,很多设备都是PNP的,比如USB,PCI,SATA等,但是不属于PNP的,比如总线设备等,怎么安装了,这个就要借助DSDT了,所以这部分驱动MSFT自己提供了,而且把HID固定下来了,也就是PNP0800这些,这些代码MSFT的一个驱动。所以OEM厂商需要在ACPI中,声明这些总线设备,也就是填充正确的HID。而后面需要安装驱动,比如某种USB设备,或者PCIE设备了,MSFT又将这些设备分了好多类。如下:

           

            这个就是我们的类子键,需要声明是哪中设备,当然不是是哪家做的,什么功能,所以当然我们需要DEVICE ID和VENDOR ID,有时候还有PRODUCT ID,当然还有些驱动的属性也需要。在注册表中有了设备ID和供应商ID后,如果是USB设备,当USB设备接入时,PNP管理器接收到USB总线驱动程序发送过来的,设备接入通知,以及ID信息后,就在USB类中需要相应的ID的驱动程序,创建设备堆栈,设备对象,使设备工作。如果是标准的功能设备,MSFT有驱动了,这样只需要MSFT在其inf文件里添加这个设备ID信息使其支持。当然,这个是要收费的,呵呵。贴出一个1394控制器设备驱动的inf文件:

           

; 1394.INF  -- This file contains descriptions of all the 1394
;              Host controllers supported in Windows NT and Memphis
;
;*** Created 07/09/97  (Creation Date)

[Version]
;Signature="$WINDOWS NT$"       ; JSG - What to do???
Signature="$CHICAGO$"  
Class=1394

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值