zsh_7769
驱动小牛
驱动小牛
  • 注册日期2004-04-15
  • 最后登录2005-12-06
  • 粉丝0
  • 关注0
  • 积分0分
  • 威望0点
  • 贡献值0点
  • 好评度0点
  • 原创分0分
  • 专家分0分
阅读:1303回复:7

编写.inf文件该如何入手?大侠教教我!多谢多谢!

楼主#
更多 发布于:2004-05-28 14:55
如题,多谢多谢!
aha_here
驱动小牛
驱动小牛
  • 注册日期2003-10-11
  • 最后登录2009-03-07
  • 粉丝0
  • 关注0
  • 积分10分
  • 威望1点
  • 贡献值0点
  • 好评度1点
  • 原创分0分
  • 专家分0分
沙发#
发布于:2004-05-28 17:01
别人的拷过来,稍稍改改,不就是你的了!
[size=3][color=red]勤学好问[/color][/size] [img]http://www.driverdevelop.com/forum/avatar/aha_here_xiao_zu.gif[/img]
zsh_7769
驱动小牛
驱动小牛
  • 注册日期2004-04-15
  • 最后登录2005-12-06
  • 粉丝0
  • 关注0
  • 积分0分
  • 威望0点
  • 贡献值0点
  • 好评度0点
  • 原创分0分
  • 专家分0分
板凳#
发布于:2004-05-28 17:24
大侠,我对.inf文件还不是很明白,都不知道怎么改,你能讲的具体一些吗?多谢多谢!
snowStart
驱动老牛
驱动老牛
  • 注册日期2004-04-06
  • 最后登录2011-06-02
  • 粉丝0
  • 关注0
  • 积分95分
  • 威望19点
  • 贡献值177点
  • 好评度1点
  • 原创分0分
  • 专家分0分
地板#
发布于:2004-05-29 09:17
参拷MSDN,边改边试就行了,一般主要改的就是文件名,硬件信息及厂商,需要的好还要添加自己的服务
学习,关注,交流中... [email=fengyu@163.com]Email:snowstarth@163.com[/email] [url]http://bbs.zndev.com/?a=snowStart[/url]
liuge
驱动牛犊
驱动牛犊
  • 注册日期2004-06-02
  • 最后登录2005-07-06
  • 粉丝0
  • 关注0
  • 积分20分
  • 威望4点
  • 贡献值0点
  • 好评度0点
  • 原创分0分
  • 专家分0分
地下室#
发布于:2004-06-03 18:46
一般来说,读一个inf文件总是从[Manufacturer]开始的。

[Manufacturer]下会有一些本inf文件支持的硬件列表,每一行代表一个支持的硬件种类。比如,如果[Manufacturer]是
[Manufacturer]
%Manufacturer1%=sbp2_device
%Manufacturer2%=usb_device

就代表支持sbp2_device的硬件种类,这个种类的名字是Manufacturer1字符串定义的。%Manufacturer1%代表一个字符串变量。

这个硬件种类可以包括很多硬件型号,它们都列在[sbp2_device]中。

[sbp2_device]
%DeviceDesc1%=sbp2_install1, 1394\\609E&10111
%DeviceDesc2%=sbp2_install2, 1394\\609E&10483

%DeviceDesc1%=sbp2_install1, 1394\\609E&10111 代表支持硬件ID为1394\\609E&10111的设备。一旦发现这个设备,Windows会去根据[sbp2_install1]定义的行为来安装驱动程序。%DeviceDesc1%是给设备的名称。

假如[sbp2_install1]为:
[sbp2_install1]
CopyFiles=sbp2_CopyFiles
AddReg=sbp2_AddReg

CopyFiles=sbp2_CopyFiles 表示要执行复制文件操作。要复制的文件列在sbp2_CopyFiles中。

[sbp2_CopyFiles]
sbp2.pdr
helper.sys

表示要复制sbp2.sys和helper.sys的文件。

要复制的目的位置在[DestinationDirs]中定义,在本例中为:

[DestinationDirs]
sbp2_CopyFiles=12

sbp2_CopyFiles=12 表示把[sbp2_CopyFiles]中的文件复制到%windows目录的system32\\drivers中。12代表system32\\drivers目录。

在[sbp2_install1]中的AddReg=sbp2_AddReg代表执行一个注册表操作。[sbp2_AddReg]如下:

[sbp2_AddReg]
HKR,,DevLoader,0,*IOS
HKR,,PortDriver,0,sbp2.sys
HKR,,DriverDesc,0,SBP2 Port Driver

表示在设备相关注册表项上加入DevLoader、PortDriver、DriverDesc键值。键值的值是*IOS等等。

注册表项的位置在LOCAL_MACHINE下由[Version]中的Class项指定的设备类型决定。比如,

[Version]
Signature=$CHICAGO$
Class=hdc
provider=%Numega%

Class=hdc表示在hdc设备类型中。这个类型的定义由[ClassInstall]决定的。

[ClassInstall]
AddReg=HDC_Class

[HDC_Class]指明了这个类型需要添加的注册表项
[HDC_Class]
HKR,,,0,%HDCClassName%
HKR,,Icon,0,-9

以上inf文件格式是Windows 98上的。NT/2000上的略有不同。NT/2000的inf文件会有一个[sbp2_install1.Services]指明要执行的驱动安装动作。

[sbp2_install1.Services]
AddService = sbp2_install1, 0x00000002, sbp2_Service_Inst

[sbp2_Service_Inst]
DisplayName=%sbp2_ServiceDesc%
ServiceType    = 1                  ; SERVICE_KERNEL_DRIVER
StartType      = 1                  ; SERVICE_SYSTEM_START
ErrorControl   = 0                  ; SERVICE_ERROR_IGNORE
ServiceBinary  = %12%\\sbp2.sys

ServiceBinary指定了要为本设备装入的驱动程序。

zsh_7769
驱动小牛
驱动小牛
  • 注册日期2004-04-15
  • 最后登录2005-12-06
  • 粉丝0
  • 关注0
  • 积分0分
  • 威望0点
  • 贡献值0点
  • 好评度0点
  • 原创分0分
  • 专家分0分
5楼#
发布于:2004-06-03 22:51
多谢多谢!再问个问题,如果要自己编写.sys文件该如何写呢?
wozhuce
驱动小牛
驱动小牛
  • 注册日期2004-04-02
  • 最后登录2005-11-01
  • 粉丝0
  • 关注0
  • 积分2分
  • 威望1点
  • 贡献值0点
  • 好评度0点
  • 原创分0分
  • 专家分0分
6楼#
发布于:2004-06-14 20:03
这两个可不是随便的问题了呦,入门的话可以先看看《WIN内核实验教程》,很快上手!
gangg
驱动牛犊
驱动牛犊
  • 注册日期2004-04-22
  • 最后登录2016-01-09
  • 粉丝0
  • 关注0
  • 积分0分
  • 威望0点
  • 贡献值0点
  • 好评度0点
  • 原创分0分
  • 专家分0分
7楼#
发布于:2004-06-15 16:12
去借一本驱动开发指南2
上面说得很清楚
游客

返回顶部