最新消息: USBMI致力于为网友们分享Windows、安卓、IOS等主流手机系统相关的资讯以及评测、同时提供相关教程、应用、软件下载等服务。

windows驱动inf文件详解

IT圈 admin 55浏览 0评论

2023年12月5日发(作者:夫天慧)

windows驱动inf文件详解

INF文件是一个文本文件,由许多按层次结构排列的节组成,他们以方括号中的节名称开始,如[Version]、[Manufacturer]等,后面是改接所含有的各个项,

如Signature、DriverVer等。节中各项的基本定义格式为:

entry=value[,value…]

其中,“entry”标示项名称,“value”标示该想的取值。节名和项名称都不区分大小写,且对于Windows 98,其必须小于28个字符;对于Windows 2000,其长

度的最大值为255个字节。下表是INF文件中常用的节。

INF文件中常用的节

Version

SourceDisksNames

SourceDisksFiles

Destination

Manufacturer

Models

Install(Windows 98)

Install(Windows 2000)

es

仅适用于Windows 2000

String

n节

Version节通常作为INF文件的开始,下表列出了其包含的各项。所有INF文件都必须含有Version节及其Signature项。

Version节中的各项

Signature

Class

ClassGuid

Provider

LayoutFile

CatalogFile

DriverVer

说明

指明驱动程序的签名,其取值为:$Windows NT$、$Windows 95$、$Chicago$、

指明驱动程序所属的类别

指明设备类的GUID,其格式为:{nnnnnnnn-nnnn-nnnn-nnnnnnnnnnnn}

指明该INF文件的供应商

仅由操作系统内部提供的INF文件使用

指明数字签名文件的文件名,其扩展名为.cat

指明驱动程序的版本信息,其格式为:mm/dd/yyyy[,x.y.v.z]

说明

INF文件的开始

指明去的那个程序所在的磁盘或CD-ROM

指明驱动程序的文件名

指明INF文件和驱动程序的目标文件

指明供应商及其对应Models节的名称

指明Install/DDInstall节的名称、设备的硬件ID等信息

指明需复制的文件、想注册表中添加的内容等信息

指明驱动程序安装的详细信息

指明一系列字符串

注:①n代表一个16进制数

下面对主要的各项进行详细介绍。

①.Signature项:指明驱动程序的签名。对于Windows 98和Windows 2000下的USB设备驱动程序,该项的取值通常 为“$Chicago$”。

②.Class和ClassGuid项:指明驱动程序所属的设备类别及其GUID,其取值情况见下表。

常用设备类别及其GUID

Class

1394

CDROM

DiskDrive

Display

FDC

HDC

ClassGuid

6BDD1FC1-810F-11D0-BEC7-08002BE2092F

4D36E965-E325-11CE-BFC1-08002BE10318

4D36E967-E325-11CE-BFC1-08002BE10318

4D36E968-E325-11CE-BFC1-08002BE10318

4D36E969-E325-11CE-BFC1-08002BE10318

4D36E96A-E325-11CE-BFC1-08002BE10318

说明

1394主控制器

CD-ROM驱动器

磁盘驱动器

显示适配器

软盘驱动器

硬盘控制器

HDC

HIDClass

Keyboard

Modem

Monitor

Mouse

Net

Ports

Printer

System

TapeDrive

USB

4D36E96A-E325-11CE-BFC1-08002BE10318

745a17a0-74d3-11d0-b6fe-00a0c90f57da

4D36E96B-E325-11CE-BFC1-08002BE10318

4d36e96c-e325-11ce-bfc1-08002be10318

4d36e96e-e325-11ce-bfc1-08002be10318

4d36e96f-e325-11ce-bfc1-08002be10318

4d36e972-e325-11ce-bfc1-08002be10318

4d36e978-e325-11ce-bfc1-08002be10318

4d36e979-e325-11ce-bfc1-08002be10318

4d36e97d-e325-11ce-bfc1-08002be10318

6D807884-7D21-11CF-801C-08002BE10318

36FC9E60-C465-11CF-80000

硬盘控制器

人机接口设备

键盘

调制解调器

监视器

鼠标

网络适配器

端口(COM&LPT)

打印机

系统设备

磁带驱动器

USB

③.DriverVer项:指明驱动程序的版本信息。其“mm/dd/yyyy”代表月/日/年;“x.y.v.z”代表驱动程序的版本号,它是可选的。

DiskNames节

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”指出驱动程序所在的路径;“[ ]”表示可选参数。

DiskFiles节

SourceDiskFiles节指明设备驱动程序的文件爱你名,其各项格式如下:

filename=diskid[,subdir] (Windows 98)

filename=diskid[,[,subdir][,size]] (Windows 2000)

其中,“filename”指出驱动程序的文件名;“diskid”指出磁盘驱动器的编号;“subdir”指出该文件在磁盘上的路 径;“size”指出该文件未经

压缩时的大小,以字节为单位。

ationDirs节

DestinationDirs节指明INF文件和设备驱动程序的目标目录。当INF文件使用CopyFiles、DelFiles、RenFiles指令时,则必须包含该节。

其各项的格式如下:

DefaultDestDir=dirid[,subdir]

File-list-section=dirid[,subdir]

其中,“DefaultDestDir”是一个项名称,代表文件复制、删除、重命名操作的缺色很难干目标目录;“file-list-section”指出CopyFiles、

DelFiles、RenFiles指令所引用的节;“dirid”指出目标目录值,见下表;“subdir”指出dirid目录下的子目录。

DestinationDirs节中的常用dirid

dirid

10

11

目标目录

Windows目录:%windir%

系统目录

Windows 98:%windir%/system

dirid

17

18

20

目标目录

INF目录

帮助目录

字体目录

Windows 2000:%windir%/system32

驱动程序目录

12

13

14

15

16

Windows 98:%windir%/system/IoSubsys

Windows 2000:%windir%/system32/drivers

命令目录(Windows98)

控制面板目录(Windows98)

打印机目录(Windows98)

工作组目录(Windows98)

23

24

25

50

54

55

颜色目录

应用程序目录(Windows2000)

共享目录

%windir%/system(Windows2000)

和所在的目录

(Windows2000)

打印处理器目录(Windows2000)

cturer节

Manufacturer节指明供应商及其对应Models接的名称,其各项的格式如下:

%strkey%=models-section-name

其中,“strkey”代表设备制造的名字,其字符串值在String节中定义;“models-section-name”指出Models节的名称。

Models节指明Install/DDInstall节的名称、设备的硬件ID和兼容ID等信息,其节名称由Manufacturer节指定。其各项的格式如下:

device-description=install-section-name,hw-id[,compatiable-id…]

其中,“device-description”指出设备的表述信息,他可以是一个字符串,也可以使一个%strkey%;“install-section-name”指出

Install/DDInstall节的名称;“hw-id”指出设备的硬件ID;“compatiable-id”指出设备的兼容ID。

l/DDInstall节

Install/DDInstall节指明需复制的文件、想注册表中添加的内容等信息,其节名称由Models节指定。下表列出了其包含的常用项。

Install/DDInstall节中的常用项

DriverVer

CopyFiles

AddReg

Include

Needs

Delfiles

RenFiles

DelReg

说明

指明驱动程序的版本信息,格式为:mm/dd/yyyy[,x.y.z]

指明需复制的文件,格式为:

CopyFiles=@filename|file-list-section[,file-list-section]...

指明向注册表中添加的其他INF文件按,格式为:

AddReg=add-registry-section[,add-registry-section]…

指明安装时需要的其他INF文件,格式为:

Include=[,]…

指明安装时所需的特定INF文件,格式为:

Needs=inf-section-name[,inf-section-name]…

指明需删除的文件,格式为:

Delfiles=inf-section-name[,inf-section-name]…

指明需重命名的文件,格式为:

Renfiles=inf-section-name[,inf-section-name]…

指明需删除的注册表内容,格式为:

DelReg=del-registry-section[,del-registry-section]…

Install/DDInstall节中的常用项的详细介绍。

①CopyFiles项:它是Install/DDInstall节中的一个基本指令,用于指明需要复制的文件。其“filename”指出目标文件名;“file-list-section”是

其创建的文件列表节,该节格式为

[file-list-section]

destination-file-name[,source-file-name][,temporary-file-name][,flag]

其中,“destination-file-name”指出目标文件名;“source-file-name”指出源文件名,如果其和目标文件名相同,则可忽略该参

数;“temporary-file-name”指出复制操作过程中所需要的临时文件名,他只适用于Windows 98;“flag”指出该文件的一些处理方法,其取之情

况如下表。

CopyFiles项中的flag参数

0x00000400

0x00000800

0x00000008

0x00000010

0x00001000

0x00002000

0x00000020

0x00000004

0x00000040

0x00000001

0x00000002

符号

COPYFLG_REPLACEONLY

COPYFLG_NODECOMP

COPYFLG_FORCE_FILE_IN_USE

COPYFLG_NO_OVERWRITE

COPYFLG_REPLACE_BOOT_FILE

COPYFLG_NOPRUNE

COPYFLG_NO_VERSION_DIALOG

COPYFLG_NOVERSIONCHECK

COPYFLG_OVERWRITE_ORDER_ONLY

COPYFLG_WARN_IF_SKIP

COPYFLG_NOSKIP

说明

仅替换目标目录中的文件

复制并不解压缩

将源文件赋值为临时文件名,以重新命名

不替换原有文件

强制用户重新引导系统

强制复制文件

不覆盖新版本的文件

可覆盖任何版本的文件

仅覆盖旧版本的文件

当用户跳过文件时发出警告

不允许用户跳过文件

②AddReg项:它是Install/DDInstall节所必须包含的指令,用于指明需项注册表中添加的内容。其“add-registry-section”是它创建的添加注

册表节,该节的格式为

[add-registry-section]

reg-root, [subkey], [value-entry-name], [flags], [value]

其中,“reg-root”指出注册表树的根目录,它的取值在下表中;“subkey”指出reg-root下的子目录(或称子键);“value-entry-name”指出要

增加的注册表值;“flags”指出其对注册表的一些处理方法,取值在下面的flags表中;“value”指出新增加注册表值的数据。

AddReg项中的reg-root参数

HKCR

HKCU

HKLM

HKU

HKR

AddReg项中的flags参数

0x00000000

0x00000001

0x00000002

0x00000004

0x00000010

0x00000020

0x00010000

0x00000008

0x00020000

0x00010001

符号

FLG_ADDREG_TYPE_SZ

FLG_ADDREG_BINVALUETYPE

FLG_ADDREG_NOCLOBBER

FLG_ADDREG_DELVAL

FLG_ADDREG_KEYONLY

FLG_ADDREG_OVERWRITEONLY

FLG_ADDREG_TYPE_MULTI_SZ

FLG_ADDREG_APPEND

FLG_ADDREG_TYPE_EXPEND_SZ

FLG_ADDREG_TYPE_DWORD

说明

value为REG_SZ类型

value为2进制数据

不替换已有注册表中的value

从注册表中删除subkey或

value-entry-name

仅建立subkey,忽略value-entry-name

和value

仅当value-entry-name时替换value

value为REG_MULTI_SZ类型

添加value至已有注册表值

value为REG_EXPAND_SZ类型

value为REG_DWORD类型

说明

HKEY_CLASSES_ROOT

HKEY_CURRENT_USER

HKEY_LOCAL_MACHINE

HKEY_USER

被安装设备的注册表键

0x00020001FLG_ADDREG_TYPE_NONEvalue为REG_NONE类型(Windows2000)

③DelFiles项:它是Install/DDInstall节中的可选指令,用于指明需删除的文件。其“file-list-section”是它创建的文件列表节,该节的格式为

[file-list-section]

destination-file-name[,,,flag]

其中,“destination-file-name”指出目标文件名;“flag”指出该文件的一些处理方法,其取值如下表。

DelFiles项中的flag参数

0x0000001

0x0001000

符号

DELFLG_IN_USE

DELFLG_IN_USE1

说明

在其安装处理操作完成后再删除该文件

功能与DELFLG_IN_USE一样,仅适用Windows2000

④RenFiles项:它是Install/DDInstall节中的可选指令,用于指明需重命名的文件。其“file-list-section”是它创建的文件列表节,该节的格式

[file-list-section]

new-dest-file-name, old-source-file-name

其中,“new-dest-file-name”指出该文件的新文件名;“old-source-file-name”指出其原有文件名。

⑤DelReg项:它是Install/DDInstall节中的可选指令,用于指明需从注册表中删除的内容。其“del-registry-section”是它创建的删除注册表

节,该节的格式为

[del-registry-section]

reg-root, subkey [,value-entry-name]

其中,“reg-root”指出该注册表树中的根目录,取值与AddReg的ret-root相同; “subkey”指出reg-root下的子目录(或称子键);“value-

entry-name”指出要删除的注册表值。

es节

es节指明驱动程序安装的详细信息,他只是用于Windows 2000.他的节名称为[es],其“install-

section-name”由Models节指定。下表列出了其包含的常用项。

es节中的常用项

AddService

说明

控制驱动程序的安装过程,格式为

AddService=ServiceName,[flags],service-install-section

[,event-log-install-section[,[EventLogType][,EventName]]]…

DelService

Include

Needs

删除一个或多个已有的驱动程序,格式为

DelService=ServiceName [,[flags][,[EventLogType][,EventName]]]…

指明安装时所需的其他INF文件,格式为

Include = [,]…

之敏感转世所需要的特定INF文件,格式为

Needs = inf-section-name[,inf-section-name]…

主要项进行详细介绍。

①AddService项:它是es节所必须包含的指令,用于控制设备驱动程序的安装过程。其“ServiceName”指出驱动程序的名

字;“flags”指出一个或多个系统定义的标识,其取值情况如下表;“event-log-install-section”是其创建的事件日志安装,下表中列出了该节所

包含的常用项;“service-install-section”是其创建的服务安装节,下表中列出了该节所包含的常用项;“EventLogType”指出事件日志的类

型,其取值为System、Security和Application;“EventName”指出事件日志的名字。

AddService项的常用flags参数

0x00000002

0x00000008

0x00000100

0x00000010

0x00000020

符号

SPSVCINST_ASSOCSERVICE

SPSVCINST_NOCLOBBER_DISPLAYNAME

SPSVCINST_NOCLOBBER_DESCRIPTION

SPSVCINST_NOCLOBBER_STARTTYPE

SPSVCINST_NOCLOBBER_ERRORCONTROL

说明

指明其为PnP功能驱动程序

不覆盖指定服务的名字

不覆盖指定服务的描述

不覆盖指定服务的启动类型

不覆盖指定服务的差错控制值

event-log-install-section节中的常用项

AddReg

DelReg

BitReg

DisplayName

Description

ServiceType

StartType

ErrorControl

ServiceBinary

说明

指明向注册表中添加的内容,格式如下

AddReg=add-registry-section[,add-registry-section]…

指明需删除的注册表内容,格式如下

DelReg=del-registry-section[,del-registry-section]…

有效但几乎无用,格式如下

BitReg=bit-registry-section[,bit-registry-section]…

驱动程序的名字,为字符串值

驱动程序的描述,为字符串值

驱动程序的类型,为特定16进制数

驱动程序的启动类型,为特定16进制数

驱动程序的差错控制级别,为特定16进制数

驱动程序的完整路径名:%dirid% /filename

以下是对event-log-install-section节中的常用项的主要项进行详细介绍。

<1>ServiceType项:指明驱动程序的类型,取值情况如下表。

ServiceType项的取值

0x00000001

0x00000002

0x00000010

0x00000020

符号

SERVICE_BOOT_START

SERVICE_KERNEL_FILE_SYSTEM_DRIVER

SERVICE_WIN32_OWN_PROCESS

SERVICE_WIN32_SHARE_PROCESS

说明

内核模式驱动程序

上层网络驱动程序或文件系统

Win32应用程序

Win32应用程序

<2>StartType项:指明驱动程序的启动类型,其取值情况如下表。

StartType项的取值

0x0

0x1

0x2

0x3

0x4

符号

SERVICE_BOOT_START

SERVICE_SYSTEM_START

SERVICE_AUTO_START

SERVICE_DEMAND_START

SERVICE_DISABLE

说明

由操作系统加载程序启动

由操作系统初始化过程中启动

由服务控制管理器启动

由PnP管理器或服务控制管理器按需启动

禁止启动

<3>ErrorControl项:指明驱动程序的差错控制级别,其取值情况如下表。

ErrorControl项的取值

0x0

0x1

0x2

0x3

符号

SERVICE_ERROR_IGNORE

SERVICE_ERROR_NORMAL

SERVICE_ERROR_SERVICE

SERVICE_ERROR_CRITICAL

说明

不显示警告信息

显示警告信息

当驱动程序加载失败时,系统将使用其注册的LastKnownGood重试,并

忽略其后的错误

当驱动程序加载失败时,系统将使用其注册的LastKnownGood重试,并

对其后的错误进行检验

②DelService项:它是e节中的可选指令,用于删除一个或多个已有的设备驱动程序。其“ServiceName”指出驱动程序的名

字;“flags”指出一个或多个系统定义的标识,取值见下表;“EventLogType”指出事件日志的类型,其取值为System、Security或

Application;“EventName”指出事件日志的名字。

DelService项的flags参数

符号

SPSVCINST_DELETEEVENTLOGENTRY

SPSVCINST_STOPSERVICE

说明

删除与ServiceName有关的事件日志

在删除之前首先停止服务

String节指明一些列字符串,其所含各项的格式为

strkey=[“]some string[“]

其中,“strkey”指出字符串的名字,它只能包含字母和数字;“some string”为字符串的内容。

2023年12月5日发(作者:夫天慧)

windows驱动inf文件详解

INF文件是一个文本文件,由许多按层次结构排列的节组成,他们以方括号中的节名称开始,如[Version]、[Manufacturer]等,后面是改接所含有的各个项,

如Signature、DriverVer等。节中各项的基本定义格式为:

entry=value[,value…]

其中,“entry”标示项名称,“value”标示该想的取值。节名和项名称都不区分大小写,且对于Windows 98,其必须小于28个字符;对于Windows 2000,其长

度的最大值为255个字节。下表是INF文件中常用的节。

INF文件中常用的节

Version

SourceDisksNames

SourceDisksFiles

Destination

Manufacturer

Models

Install(Windows 98)

Install(Windows 2000)

es

仅适用于Windows 2000

String

n节

Version节通常作为INF文件的开始,下表列出了其包含的各项。所有INF文件都必须含有Version节及其Signature项。

Version节中的各项

Signature

Class

ClassGuid

Provider

LayoutFile

CatalogFile

DriverVer

说明

指明驱动程序的签名,其取值为:$Windows NT$、$Windows 95$、$Chicago$、

指明驱动程序所属的类别

指明设备类的GUID,其格式为:{nnnnnnnn-nnnn-nnnn-nnnnnnnnnnnn}

指明该INF文件的供应商

仅由操作系统内部提供的INF文件使用

指明数字签名文件的文件名,其扩展名为.cat

指明驱动程序的版本信息,其格式为:mm/dd/yyyy[,x.y.v.z]

说明

INF文件的开始

指明去的那个程序所在的磁盘或CD-ROM

指明驱动程序的文件名

指明INF文件和驱动程序的目标文件

指明供应商及其对应Models节的名称

指明Install/DDInstall节的名称、设备的硬件ID等信息

指明需复制的文件、想注册表中添加的内容等信息

指明驱动程序安装的详细信息

指明一系列字符串

注:①n代表一个16进制数

下面对主要的各项进行详细介绍。

①.Signature项:指明驱动程序的签名。对于Windows 98和Windows 2000下的USB设备驱动程序,该项的取值通常 为“$Chicago$”。

②.Class和ClassGuid项:指明驱动程序所属的设备类别及其GUID,其取值情况见下表。

常用设备类别及其GUID

Class

1394

CDROM

DiskDrive

Display

FDC

HDC

ClassGuid

6BDD1FC1-810F-11D0-BEC7-08002BE2092F

4D36E965-E325-11CE-BFC1-08002BE10318

4D36E967-E325-11CE-BFC1-08002BE10318

4D36E968-E325-11CE-BFC1-08002BE10318

4D36E969-E325-11CE-BFC1-08002BE10318

4D36E96A-E325-11CE-BFC1-08002BE10318

说明

1394主控制器

CD-ROM驱动器

磁盘驱动器

显示适配器

软盘驱动器

硬盘控制器

HDC

HIDClass

Keyboard

Modem

Monitor

Mouse

Net

Ports

Printer

System

TapeDrive

USB

4D36E96A-E325-11CE-BFC1-08002BE10318

745a17a0-74d3-11d0-b6fe-00a0c90f57da

4D36E96B-E325-11CE-BFC1-08002BE10318

4d36e96c-e325-11ce-bfc1-08002be10318

4d36e96e-e325-11ce-bfc1-08002be10318

4d36e96f-e325-11ce-bfc1-08002be10318

4d36e972-e325-11ce-bfc1-08002be10318

4d36e978-e325-11ce-bfc1-08002be10318

4d36e979-e325-11ce-bfc1-08002be10318

4d36e97d-e325-11ce-bfc1-08002be10318

6D807884-7D21-11CF-801C-08002BE10318

36FC9E60-C465-11CF-80000

硬盘控制器

人机接口设备

键盘

调制解调器

监视器

鼠标

网络适配器

端口(COM&LPT)

打印机

系统设备

磁带驱动器

USB

③.DriverVer项:指明驱动程序的版本信息。其“mm/dd/yyyy”代表月/日/年;“x.y.v.z”代表驱动程序的版本号,它是可选的。

DiskNames节

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”指出驱动程序所在的路径;“[ ]”表示可选参数。

DiskFiles节

SourceDiskFiles节指明设备驱动程序的文件爱你名,其各项格式如下:

filename=diskid[,subdir] (Windows 98)

filename=diskid[,[,subdir][,size]] (Windows 2000)

其中,“filename”指出驱动程序的文件名;“diskid”指出磁盘驱动器的编号;“subdir”指出该文件在磁盘上的路 径;“size”指出该文件未经

压缩时的大小,以字节为单位。

ationDirs节

DestinationDirs节指明INF文件和设备驱动程序的目标目录。当INF文件使用CopyFiles、DelFiles、RenFiles指令时,则必须包含该节。

其各项的格式如下:

DefaultDestDir=dirid[,subdir]

File-list-section=dirid[,subdir]

其中,“DefaultDestDir”是一个项名称,代表文件复制、删除、重命名操作的缺色很难干目标目录;“file-list-section”指出CopyFiles、

DelFiles、RenFiles指令所引用的节;“dirid”指出目标目录值,见下表;“subdir”指出dirid目录下的子目录。

DestinationDirs节中的常用dirid

dirid

10

11

目标目录

Windows目录:%windir%

系统目录

Windows 98:%windir%/system

dirid

17

18

20

目标目录

INF目录

帮助目录

字体目录

Windows 2000:%windir%/system32

驱动程序目录

12

13

14

15

16

Windows 98:%windir%/system/IoSubsys

Windows 2000:%windir%/system32/drivers

命令目录(Windows98)

控制面板目录(Windows98)

打印机目录(Windows98)

工作组目录(Windows98)

23

24

25

50

54

55

颜色目录

应用程序目录(Windows2000)

共享目录

%windir%/system(Windows2000)

和所在的目录

(Windows2000)

打印处理器目录(Windows2000)

cturer节

Manufacturer节指明供应商及其对应Models接的名称,其各项的格式如下:

%strkey%=models-section-name

其中,“strkey”代表设备制造的名字,其字符串值在String节中定义;“models-section-name”指出Models节的名称。

Models节指明Install/DDInstall节的名称、设备的硬件ID和兼容ID等信息,其节名称由Manufacturer节指定。其各项的格式如下:

device-description=install-section-name,hw-id[,compatiable-id…]

其中,“device-description”指出设备的表述信息,他可以是一个字符串,也可以使一个%strkey%;“install-section-name”指出

Install/DDInstall节的名称;“hw-id”指出设备的硬件ID;“compatiable-id”指出设备的兼容ID。

l/DDInstall节

Install/DDInstall节指明需复制的文件、想注册表中添加的内容等信息,其节名称由Models节指定。下表列出了其包含的常用项。

Install/DDInstall节中的常用项

DriverVer

CopyFiles

AddReg

Include

Needs

Delfiles

RenFiles

DelReg

说明

指明驱动程序的版本信息,格式为:mm/dd/yyyy[,x.y.z]

指明需复制的文件,格式为:

CopyFiles=@filename|file-list-section[,file-list-section]...

指明向注册表中添加的其他INF文件按,格式为:

AddReg=add-registry-section[,add-registry-section]…

指明安装时需要的其他INF文件,格式为:

Include=[,]…

指明安装时所需的特定INF文件,格式为:

Needs=inf-section-name[,inf-section-name]…

指明需删除的文件,格式为:

Delfiles=inf-section-name[,inf-section-name]…

指明需重命名的文件,格式为:

Renfiles=inf-section-name[,inf-section-name]…

指明需删除的注册表内容,格式为:

DelReg=del-registry-section[,del-registry-section]…

Install/DDInstall节中的常用项的详细介绍。

①CopyFiles项:它是Install/DDInstall节中的一个基本指令,用于指明需要复制的文件。其“filename”指出目标文件名;“file-list-section”是

其创建的文件列表节,该节格式为

[file-list-section]

destination-file-name[,source-file-name][,temporary-file-name][,flag]

其中,“destination-file-name”指出目标文件名;“source-file-name”指出源文件名,如果其和目标文件名相同,则可忽略该参

数;“temporary-file-name”指出复制操作过程中所需要的临时文件名,他只适用于Windows 98;“flag”指出该文件的一些处理方法,其取之情

况如下表。

CopyFiles项中的flag参数

0x00000400

0x00000800

0x00000008

0x00000010

0x00001000

0x00002000

0x00000020

0x00000004

0x00000040

0x00000001

0x00000002

符号

COPYFLG_REPLACEONLY

COPYFLG_NODECOMP

COPYFLG_FORCE_FILE_IN_USE

COPYFLG_NO_OVERWRITE

COPYFLG_REPLACE_BOOT_FILE

COPYFLG_NOPRUNE

COPYFLG_NO_VERSION_DIALOG

COPYFLG_NOVERSIONCHECK

COPYFLG_OVERWRITE_ORDER_ONLY

COPYFLG_WARN_IF_SKIP

COPYFLG_NOSKIP

说明

仅替换目标目录中的文件

复制并不解压缩

将源文件赋值为临时文件名,以重新命名

不替换原有文件

强制用户重新引导系统

强制复制文件

不覆盖新版本的文件

可覆盖任何版本的文件

仅覆盖旧版本的文件

当用户跳过文件时发出警告

不允许用户跳过文件

②AddReg项:它是Install/DDInstall节所必须包含的指令,用于指明需项注册表中添加的内容。其“add-registry-section”是它创建的添加注

册表节,该节的格式为

[add-registry-section]

reg-root, [subkey], [value-entry-name], [flags], [value]

其中,“reg-root”指出注册表树的根目录,它的取值在下表中;“subkey”指出reg-root下的子目录(或称子键);“value-entry-name”指出要

增加的注册表值;“flags”指出其对注册表的一些处理方法,取值在下面的flags表中;“value”指出新增加注册表值的数据。

AddReg项中的reg-root参数

HKCR

HKCU

HKLM

HKU

HKR

AddReg项中的flags参数

0x00000000

0x00000001

0x00000002

0x00000004

0x00000010

0x00000020

0x00010000

0x00000008

0x00020000

0x00010001

符号

FLG_ADDREG_TYPE_SZ

FLG_ADDREG_BINVALUETYPE

FLG_ADDREG_NOCLOBBER

FLG_ADDREG_DELVAL

FLG_ADDREG_KEYONLY

FLG_ADDREG_OVERWRITEONLY

FLG_ADDREG_TYPE_MULTI_SZ

FLG_ADDREG_APPEND

FLG_ADDREG_TYPE_EXPEND_SZ

FLG_ADDREG_TYPE_DWORD

说明

value为REG_SZ类型

value为2进制数据

不替换已有注册表中的value

从注册表中删除subkey或

value-entry-name

仅建立subkey,忽略value-entry-name

和value

仅当value-entry-name时替换value

value为REG_MULTI_SZ类型

添加value至已有注册表值

value为REG_EXPAND_SZ类型

value为REG_DWORD类型

说明

HKEY_CLASSES_ROOT

HKEY_CURRENT_USER

HKEY_LOCAL_MACHINE

HKEY_USER

被安装设备的注册表键

0x00020001FLG_ADDREG_TYPE_NONEvalue为REG_NONE类型(Windows2000)

③DelFiles项:它是Install/DDInstall节中的可选指令,用于指明需删除的文件。其“file-list-section”是它创建的文件列表节,该节的格式为

[file-list-section]

destination-file-name[,,,flag]

其中,“destination-file-name”指出目标文件名;“flag”指出该文件的一些处理方法,其取值如下表。

DelFiles项中的flag参数

0x0000001

0x0001000

符号

DELFLG_IN_USE

DELFLG_IN_USE1

说明

在其安装处理操作完成后再删除该文件

功能与DELFLG_IN_USE一样,仅适用Windows2000

④RenFiles项:它是Install/DDInstall节中的可选指令,用于指明需重命名的文件。其“file-list-section”是它创建的文件列表节,该节的格式

[file-list-section]

new-dest-file-name, old-source-file-name

其中,“new-dest-file-name”指出该文件的新文件名;“old-source-file-name”指出其原有文件名。

⑤DelReg项:它是Install/DDInstall节中的可选指令,用于指明需从注册表中删除的内容。其“del-registry-section”是它创建的删除注册表

节,该节的格式为

[del-registry-section]

reg-root, subkey [,value-entry-name]

其中,“reg-root”指出该注册表树中的根目录,取值与AddReg的ret-root相同; “subkey”指出reg-root下的子目录(或称子键);“value-

entry-name”指出要删除的注册表值。

es节

es节指明驱动程序安装的详细信息,他只是用于Windows 2000.他的节名称为[es],其“install-

section-name”由Models节指定。下表列出了其包含的常用项。

es节中的常用项

AddService

说明

控制驱动程序的安装过程,格式为

AddService=ServiceName,[flags],service-install-section

[,event-log-install-section[,[EventLogType][,EventName]]]…

DelService

Include

Needs

删除一个或多个已有的驱动程序,格式为

DelService=ServiceName [,[flags][,[EventLogType][,EventName]]]…

指明安装时所需的其他INF文件,格式为

Include = [,]…

之敏感转世所需要的特定INF文件,格式为

Needs = inf-section-name[,inf-section-name]…

主要项进行详细介绍。

①AddService项:它是es节所必须包含的指令,用于控制设备驱动程序的安装过程。其“ServiceName”指出驱动程序的名

字;“flags”指出一个或多个系统定义的标识,其取值情况如下表;“event-log-install-section”是其创建的事件日志安装,下表中列出了该节所

包含的常用项;“service-install-section”是其创建的服务安装节,下表中列出了该节所包含的常用项;“EventLogType”指出事件日志的类

型,其取值为System、Security和Application;“EventName”指出事件日志的名字。

AddService项的常用flags参数

0x00000002

0x00000008

0x00000100

0x00000010

0x00000020

符号

SPSVCINST_ASSOCSERVICE

SPSVCINST_NOCLOBBER_DISPLAYNAME

SPSVCINST_NOCLOBBER_DESCRIPTION

SPSVCINST_NOCLOBBER_STARTTYPE

SPSVCINST_NOCLOBBER_ERRORCONTROL

说明

指明其为PnP功能驱动程序

不覆盖指定服务的名字

不覆盖指定服务的描述

不覆盖指定服务的启动类型

不覆盖指定服务的差错控制值

event-log-install-section节中的常用项

AddReg

DelReg

BitReg

DisplayName

Description

ServiceType

StartType

ErrorControl

ServiceBinary

说明

指明向注册表中添加的内容,格式如下

AddReg=add-registry-section[,add-registry-section]…

指明需删除的注册表内容,格式如下

DelReg=del-registry-section[,del-registry-section]…

有效但几乎无用,格式如下

BitReg=bit-registry-section[,bit-registry-section]…

驱动程序的名字,为字符串值

驱动程序的描述,为字符串值

驱动程序的类型,为特定16进制数

驱动程序的启动类型,为特定16进制数

驱动程序的差错控制级别,为特定16进制数

驱动程序的完整路径名:%dirid% /filename

以下是对event-log-install-section节中的常用项的主要项进行详细介绍。

<1>ServiceType项:指明驱动程序的类型,取值情况如下表。

ServiceType项的取值

0x00000001

0x00000002

0x00000010

0x00000020

符号

SERVICE_BOOT_START

SERVICE_KERNEL_FILE_SYSTEM_DRIVER

SERVICE_WIN32_OWN_PROCESS

SERVICE_WIN32_SHARE_PROCESS

说明

内核模式驱动程序

上层网络驱动程序或文件系统

Win32应用程序

Win32应用程序

<2>StartType项:指明驱动程序的启动类型,其取值情况如下表。

StartType项的取值

0x0

0x1

0x2

0x3

0x4

符号

SERVICE_BOOT_START

SERVICE_SYSTEM_START

SERVICE_AUTO_START

SERVICE_DEMAND_START

SERVICE_DISABLE

说明

由操作系统加载程序启动

由操作系统初始化过程中启动

由服务控制管理器启动

由PnP管理器或服务控制管理器按需启动

禁止启动

<3>ErrorControl项:指明驱动程序的差错控制级别,其取值情况如下表。

ErrorControl项的取值

0x0

0x1

0x2

0x3

符号

SERVICE_ERROR_IGNORE

SERVICE_ERROR_NORMAL

SERVICE_ERROR_SERVICE

SERVICE_ERROR_CRITICAL

说明

不显示警告信息

显示警告信息

当驱动程序加载失败时,系统将使用其注册的LastKnownGood重试,并

忽略其后的错误

当驱动程序加载失败时,系统将使用其注册的LastKnownGood重试,并

对其后的错误进行检验

②DelService项:它是e节中的可选指令,用于删除一个或多个已有的设备驱动程序。其“ServiceName”指出驱动程序的名

字;“flags”指出一个或多个系统定义的标识,取值见下表;“EventLogType”指出事件日志的类型,其取值为System、Security或

Application;“EventName”指出事件日志的名字。

DelService项的flags参数

符号

SPSVCINST_DELETEEVENTLOGENTRY

SPSVCINST_STOPSERVICE

说明

删除与ServiceName有关的事件日志

在删除之前首先停止服务

String节指明一些列字符串,其所含各项的格式为

strkey=[“]some string[“]

其中,“strkey”指出字符串的名字,它只能包含字母和数字;“some string”为字符串的内容。

发布评论

评论列表 (0)

  1. 暂无评论