INF是驱动提供给OS 安装程序关于驱动安装时需要进行操作的描述文件。
如果使用Visual Studio IDE来创建一个空的Driver项目则IDE会帮用户创建一个简单的INF。为了能快速理解INF,这里将这个IDE创建的INF每一项进行解析
[Version]
; 该项为INF所适用的windows版本,有两个版本可以使用,$WINDOWS NT$和$Chicago$,必须写,通常写$WINDOWS NT$
Signature="$WINDOWS NT$"
;Class声明了该驱动所适用的设备类型,例如Net和Display,OS会对应的会优化安装步骤。这些类型能够在Devguid.h中找到。
Class=Sample ;
;如果Class写了一个没有在预先定义的设备类型,就需要自定义个一个GUID来代表这个新定义的设备类型。
ClassGuid={78A1C341-4539-11d3-B88D-00C04FAD5171} ;
;指明了该驱动的提供者,通常使用%xxx%来引用String directive里面定义的字符串
Provider=%ManufacturerName%
;Microsoft会为通过WHQL的driver提供一个的针对驱动包的sign文件,这个文件就是catalogfile. 默认会存在于INF文件同一目录下。 如果驱动包有改动,则安装的时候系统会提示驱动不可信。
CatalogFile=KMDFDriverSample.cat
;用来标识驱动的版本,安装时会根据该版本来进行update