文件具体格式:
[section] (节名)
entry=value[,value] (项)
说明:
INF文件是一个文本文件,由许多按层次结构排列的节组成,他们以方括号中的节名称开始,如[Version]、[Manufacturer]等,后面是所含有的各个项,如Signature、DriverVer等。
其中,“entry”标示项名称,“value”标示该想的取值。节名和项名称都不区分大小写,且对于Windows 98,其必须小于28个字符;对于Windows 2000,其长度的最大值为255个字节。
下表是INF文件中常用的节。
INF文件中常用的节
节 |
说明 |
Version |
INF文件的开始(核心节必须包含) |
SourceDisksNames |
指明去的那个程序所在的磁盘或CD-ROM |
SourceDisksFiles |
指明驱动程序的文件名 |
Destination |
指明INF文件和驱动程序的目标文件 |
Manufacturer |
指明供应商及其对应Models节的名称[驱动程序才需要] |
Models |
指明Install/DDInstall节的名称、设备的硬件ID等信息[驱动程序才需要] |
Install(Windows 98) Install(Windows 2000) |
指明需复制的文件、想注册表中添加的内容等信息[入口] |
DDInstall.Services 仅适用于Windows 2000 |
指明驱动程序安装的详细信息 |
String |
指明一系列字符串 |
1Version节
Version节通常作为INF文件的开始,下表列出了其包含的各项。所有INF文件都必须含有Version节及其Signature项
Version节中的各项
项 |
说明 |
Signature |
指明驱动程序的签名,其取值为:$Windows NT$、$Windows 95$、$Chicago$,必须 |
Class |
指明驱动程序所属的类别,可选 |
ClassGuid |
指明设备类的GUID,其格式为:{nnnnnnnn-nnnn-nnnn-nnnnnnnnnnnn},系统中已经定义,可选 |
Provider |
指明该INF文件的供应商,可选 |
LayoutFile |
仅由操作系统内部提供的INF文件使用[一般只用于系统自带的INF文件。用于指定源盘和文件路径等信息],可选 |
CatalogFile |
指明数字签名文件的文件名,其扩展名为.cat,可选 |
DriverVer |
指明驱动程序的版本信息,其格式为:mm/dd/yyyy[,x.y.v.z],可选 |
注:①n代表一个16进制数 |
下面对主要的各项进行详细介绍。
①.Signature项:指明驱动程序的签名。对于Windows 98和Windows 2000下的USB设备驱动程序,该项的取值通常为“$Chicago$”。
"$CHICAGO$" 表明这个inf文件可以用于windows 95以后的所有平台上,目前来说就是win98,winme,winnt4,win2k,winxp,win2k3。
"$Windows 95$" 表明这个inf文件可以用于windows 95以后的Win9x平台上,目前来说就是win98,winme。
"$Windows NT$" 表明这个inf文件可以用于WindowsNT系列的平台上,包括winnt4,win2k,winxp,win2k3。WIN9x系列的操作系统的SetupAPI将会拒绝执行这种类型的inf文件。
②.Class和ClassGuid项:指明驱动程序所属的设备类别及其GUID,其取值情况见下表。
常用设备类别及其GUID
Class |
ClassGuid |
说明 |
1394 |
6BDD1FC1-810F-11D0-BEC7-08002BE2092F |
1394主控制器 |
CDROM |
4D36E965-E325-11CE-BFC1-08002BE10318 |
CD-ROM驱动器 |
DiskDrive |
4D36E967-E325-11CE-BFC1-08002BE10318 |
磁盘驱动器 |
Display |
4D36E968-E325-11CE-BFC1-08002BE10318 |
显示适配器 |
FDC |
4D36E969-E325-11CE-BFC1-08002BE10318 |
软盘驱动器 |
HDC |
4D36E96A-E325-11CE-BFC1-08002BE10318 |
硬盘控制器 |
HIDClass |
745a17a0-74d3-11d0-b6fe-00a0c90f57da |
人机接口设备 |
Keyboard |
4D36E96B-E325-11CE-BFC1-08002BE10318 |
键盘 |
Modem |
4d36e96c-e325-11ce-bfc1-08002be10318 |
调制解调器 |
Monitor |
4d36e96e-e325-11ce-bfc1-08002be10318 |
监视器 |
Mouse |
4d36e96f-e325-11ce-bfc1-08002be10318 |
鼠标 |
Net |
4d36e972-e325-11ce-bfc1-08002be10318 |
网络适配器 |
Ports |
4d36e978-e325-11ce-bfc1-08002be10318 |
端口(COM&LPT) |
Printer |
4d36e979-e325-11ce-bfc1-08002be10318 |
打印机 |
System |
4d36e97d-e325-11ce-bfc1-08002be10318 |
系统设备 |
TapeDrive |
6D807884-7D21-11CF-801C-08002BE10318 |
磁带驱动器 |
USB |
36FC9E60-C465-11CF-8056-444553540000 |
USB |
③.DriverVer项:指明驱动程序的版本信息。其“mm/dd/yyyy”代表月/日/年;“x.y.v.z”代表驱动程序的版本号,它是可选的。
2.SourceDiskNames节
SourceDiskNames节指明设备驱动程序所在的磁盘或CD-ROM(如果是软件发布包则只需要描述接口),其各项的格式如下:
diskid=disk-description,disk-label,disk-serial-number (Windows 98)
diskid=disk-description[,[tagfile][,unused,path]] (Windows 2000)
其中,“disked”指出磁盘驱动器的编号,它是正整型数,通常从1开始,且不能重复;“disk-description”表示磁盘的描述信息,他通常为一个字符串。
对于Windows 98,“disk-label”指出磁盘的卷标;“disk-serial-numbe”指出磁盘的序列号。
对于Windows 2000,“tagfile”指出磁盘标签文件的文件名;“unused”保留未用;“path”指出驱动程序所在的路径;“[ ]”表示可选参数。
eg:
1="Codec4WMP Files","Code4WMP.cab",,"i386"
3.SourceDiskFiles节
SourceDiskFiles节指明设备驱动程序的文件名(软件发布包文件名),其各项格式如下:
filename=diskid[,subdir] (Windows 98)
filename=diskid[,[,subdir][,size]] (Windows 2000)
其中
“filename”指出驱动程序的文件名
“diskid”指出磁盘驱动器的编号
“subdir”指出该文件在磁盘上的路径
“size”指出该文件未经压缩时的大小,以字节为单位。
针对软件发布包可以只指定diskid即可
eg:
"Code4WMP.cab"=1
4.DestinationDirs节
DestinationDirs节指明INF文件和设备驱动程序的目标目录。
当INF文件使用CopyFiles、DelFiles、RenFiles指令时,则必须包含该节。其各项的格式如下:
DefaultDestDir=dirid[,subdir]
File-list-section=dirid[,subdir]
其中
“DefaultDestDir”是一个项名称,代表文件复制、删除、重命名操作的缺省的目标目录;“file-list-section”指出CopyFiles、DelFiles、RenFiles指令所引用的节;“dirid”指出目标目录值,见下表
“subdir”指出dirid目录下的子目录
-1至 32767及65535的数字为系统已定义的逻辑磁盘标
DestinationDirs节中的常用dirid
具体详细信息
%10% Windows C:\Windows
%11% System32 C:\Windows\system32
%12% Drivers C:\Windows\system32\drivers
%17% inf C:\Windows\inf
%18% Help C:\Windows\Help
%20% Fonts C:\Windows\Fonts
%21% Viewers C:\Windows\system32\viewers
%23% Color C:\Windows\system32\spool\drivers\color
%24% Apps C:\
%25% Shared C:\Windows
%30% Boot C:\
%50% System16 C:\Windows\system
%51% Spool C:\Windows\system32\spool
%52% Spooldrivers C:\Windows\system32\spool\drivers\w32x86
%53% Userprofile C:\Documents and Settings\username
%54% Loader C:\
%55% Printprocessor C:\Windows\system32\spool\Prtprocs\w32x86
%16406% All Users\Start Menu C:\Documents and Settings\All Users\Start Menu
%16407% All Users\Start Menu\Programs C:\Documents and Settings\All Users\Start Menu\Programs
%16408% All Users\Start Menu\Programs\Startup C:\Documents and Settings\All Users\Start Menu\Programs\Startup
%16409% All Users\Desktop C:\Documents and Settings\All Users\Desktop
%16