linux加载inf文件,兼容64位驱动inf文件

最后附上我自己对INF的一个理解:

;

; test.inf

;整个配置文件安装成功后会在注册表生成一个实例子健 具体位置为:HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Enum

;--------- Version Section ---------------------------------------------------

[Version]

;可以是$Chicage$、$Windows NT$(含有一个空格)、$Windows 95$(含有一个空格)之一,定界符$必不可少,且这些串是不分大小写的。

;如果Signature的值不是这些有效的串之一,该INF文件就被认为无效

Signature="$WINDOWS NT$"

;INF文件的提供者

Provider=drsn_Device

;INF文件的版本信息,时间和版本不变的情况下,修改了SYS文件,重新安装INF文件是看不到SYS变化的

;因为系统已经存根了此版本的INF和SYS,它会直接加载已有的文件,调试SYS特别要主要这个问题

;如果使用VS2012编译,它会自动帮你填写这里,比较省心

DriverVer=08/31/2013,8.33.48.258

;如果设备是一个标准类别,使用标准类的名称和GUID 否则创建一个自定义的类别名称,并自定义它的GUID

;自定义的类别在注册表中 HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\Class\ 有显示

Class=drsnDevice

ClassGuid={BDC0EAC4-AC4B-46af-82EA-C4958B686515}

;--------- SourceDiskNames and SourceDiskFiles Section -----------------------

;这里两项的设置效果是 加载INF当前目录下的SYS文件

[SourceDisksNames]

1 = %DiskName%,,,

[SourceDisksFiles]

Name_Files_Driver = 1,,

;--------- ClassInstall/ClassInstall32 Section -------------------------------

;如果不是标准类别设备,这里的配置必须的

[ClassInstall32]

Addreg=Class_AddReg

;对应的注册表是 HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\Class\

[Class_AddReg]

HKR,,,,%DeviceClassName%

HKR,,Icon,,"-5"

;--------- DestinationDirs Section -------------------------------------------

;把文件呢复制到相应的目录下,在win2000及其以后系统,12表示%windir%/system32/drivers

;win98中12表示%windir%/system/IoSubsys 所以为了兼容大家都写成10,System32\Drivers

[DestinationDirs]

Name_Files_Driver = 12

;--------- Manufacturer and Models Sections ----------------------------------

;这里是设置模型相关的选项,注意这里VS默认生成的标准设备的配置 如:%ManufacturerName%=Standard,NT$ARCH$

;如果不是标准类别设备这里必须修改,要不然最后加载的时候会出现259错误

[Manufacturer]

%ManufacturerName%=Mfg0

;这里是模型节的节名,和硬件ID 这个ID可以自定义

[Mfg0]

%DeviceDesc%=SysInstall, PCI\VEN_8888&DEV_8888

;---------- DDInstall Sections -----------------------------------------------

;这里需要注意WIN2000及其以上的系统这里有个.NT,如果是98这里是[SysInstall],必须要正确设置

[SysInstall.NT]

CopyFiles=Name_Files_Driver

AddReg=Install_NT_AddReg

;这里的drsnWDM是注册表中的服务名 具体地址是 HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services

[SysInstall.NT.Services]

Addservice = drsnWDM, 0x00000002, Sys_AddService

;服务的具体选项

[Sys_AddService]

DisplayName = %SvcDesc%

ServiceType = 1 ; SERVICE_KERNEL_DRIVER

StartType = 3 ; SERVICE_DEMAND_START

ErrorControl = 1 ; SERVICE_ERROR_NORMAL

;这个地方虽然和[Name_Files_Driver]相同但是不能引用,所以只能照实来写

ServiceBinary = %12%\test.sys

[Install_NT_AddReg]

HKLM, "System\CurrentControlSet\Services\drsnWDM\Parameters",\

"BreakOnEntry", 0x00010001, 0

; --------- Files (common) -------------

;sys文件名 便于配置文件其它地方使用

[Name_Files_Driver]

test.sys

;--------- Strings Section ---------------------------------------------------

;字符串设置 便于配置文件其它地方使用

[Strings]

ProviderName="drsn"

ManufacturerName="drsn soft"

DiskName="test Source Disk"

DeviceDesc="test protect"

SvcDesc="drsn"

DeviceClassName="drsn_Device"

;

; test.inf

;整个配置文件安装成功后会在注册表生成一个实例子健 具体位置为:HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Enum

;--------- Version Section --------

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值