首页 USB的.inf文件详解

USB的.inf文件详解

举报
开通vip

USB的.inf文件详解 INF 文件详解 INF 文件格式要求 一个 INF 文件是以段组织的简单的文本文件。一些段油系统定义(System-Defined)的名称,而另一些段 由 INF 文件的编写者命名。每个段包含特定的条目和命名,这些命名用于引用 INF 文件其它地方定义的附 加段。 INF 文件的语法规则: 1、 要求的内容:在特定的 INF 文件中所要求的必选段和可选段、条目及命令依赖于所要安装的设备组件。 端点顺序可以是任意的,大多数的 INF 文件安装惯用的次序来安排各个段。 2、 段名:INF 文件的每...

USB的.inf文件详解
INF 文件详解 INF 文件格式要求 一个 INF 文件是以段组织的简单的文本文件。一些段油系统定义(System-Defined)的名称,而另一些段 由 INF 文件的编写者命名。每个段包含特定的条目和命名,这些命名用于引用 INF 文件其它地方定义的附 加段。 INF 文件的语法规则: 1、 要求的 内容 财务内部控制制度的内容财务内部控制制度的内容人员招聘与配置的内容项目成本控制的内容消防安全演练内容 :在特定的 INF 文件中所要求的必选段和可选段、条目及命令依赖于所要安装的设备组件。 端点顺序可以是任意的,大多数的 INF 文件安装惯用的次序来安排各个段。 2、 段名:INF 文件的每个段从一个括在方括号[]中的段名开始。段名可以由系统定义或 INF 编写者定义 在 Windows 2000 中,段名的最大长度为 255 个字符。在 Windows 98 中,段名不应该超过 28 个字符。 如果 INF 设计 领导形象设计圆作业设计ao工艺污水处理厂设计附属工程施工组织设计清扫机器人结构设计 要在两个平台上运行,必须遵守最小的限制。段名、条目和命令不分大小写。在一个 INF 文件中如果有两个以上的段有相同的名字,系统将把其条目和命令合并成一个段。每个段以另一个新 段的开始或文件的结束为结束。 3、 使用串标记:在 INF 文件中的许多值,包括 INF 编写者定义的段名都可以标示成%strkey%形式的标记。 每个这样的 strkey 必须在 INF 文件的 Strings 段中定义为一系列显示可见字符组成的值。 4、 行格式、续行及注释:段中的每个条目或命令以回车或换行符结束。在条目或命令中,“\”可以没用 做一个显示的续行符;分好“;”标示后面的内容是注释;可以用都好“,”分隔条目和命令中提供的 多个值。 INF 文件举例 下面是一个完整的.inf 文件,它是 Windows 2000 DDK 提供的 USB 批量阐述驱动程序范例中所附的.inf 文件。 ; Installation inf for the Intel 82930 USB Bulk IO Test Board ; ; (c) Copyright 1999 Microsoft ; [Version] Signature="$CHICAGO$" Class=USB ClassGUID={36FC9E60-C465-11CF-8056-444553540000} provider=%MSFT% DriverVer=08/05/1999 [SourceDisksNames] 1="BulkUsb Installation Disk",,, [SourceDisksFiles] BULKUSB.sys = 1 BULKUSB.inf = 1 [Manufacturer] %MfgName%=Microsoft [Microsoft] %USB\VID_045E&PID_930A.DeviceDesc%=BULKUSB.Dev, USB\VID_045E&PID_930A ;[PreCopySection] ;HKR,,NoSetupUI,,1 [DestinationDirs] BULKUSB.Files.Ext = 10,System32\Drivers BULKUSB.Files.Inf = 10,INF [BULKUSB.Dev] CopyFiles=BULKUSB.Files.Ext, BULKUSB.Files.Inf AddReg=BULKUSB.AddReg [BULKUSB.Dev.NT] CopyFiles=BULKUSB.Files.Ext, BULKUSB.Files.Inf AddReg=BULKUSB.AddReg [BULKUSB.Dev.NT.Services] Addservice = BULKUSB, 0x00000002, BULKUSB.AddService [BULKUSB.AddService] DisplayName = %BULKUSB.SvcDesc% ServiceType = 1 ; SERVICE_KERNEL_DRIVER StartType = 3 ; SERVICE_DEMAND_START ErrorControl = 1 ; SERVICE_ERROR_NORMAL ServiceBinary = %10%\System32\Drivers\BULKUSB.sys LoadOrderGroup = Base [BULKUSB.AddReg] HKR,,DevLoader,,*ntkern HKR,,NTMPDriver,,BULKUSB.sys HKLM,"System\Currentcontrolset\Services\BulkUsb\Parameters","MaximumTransferSize",0x10001,4096 HKLM,"System\Currentcontrolset\Services\BulkUsb\Parameters","DebugLevel",0x10001,2 [BULKUSB.Files.Ext] BULKUSB.sys [BULKUSB.Files.Inf] BulkUsb.Inf ;---------------------------------------------------------------; [Strings] MSFT="Microsoft" MfgName="Intel" USB\VID_045E&PID_930A.DeviceDesc="BulkUsb.Sys Intel 82930 USB Bulk IO Test Board" BULKUSB.SvcDesc="BulkUsb.Sys i82930 Bulk IO test driver" INF 文件详解 从上面完整的例子来看,可以对 INF 文件有的一个总体的印象,包括 INF 文件中包括的段,以及各段 的书写格式。下面详细介绍组成 INF 文件的各个段。 1、[Version]段 习惯上,每个 INF文件都开始于一个 Version 段,这段确定文件中描述的设备类型,上述范例中的 Verson 段有如下几条语句: Signature=”$CHICAGO$” Class=USB ClassGUID={36FC9E60-C465-11CF-8056-444553540000} provider=%MSFT% DriverVer=08/05/1999 Signature 指定使用此 INF 文件的操作系统,可以是$Chicage$、$Windows NT$(含有一个空格)、 $Windows 95$(含有一个空格)之一,定界符$必不可少,且这些串是不分大小写的。如果 Signature 的值不 是这些有效的串之一,该 INF 文件就被人为无效。如果一个 INF 文件用来向 Windows 2000 和 Windows 98 两个平台上安装设备驱动程序,它必须通过 DDInstall 段来增加系统定义的扩展指定任意操作系统特有的 安装信息,而不管 Signature 是何值。 Class 指定设备的类名,此范例中指定的是 USB 类。ClassGuid 指定设备注册 关于同志近三年现实表现材料材料类招标技术评分表图表与交易pdf视力表打印pdf用图表说话 pdf 的 GUID,GUID 是一 个 128 位的标识符,DDK 头文件 DEVGUID.h 定义了 标准 excel标准偏差excel标准偏差函数exl标准差函数国标检验抽样标准表免费下载红头文件格式标准下载 设备类的 GUID。 Provide 标志该 INF 文件的提供者。%MSFT%的具体内容将在 Strings 段中定义,范例中的定义是 MSFT=”Microsoft”,表明该 INF 文件的提供者是 Microsoft。 DriverVer 条目提供整个 INF 文件的版本信息,在每个 Install 段中加上 DriverVer 条目,为驱动程序提 供版本信息。Install 段的驱动程序版本条目更具有专用性,并且比 Version 段的全局 DriverVer 条目日期具 有更高的优先级。当操作系统搜索驱动程序时,他会选择一个具有更近的 DriverVer 日期的驱动程序代替 一个较早的驱动程序。如果一个 INF 没有 DriverVer 条目,操作系统将会用缺省的日期 00/00/0000。 2、[SourceDiskNames]段 该段制定并且命名一个或多个包含源文件的磁盘,这些源文件用于文件拷贝或者重命名操作。该段可 以有任意条目,每个条目对应一个源盘。条目格式如下: disk=%strkey%|”disk-description”,[tagfile],[unused],[path] diskid 是标志一个源盘的非负整数。这个值可以是十六进制或者十进制的形式标示,但他不能占用多 余 4 个字节的存储单元。等式右边规定一个%strkey%标记或者一个引号引起来的串,描述由 diskid 所标示 盘符的内容或目的。在安装过程中安装程序可以给终端用户显示这个串值。TagFile 是一个可选的值,规定 一个所带磁盘上提供的特征文件名,不规定任何目录和子目录。安装程序使用特征文件核对用户插入正确 的安装盘。特征文件只能用于可移动的介质。 Unused 值不用在 Windows 2000 中,只用在 Windows 9x 中。Path 也是个可选项,用于标识磁盘上包 含源文件的目录路径。范例中 SourceDisksNames 段的内容如下: [SourceDiskNames] 1=”BulkUsb Installation Disk”… 范例规定源盘为磁盘 1,在安装期间,安装程序可以给终端用户显示字符串“BulkUsbInstallation Disk”。 3、[SourceDisksFiles]段 该段命名安装过程中所用的源文件,标志包含这些源文件的磁盘(或者 CD-ROM),并提供在所带磁盘 上包含的每个文件的目录路径。一个 SourcesDisksFiles 段可以有任意多条目,磁盘上每个文件都有一个条 目。它所包含的条目格式为 filename=disked[,[subdir][,size]]。 Filename 规定磁盘上源文件的名称;diskid 对顶一个整数来标志包含源文件的磁盘,即在 SourceDisksNames 段中规定的 diskid;subdir 是个可选值,它规定了源磁盘上的文件所在的子目录,如果 该条目省略,指定的源文件或者在给定磁盘的根目录中,或者在由 SourceDisksNames 段中的 path 条目所 指定的目录;size 也是个可选值,规定了给定文件的非压缩长度,其以字节标示。范例中 SourceDisksFiles 段的内容如下: [SourceDisksFiles] BULKUSB.sys=1 BULKUSB.inf=1 范例中为两个文件建立的条目,这两个文件都在磁盘 1 中,并且在根目录下。 4、[Manufacturer]段 该段标志一个或者多个用 INF 文件安装的设备的制造商,它也为制造商的设备即驱动程序的安装定义 Models 段名。每个 INF 文件都必须有 Manufacturer 段。 上述范例的 Manufacturer 段有一个条目: [Manufacturer] %MfgName%=Microsoft 在 Strings 段中可以找到%MfgName%定义的字符串,本范例中定义的是 MfgName=”Intel”,表明设备 制造商是 Intel。而 右边 Microsoft 也是制造商的 Models 段的段名。在 INF 中,为每个制造商的 Models 段 规定了一个 INF 编写者定义的名字,这个名称要在 Manufacturer 段中加以应用。范例中的制造商 Models 段如下: [Microsoft] %USB\VID_045E&PID_930A.DeviceDesc%=BULKUSB.Dev, USB\VID_045E&PID_930A 该段属于制造商的Models段,段名是由 INF编写者自行定义的,不属于系统段名。每个制造商的Models 段至少标识一个设备,并规定设备的厂商 ID(VID)和产品 ID(PID)同时引用这个设备 INF 文件的 Install 段。 该段也可以规定一个或者多个附加设备 ID,因为有多个与初始硬件 ID 所识别的设备兼容,同时由相同的 驱动程序驱动。当设备管理器发现从检测设备所得到的 ID,符号此段定义的 ID 时,设备管理器就知道找 到了正确的 INF 文件。 范例中规定了一个设备,设备的 VID 是 0x045E,而 PID 是 0x930A。VID 是由 USB 管理委员会给每 个 USB 芯片厂商统一分配的,例如 Philips 公司的 VID 是 0x0471,Cypres 公司的 VID 是 0x0547 等,范例 中的 VID 是 Intel 公司的。产品 ID(PID)是由各个厂商自己定义的,这里 VID0x930A 是 Intel 的一个 USB 批量传输的实验板。 范例中该条目等式右边的 BULKUSBDev 给设备标识了一个 INF 文件编写者定义的 Install 段。 5、[DestinationDirs]段 该段为所有的硬件拷贝、删除和改名操作规定目标目录。范例中的 DestinationDirs 段如下: [DestinatinDirs] BULKUSB.Files.Ext=10,System32\Drivers BULKUSB.Files.Inf=10.INF DestinationDirs 段中条目等式的左边规定 INF 文件编写者定义的段名,这些段中的文件将会被存入等 式右边指定的目录中,并且这些文件可以被 INF 文件中其他地方的 CopyFiles、RenFiles 和 DelFiles 命令引 用。例如,范例中这两个段的定义如下: [BULKUSB.Files.Ext] BULKUSB.sys [BULKUSB.Files.Inf] BULKUSB.Inf DestinationDirs 段中条目等号右边的 10 是一个逻辑磁盘标志符号(Logical Disk Identifier, LDID),它规 定了对文件操作的目标目录标识符,后面跟随的是子目录,作为文件操作的目标地址。范例中第一个文件 BULKUSB.sys 的目标地址是 WinNT\System32\Drivers;第二个文件 BULKUSB.Inf 的目标地址是 WinNT\INF。 DestinationDirs 段也可以包含一个缺省目标目录 DefaultDestDird 的条目,为所有对文件的拷贝、删除 和更名操作规定省略的目标路径,这些文件没有明确的列在其它条目所引用的文件列表中。Windows DDK 的 Device Information File Reference 文件有其他的 LDID 熟知的定义,如下表。 常用 LDID 定义 LDID 数值 目标目录 00 NULL LDID,此 LDID 可以用来创建新的 LDID 01 源磁盘驱动器:\路径 02 临时安装文件夹,只在安装期间有效 03 解除安装目录 10 Windows 目录 11 系统目录 12 IO 子系统目录 13 Command 目录 14 控制面板目录 15 打印机目录 16 工作类别目录 17 INF 目录 18 Help 目录 19 登记 20 字体 21 Viewers 22 VMM32 23 Color 目录 24 应用程序目录 25 共享目录 26 WinBoot 28 主机 Winboot 30 引导驱动器的根目录 31 虚拟引导驱动器的主机驱动器的根目录 5、 Install 段 Install 段包含指导安装程序安装所需软件的实际指示。该段必须在一个设备或者型号(Model)的条目中 引用。每个 Models 的每个 Install 段包括一个可选的 DriverVer 条目和一个或多个引用 INFormation 中附加 命令段的命令,这些命令索引用的段包含安装驱动程序文件及向注册表写入设备专用的和驱动程序专用信 息命令。这里,首先列出这个断的常用格式 [install-section-name] [install-section-name.nt] [install-section-name.ntx86] [DriverVer=mm/dd/yyyy] [CopyFiles=@filename|file-list-section] Addreg=add-registry-section [include=filename.inf] … … … … 首先,看到有 3 个可选的段名,在 Windows 9x 平台中,提供了一个无修饰的 Install 段名 [install-section-name] , 其 中 规 定 设 备 的 安 装 条 目 。 在 Windows 2000 平 台 中 , 提 供 相 应 的 [install-section-name.nt] 段名,如果还要限定在 x86 为基础的 Windows 2000 平台上,则提供 [install-section-name.ntx86]段名。设备安装程序将搜索最合适后缀的 install 段,例如,假设有 3 个 install 段,第一个无后缀,后两个分别带有.NT 和.NTx86 后缀。如果安装到 x86 平台上的 Windows 2000 中,安 装程序会使用.NTx86 段;如果安装到非 Intel 平台上运行的 Windows 2000 中,安装程序将使用.NT 段;如 果安装到 Windows 98 中,安装程序使用无后缀段。DriverStudioVer 条目就是前面叙述的版本信息。 ☆[CopyFiles=@filename|file-list-section]:或者指定一个要从源媒体拷贝到目标设备的文件名, 或者引用一个或多个 INFormation 编写者定义的段,其中列出了源媒体上要拷贝到目标设备的相关文件。 这个命令是可选的,但是大多数的段都包括这个命令。 ☆Addreg=add-registry-section:这个命令引用一个或多个 INFormation 编写者定义的段,其中规定 了要写入注册表的新的子键,这些新关键字可能有初始条目,在这些段中也可以修改 已有关键字的值。 范例中索引用的段如下: [BULKUSB.AddReg] HKR,,DevLoader,,*ntkern HKR,,NTMPDriver,,BULKUSB.sys HKLM,"System\Currentcontrolset\Services\BulkUsb\Parameters","MaximumTransferSize",0x10001,4096 HKLM,"System\Currentcontrolset\Services\BulkUsb\Parameters","DebugLevel",0x10001,2 HKLM 是注册表的根键,它是 HKEY_LOCAL_MACHINE 的缩写。而 HKR 与注册表关键字相关,最 适合于 AddReg 命令出现的地方。比如,注册表中每个设备的“硬件”子键:..\Enum\枚举器 ID\设备 ID, 与此相对的注册表中每个驱动程序指定的“软件”子键:..CLASS\类 GUID\设备 ID 等。除此之外还有 HKCR、 HKCU、HKLM 和 HKU。 前面所举范例的 Install 段如下: [BULKUSB.Dev] CopyFiles=BULKUSB.Files.Ext, BULKUSB.Files.Inf AddReg=BULKUSB.AddReg [BULKUSB.Dev.NT] CopyFiles=BULKUSB.Files.Ext, BULKUSB.Files.Inf AddReg=BULKUSB.AddReg 所需拷贝的两个文件在 INF 编写者定义的 BULKUSB.Files.Ext 和 BULKUSB.Files.Inf 段中,而要添加 到注册表的项目则在 BULKUSB.AddReg 段中。 6、 Install.Service 段 该段包含一个或者多个 AddService 命令,用以控制一个特定驱动程序的服务装在的时间按和方式,控 制本服务对其他服务和下一级驱动程序的依赖等,房里中的定义如下: BULKUSB.Dev.NT.Services] Addservice = BULKUSB, 0x00000002, BULKUSB.AddService 其中,BULKUSB 是指定的所需安装服务的名称。对于一个设备,这个值通常是该设备驱动程序的属 性。 0x00000002 是一个系统指定的标记 (Flag) ,不同的标记有不同的服务功能。最后一项 BULKUSB.AddService 是 INF 文件编写者定义的特定段,其中包括了所需添加的服务项目,其范例的定义 如下: [BULKUSB.AddService] DisplayName = %BULKUSB.SvcDesc% ServiceType = 1 ; SERVICE_KERNEL_DRIVER StartType = 3 ; SERVICE_DEMAND_START ErrorControl = 1 ; SERVICE_ERROR_NORMAL ServiceBinary = %10%\System32\Drivers\BULKUSB.sys LoadOrderGroup = Base 8、[Strings]段 [Strings]段就是字符串段。该段定义了其他段内所指定的字符串,段内的每一个项目都符合一个在其 他段内使用百分比符号(%)包括起来的字符串。范例中的定义如下: [Strings] MSFT="Microsoft" MfgName="Intel" USB\VID_045E&PID_930A.DeviceDesc="BulkUsb.Sys Intel 82930 USB Bulk IO Test Board" BULKUSB.SvcDesc="BulkUsb.Sys i82930 Bulk IO test driver" GenInf 软件生成 Inf 文件 Windows 2000DDK 提供了一个实用程序 GenInf,他可以生成 INF 文件。GenInf 是一个 INF 文件生成 向导工具,可以帮助用户产生一个自定义的 Windows 2000 驱动程序的 INF 文件。用户只需要按照向导的 提示填写必要的信息,他就可以自动生成一个 INF 文件。但是,GenInf 只能生成但结构的 INF 文件,而并 不支持多结构的 INF 文件。另外,GenInf 并不一定总是能够生成一个完成的或者功能完备的 INF 文件。因 此,用户号必须做一些必要的修改。 用 GenInf 生成 INF 文件之后,还可以使用 Windows 2000 DDK 提供的 ChkInf 实用程序来检查所生成 的 INF 文件的结构和语法是否正确。ChkInf 程序是一个 Perl Scrip,因此,需要由 Perl 解释器才能运行它。 检测的结果以 HTML 的格式保存,包括所有的错误和警告的列表。 bon 文本框 http://wenku.baidu.com/view/4f9d3eaad1f34693daef3e76.html
本文档为【USB的.inf文件详解】,请使用软件OFFICE或WPS软件打开。作品中的文字与图均可以修改和编辑, 图片更改请在作品中右键图片并更换,文字修改请直接点击文字进行修改,也可以新增和删除文档中的内容。
该文档来自用户分享,如有侵权行为请发邮件ishare@vip.sina.com联系网站客服,我们会及时删除。
[版权声明] 本站所有资料为用户分享产生,若发现您的权利被侵害,请联系客服邮件isharekefu@iask.cn,我们尽快处理。
本作品所展示的图片、画像、字体、音乐的版权可能需版权方额外授权,请谨慎使用。
网站提供的党政主题相关内容(国旗、国徽、党徽..)目的在于配合国家政策宣传,仅限个人学习分享使用,禁止用于任何广告和商用目的。
下载需要: 免费 已有0 人下载
最新资料
资料动态
专题动态
is_942366
暂无简介~
格式:pdf
大小:115KB
软件:PDF阅读器
页数:7
分类:互联网
上传时间:2011-06-17
浏览量:100