inf格式说明
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
INF是Device Information File(设备信息文件)的简称,设备管理器通过读取相应的INF文件来安装驱动程序,
其中记录了驱动程序安装的所有操作,包括复制文件到指定路径、添加或修改注册表、加载系统服务等,而实际的
驱动程序则存放在sys、dll、vxd等文件中。
\subsubsection{INF文件的规则}
\begin{description}
\item [规则一:] INF 文件是分节的,每一个 INF 文件有许多的节组成,节名用方括号括起来。这些节名有些是系统定义好的,有一些是用户自定义的。每一个节名最长为255个字符(Windows 2000/XP/2003操作系统中)或28个字符(Windows 98操作系统中)。节与节之间没有先后顺序的区别,另外,同一个INF文件中如果出现两个同样的节名,则系统会自动将这两个节名下面的条目合并到一起。
\item [规则二:]在节与节之间的内容叫条目,每一个节又是由许多的条目组成的,每一个条目都是由形如“signature="$CHICAGO$"”的形式组成的。如果每一个条目的等号后有多个值,则每一个值之间用“,”号分隔开。
\item [规则三:] INF 文件对大小写不敏感。
\item [规则四:] ";" 号后面的内容为注释。
\item [规则五:] 如果一个条目的内容过多,在一行无法书写完全,则用 $\slash$将一行内容书写为多行。
明白了INF文件的规则后,让我们一起来解剖INF文件的结构。
\end{description}
\subsubsection{INF文件的构成}
在C:Windows下有一个名为INF的隐藏文件夹,我们可以找到很多??.INF、??.pnf格式的文件,前者即所谓的设备信息文件,
后者是预编译信息文件。用记事本可以打开INF文件,其中记录了必要的硬件安装信息,包括设备类型、设备生产厂商名称、
适用产品等信息,Windows可以据此自动安装驱动程序。如图1所示,这是CPU的INF文件,笔者以此为例介绍主要构成部分:
\begin{enumerate}
\item $\left[ version \right]$ :版本信息 \\
每一个INF文件都包含一个这样的节,该节中的条目主要是描述此INF文件支持的设备类型和适用的操作系统。
在该节中如果出现“signature="$CHICAGO$"”这样的条目则表示该INF文件适用于Windows 98之后的所有操作系统,
如果包含“signature="$Windows NT$"”这样的条目则表示该INF文件适用于Windows
2000/XP/2003操作系统,而且两者必具其一。
另外,该节中“CLASS”条目很重要,它表明了设备的类型,常见的类型有:Display(显示设备,如显卡)、Media(多媒体设备,
如声卡)、Net(网络设备,通常是网卡)、Modem(调制解调器)、Printer(打印设备)、Image (图像捕获设备,如摄像头)。
DriverVer:设备驱动程序的版本和发布日期
\item $\left[Manufacturer\right]$:生产厂商信息\\
\item $\left[SourceDisksNames\right]$ \\
;\\
; diskid = description[, [tagfile] [, $<$unused$>$, subdir]] \\
; \\
1 = \%Floppy\_Description\%,,,$\backslash$Win98 \\
2 = \%Floppy\_Description\%,,,$\backslash$WinNT \\
\item $\left[SourceDisksFiles\right]$ \\
;\\
; filename\_on\_source = diskID[, [subdir][, size]] \\
;\\
aha154x.mpd = 1,, ; on distribution disk 1, in subdir $\backslash$win9x \\
[SourceDisksFiles.x86]
aha154x.sys = 2,$\backslash$x86 ; on distribution disk 2, in subdir
$\backslash$WinNT$\backslash$x86
\item $\left[DestinationDirs\right]$:驱动程序安装路径\\
该节中所定义的常量路径
\begin{center}
\tabcaption{驱动程序对象数据结构}\label{tab:xxxx}
\begin{tabular}{|l|l|}
\hline
01 & 源目录(后跟路径)\\
10 & Windows目录\\
11 & Windows系统目录\\
12 & 驱动目录\\
17 & INF文件目录\\
18 & 帮助文件目录\\
20 & 字体目录\\
21 & 根目录\\
24 & 应用程序目录\\
25 & 共享目录\\
30 & 当前根目录\\
50 & System目录\\
51 & Spool 目录\\
52 & Spool 驱动目录\\
53 & 用户配置目录\\
\hline
\end{tabular}