INF文件的節(jié)
?????? INF文件是一個(gè)文本文件,由許多按層次結(jié)構(gòu)排列的節(jié)組成,他們以方括號(hào)中的節(jié)名稱開(kāi)始,如[Version]、[Manufacturer]等,后面是改接所含有的各個(gè)項(xiàng),如Signature、DriverVer等。節(jié)中各項(xiàng)的基本定義格式為
entry=value[,value…]
?????? 其中,“entry”標(biāo)示項(xiàng)名稱,“value”標(biāo)示該想的取值。節(jié)名和項(xiàng)名稱都不區(qū)分大小寫,且對(duì)于Windows 98,其必須小于28個(gè)字符;對(duì)于Windows 2000,其長(zhǎng)度的最大值為255個(gè)字節(jié)。下表是INF文件中常用的節(jié)。
INF文件中常用的節(jié)
節(jié)
說(shuō)明
Version
INF文件的開(kāi)始
SourceDisksNames
指明去的那個(gè)程序所在的磁盤或CD-ROM
SourceDisksFiles
指明驅(qū)動(dòng)程序的文件名
Destination
指明INF文件和驅(qū)動(dòng)程序的目標(biāo)文件
Manufacturer
指明供應(yīng)商及其對(duì)應(yīng)Models節(jié)的名稱
Models
指明Install/DDInstall節(jié)的名稱、設(shè)備的硬件ID等信息
Install(Windows 98)
Install(Windows 2000)
指明需復(fù)制的文件、想注冊(cè)表中添加的內(nèi)容等信息
DDInstall.Services
僅適用于Windows 2000
指明驅(qū)動(dòng)程序安裝的詳細(xì)信息
String
指明一系列字符串
?
1Version節(jié)
?????? Version節(jié)通常作為INF文件的開(kāi)始,下表列出了其包含的各項(xiàng)。所有INF文件都必須含有Version節(jié)及其Signature項(xiàng)
Version節(jié)中的各項(xiàng)
項(xiàng)
說(shuō)明
Signature
指明驅(qū)動(dòng)程序的簽名,其取值為:$Windows NT$、$Windows 95$、$Chicago$、
Class
指明驅(qū)動(dòng)程序所屬的類別
ClassGuid
指明設(shè)備類的GUID,其格式為:{nnnnnnnn-nnnn-nnnn-nnnnnnnnnnnn}①
Provider
指明該INF文件的供應(yīng)商
LayoutFile
僅由操作系統(tǒng)內(nèi)部提供的INF文件使用
CatalogFile
指明數(shù)字簽名文件的文件名,其擴(kuò)展名為.cat
DriverVer
指明驅(qū)動(dòng)程序的版本信息,其格式為:mm/dd/yyyy[,x.y.v.z]
注:①n代表一個(gè)16進(jìn)制數(shù)
?????? 下面對(duì)主要的各項(xiàng)進(jìn)行詳細(xì)介紹。
①.Signature項(xiàng):指明驅(qū)動(dòng)程序的簽名。對(duì)于Windows 98和Windows 2000下的USB設(shè)備驅(qū)動(dòng)程序,該項(xiàng)的取值通常為“$Chicago$”。
②.Class和ClassGuid項(xiàng):指明驅(qū)動(dòng)程序所屬的設(shè)備類別及其GUID,其取值情況見(jiàn)下表。
常用設(shè)備類別及其GUID
Class
ClassGuid
說(shuō)明
1394
6BDD1FC1-810F-11D0-BEC7-08002BE2092F
1394主控制器
CDROM
4D36E965-E325-11CE-BFC1-08002BE10318
CD-ROM驅(qū)動(dòng)器
DiskDrive
4D36E967-E325-11CE-BFC1-08002BE10318
磁盤驅(qū)動(dòng)器
Display
4D36E968-E325-11CE-BFC1-08002BE10318
顯示適配器
FDC
4D36E969-E325-11CE-BFC1-08002BE10318
軟盤驅(qū)動(dòng)器
HDC
4D36E96A-E325-11CE-BFC1-08002BE10318
硬盤控制器
HIDClass
745a17a0-74d3-11d0-b6fe-00a0c90f57da
人機(jī)接口設(shè)備
Keyboard
4D36E96B-E325-11CE-BFC1-08002BE10318
鍵盤
Modem
4d36e96c-e325-11ce-bfc1-08002be10318
調(diào)制解調(diào)器
Monitor
4d36e96e-e325-11ce-bfc1-08002be10318
監(jiān)視器
Mouse
4d36e96f-e325-11ce-bfc1-08002be10318
鼠標(biāo)
Net
4d36e972-e325-11ce-bfc1-08002be10318
網(wǎng)絡(luò)適配器
Ports
4d36e978-e325-11ce-bfc1-08002be10318
端口(COM&LPT)
Printer
4d36e979-e325-11ce-bfc1-08002be10318
打印機(jī)
System
4d36e97d-e325-11ce-bfc1-08002be10318
系統(tǒng)設(shè)備
TapeDrive
6D807884-7D21-11CF-801C-08002BE10318
磁帶驅(qū)動(dòng)器
USB
36FC9E60-C465-11CF-8056-444553540000
USB
③.DriverVer項(xiàng):指明驅(qū)動(dòng)程序的版本信息。其“mm/dd/yyyy”代表月/日/年;“x.y.v.z”代表驅(qū)動(dòng)程序的版本號(hào),它是可選的。
2.SourceDisksNames節(jié)
?????? SourceDisksNames節(jié)指明設(shè)備驅(qū)動(dòng)程序所在的磁盤或CD-ROM,其各項(xiàng)的格式如下:
diskid=disk-description,disk-label,disk-serial-number?? (Windows 98)
diskid=disk-description[,[tagfile][,unused,path]]? (Windows 2000)
?????? 其中,“disked”指出磁盤驅(qū)動(dòng)器的編號(hào),它是正整型數(shù),通常從1開(kāi)始,且不能重復(fù);“disk-description”表示磁盤的描述信息,他通常為一個(gè)字符串。對(duì)于Windows 98,“disk-label”指出磁盤的卷標(biāo);“disk-serial-numbe”指出磁盤的序列號(hào)。對(duì)于Windows 2000,“tagfile”指出磁盤標(biāo)簽文件的文件名;“unused”保留未用;“path”指出驅(qū)動(dòng)程序所在的路徑;“[ ]”表示可選參數(shù)。
3.SourceDisksFiles節(jié)
?????? SourceDisksFiles節(jié)指明設(shè)備驅(qū)動(dòng)程序的文件全路徑,其各項(xiàng)格式如下:
filename=diskid[,subdir] (Windows 98)
filename=diskid[,[,subdir][,size]]?? (Windows 2000)
?????? 其中,“filename”指出驅(qū)動(dòng)程序的文件名;“diskid”指出磁盤驅(qū)動(dòng)器的編號(hào);“subdir”指出該文件在磁盤上的路徑;“size”指出該文件未經(jīng)壓縮時(shí)的大小,以字節(jié)為單位。
4.DestinationDirs節(jié)
?????? DestinationDirs節(jié)指明INF文件和設(shè)備驅(qū)動(dòng)程序的目標(biāo)目錄。當(dāng)INF文件使用CopyFiles、DelFiles、RenFiles指令時(shí),則必須包含該節(jié)。其各項(xiàng)的格式如下:
DefaultDestDir=dirid[,subdir]
File-list-section=dirid[,subdir]
?????? 其中,“DefaultDestDir”是一個(gè)項(xiàng)名稱,代表文件復(fù)制、刪除、重命名操作的缺色很難干目標(biāo)目錄;“file-list-section”指出CopyFiles、DelFiles、RenFiles指令所引用的節(jié);“dirid”指出目標(biāo)目錄值,見(jiàn)下表;“subdir”指出dirid目錄下的子目錄。
DestinationDirs節(jié)中的常用dirid
dirid
目標(biāo)目錄
dirid
目標(biāo)目錄
10
Windows目錄:%windir%
17
INF目錄
11
系統(tǒng)目錄
Windows 98:%windir%/system
Windows 2000:%windir%/system32
18
幫助目錄
20
字體目錄
12
驅(qū)動(dòng)程序目錄
Windows 98:%windir%/system/IoSubsys
Windows 2000:%windir%/system32/drivers
23
顏色目錄
24
應(yīng)用程序目錄(Windows2000)
13
命令目錄(Windows98)
25
共享目錄
14
控制面板目錄(Windows98)
50
%windir%/system(Windows2000)
15
打印機(jī)目錄(Windows98)
54
Ntldr.exe和osloader.exe所在的目錄(Windows2000)
16
工作組目錄(Windows98)
55
打印處理器目錄(Windows2000)
5.Manufacturer節(jié)
?????? Manufacturer節(jié)指明供應(yīng)商及其對(duì)應(yīng)Models接的名稱,其各項(xiàng)的格式如下:
%strkey%=models-section-name
?????? 其中,“strkey”代表設(shè)備制造的名字,其字符串值在String節(jié)中定義;“models-section-name”指出Models節(jié)的名稱。
6.Models節(jié)
?????? Models節(jié)指明Install/DDInstall節(jié)的名稱、設(shè)備的硬件ID和兼容ID等信息,其節(jié)名稱由Manufacturer節(jié)指定。其各項(xiàng)的格式如下:
device-description=install-section-name,hw-id[,compatiable-id…]
?????? 其中,“device-description”指出設(shè)備的表述信息,他可以是一個(gè)字符串,也可以使一個(gè)%strkey%;“install-section-name”指出Install/DDInstall節(jié)的名稱;“hw-id”指出設(shè)備的硬件ID;“compatiable-id”指出設(shè)備的兼容ID。
7. Install/DDInstall節(jié)
?????? Install/DDInstall節(jié)指明需復(fù)制的文件、想注冊(cè)表中添加的內(nèi)容等信息,其節(jié)名稱由Models節(jié)指定。下表列出了其包含的常用項(xiàng)。
Install/DDInstall節(jié)中的常用項(xiàng)
項(xiàng)
說(shuō)明
DriverVer
指明驅(qū)動(dòng)程序的版本信息,格式為:mm/dd/yyyy[,x.y.z]
CopyFiles
指明需復(fù)制的文件,格式為:
CopyFiles=@filename|file-list-section[,file-list-section]...
AddReg
指明向注冊(cè)表中添加的其他INF文件按,格式為:
AddReg=add-registry-section[,add-registry-section]…
Include
指明安裝時(shí)需要的其他INF文件,格式為:
Include=filename.inf[,filename2.inf]…
Needs
指明安裝時(shí)所需的特定INF文件,格式為:
Needs=inf-section-name[,inf-section-name]…
Delfiles
指明需刪除的文件,格式為:
Delfiles=inf-section-name[,inf-section-name]…
RenFiles
指明需重命名的文件,格式為:
Renfiles=inf-section-name[,inf-section-name]…
DelReg
指明需刪除的注冊(cè)表內(nèi)容,格式為:
DelReg=del-registry-section[,del-registry-section]…
?????? Install/DDInstall節(jié)中的常用項(xiàng)的詳細(xì)介紹。
①???? CopyFiles項(xiàng):它是Install/DDInstall節(jié)中的一個(gè)基本指令,用于指明需要復(fù)制的文件。其“filename”指出目標(biāo)文件名;“file-list-section”是其創(chuàng)建的文件列表節(jié),該節(jié)格式為
[file-list-section]
destination-file-name[,source-file-name][,temporary-file-name][,flag]
?????? 其中,“destination-file-name”指出目標(biāo)文件名;“source-file-name”指出源文件名,如果其和目標(biāo)文件名相同,則可忽略該參數(shù);“temporary-file-name”指出復(fù)制操作過(guò)程中所需要的臨時(shí)文件名,他只適用于Windows 98;“flag”指出該文件的一些處理方法,其取之情況如下表。
CopyFiles項(xiàng)中的flag參數(shù)
值
符號(hào)
說(shuō)明
0x00000400
COPYFLG_REPLACEONLY
僅替換目標(biāo)目錄中的文件
0x00000800
COPYFLG_NODECOMP
復(fù)制并不解壓縮
0x00000008
COPYFLG_FORCE_FILE_IN_USE
將源文件賦值為臨時(shí)文件名,以重新命名
0x00000010
COPYFLG_NO_OVERWRITE
不替換原有文件
0x00001000
COPYFLG_REPLACE_BOOT_FILE
強(qiáng)制用戶重新引導(dǎo)系統(tǒng)
0x00002000
COPYFLG_NOPRUNE
強(qiáng)制復(fù)制文件
0x00000020
COPYFLG_NO_VERSION_DIALOG
不覆蓋新版本的文件
0x00000004
COPYFLG_NOVERSIONCHECK
可覆蓋任何版本的文件
0x00000040
COPYFLG_OVERWRITE_ORDER_ONLY
僅覆蓋舊版本的文件
0x00000001
COPYFLG_WARN_IF_SKIP
當(dāng)用戶跳過(guò)文件時(shí)發(fā)出警告
0x00000002
COPYFLG_NOSKIP
不允許用戶跳過(guò)文件
②???? AddReg項(xiàng):它是Install/DDInstall節(jié)所必須包含的指令,用于指明需項(xiàng)注冊(cè)表中添加的內(nèi)容。其“add-registry-section”是它創(chuàng)建的添加注冊(cè)表節(jié),該節(jié)的格式為
[add-registry-section]
reg-root, [subkey], [value-entry-name], [flags], [value]
其中,“reg-root”指出注冊(cè)表樹(shù)的根目錄,它的取值在下表中;“subkey”指出reg-root下的子目錄(或稱子鍵);“value-entry-name”指出要增加的注冊(cè)表值;“flags”指出其對(duì)注冊(cè)表的一些處理方法,取值在下面的flags表中;“value”指出新增加注冊(cè)表值的數(shù)據(jù)。
AddReg項(xiàng)中的reg-root參數(shù)
值
說(shuō)明
HKCR
HKEY_CLASSES_ROOT
HKCU
HKEY_CURRENT_USER
HKLM
HKEY_LOCAL_MACHINE
HKU
HKEY_USER
HKR
被安裝設(shè)備的注冊(cè)表鍵
AddReg項(xiàng)中的flags參數(shù)
值
符號(hào)
說(shuō)明
0x00000000
FLG_ADDREG_TYPE_SZ
value為REG_SZ類型
0x00000001
FLG_ADDREG_BINVALUETYPE
value為2進(jìn)制數(shù)據(jù)
0x00000002
FLG_ADDREG_NOCLOBBER
不替換已有注冊(cè)表中的value
0x00000004
FLG_ADDREG_DELVAL
從注冊(cè)表中刪除subkey或
value-entry-name
0x00000010
FLG_ADDREG_KEYONLY
僅建立subkey,忽略value-entry-name
和value
0x00000020
FLG_ADDREG_OVERWRITEONLY
僅當(dāng)value-entry-name時(shí)替換value
0x00010000
FLG_ADDREG_TYPE_MULTI_SZ
value為REG_MULTI_SZ類型
0x00000008
FLG_ADDREG_APPEND
添加value至已有注冊(cè)表值
0x00020000
FLG_ADDREG_TYPE_EXPEND_SZ
value為REG_EXPAND_SZ類型
0x00010001
FLG_ADDREG_TYPE_DWORD
value為REG_DWORD類型
0x00020001
FLG_ADDREG_TYPE_NONE
value為REG_NONE類型(Windows2000)
③???? DelFiles項(xiàng):它是Install/DDInstall節(jié)中的可選指令,用于指明需刪除的文件。其“file-list-section”是它創(chuàng)建的文件列表節(jié),該節(jié)的格式為
[file-list-section]
destination-file-name[,,,flag]
?????? 其中,“destination-file-name”指出目標(biāo)文件名;“flag”指出該文件的一些處理方法,其取值如下表。
DelFiles項(xiàng)中的flag參數(shù)
值
符號(hào)
說(shuō)明
0x0000001
DELFLG_IN_USE
在其安裝處理操作完成后再刪除該文件
0x0001000
DELFLG_IN_USE1
功能與DELFLG_IN_USE一樣,僅適用Windows2000
④RenFiles項(xiàng):它是Install/DDInstall節(jié)中的可選指令,用于指明需重命名的文件。其“file-list-section”是它創(chuàng)建的文件列表節(jié),該節(jié)的格式為
[file-list-section]
new-dest-file-name, old-source-file-name
?????? 其中,“new-dest-file-name”指出該文件的新文件名;“old-source-file-name”指出其原有文件名。
⑤DelReg項(xiàng):它是Install/DDInstall節(jié)中的可選指令,用于指明需從注冊(cè)表中刪除的內(nèi)容。其“del-registry-section”是它創(chuàng)建的刪除注冊(cè)表節(jié),該節(jié)的格式為
[del-registry-section]
reg-root, subkey [,value-entry-name]
?????? 其中,“reg-root”指出該注冊(cè)表樹(shù)中的根目錄,取值與AddReg的ret-root相同; “subkey”指出reg-root下的子目錄(或稱子鍵);“value-entry-name”指出要?jiǎng)h除的注冊(cè)表值。
8.DDInstall.Services節(jié)
?????? DDInstall.Services節(jié)指明驅(qū)動(dòng)程序安裝的詳細(xì)信息,他只是用于Windows 2000.他的節(jié)名稱為[install-section-name.Services],其“install-section-name”由Models節(jié)指定。下表列出了其包含的常用項(xiàng)。
DDInstall.Services節(jié)中的常用項(xiàng)
項(xiàng)
說(shuō)明
AddService
控制驅(qū)動(dòng)程序的安裝過(guò)程,格式為
AddService=ServiceName,[flags],service-install-section
[,event-log-install-section[,[EventLogType][,EventName]]]…
DelService
刪除一個(gè)或多個(gè)已有的驅(qū)動(dòng)程序,格式為
DelService=ServiceName [,[flags][,[EventLogType][,EventName]]]…
Include
指明安裝時(shí)所需的其他INF文件,格式為
Include =filename.inf [,filename2.inf]…
Needs
之敏感轉(zhuǎn)世所需要的特定INF文件,格式為
Needs = inf-section-name[,inf-section-name]…
主要項(xiàng)進(jìn)行詳細(xì)介紹。
①???? AddService項(xiàng):它是DDInstall.Services節(jié)所必須包含的指令,用于控制設(shè)備驅(qū)動(dòng)程序的安裝過(guò)程。其“ServiceName”指出驅(qū)動(dòng)程序的名字;“flags”指出一個(gè)或多個(gè)系統(tǒng)定義的標(biāo)識(shí),其取值情況如下表;“event-log-install-section”是其創(chuàng)建的事件日志安裝,下表中列出了該節(jié)所包含的常用項(xiàng);“service-install-section”是其創(chuàng)建的服務(wù)安裝節(jié),下表中列出了該節(jié)所包含的常用項(xiàng);“EventLogType”指出事件日志的類型,其取值為System、Security和Application;“EventName”指出事件日志的名字。
AddService項(xiàng)的常用flags參數(shù)
值
符號(hào)
說(shuō)明
0x00000002
SPSVCINST_ASSOCSERVICE
指明其為PnP功能驅(qū)動(dòng)程序
0x00000008
SPSVCINST_NOCLOBBER_DISPLAYNAME
不覆蓋指定服務(wù)的名字
0x00000100
SPSVCINST_NOCLOBBER_DESCRIPTION
不覆蓋指定服務(wù)的描述
0x00000010
SPSVCINST_NOCLOBBER_STARTTYPE
不覆蓋指定服務(wù)的啟動(dòng)類型
0x00000020
SPSVCINST_NOCLOBBER_ERRORCONTROL
不覆蓋指定服務(wù)的差錯(cuò)控制值
event-log-install-section節(jié)中的常用項(xiàng)
項(xiàng)
說(shuō)明
AddReg
指明向注冊(cè)表中添加的內(nèi)容,格式如下
AddReg=add-registry-section[,add-registry-section]…
DelReg
指明需刪除的注冊(cè)表內(nèi)容,格式如下
DelReg=del-registry-section[,del-registry-section]…
BitReg
有效但幾乎無(wú)用,格式如下
BitReg=bit-registry-section[,bit-registry-section]…
DisplayName
驅(qū)動(dòng)程序的名字,為字符串值
Description
驅(qū)動(dòng)程序的描述,為字符串值
ServiceType
驅(qū)動(dòng)程序的類型,為特定16進(jìn)制數(shù)
StartType
驅(qū)動(dòng)程序的啟動(dòng)類型,為特定16進(jìn)制數(shù)
ErrorControl
驅(qū)動(dòng)程序的差錯(cuò)控制級(jí)別,為特定16進(jìn)制數(shù)
ServiceBinary
驅(qū)動(dòng)程序的完整路徑名:%dirid% /filename
一下是對(duì)event-log-install-section節(jié)中的常用項(xiàng)的主要項(xiàng)進(jìn)行詳細(xì)介紹。
ServiceType項(xiàng)的取值
值
符號(hào)
說(shuō)明
0x00000001
SERVICE_BOOT_START
內(nèi)核模式驅(qū)動(dòng)程序
0x00000002
SERVICE_KERNEL_FILE_SYSTEM_DRIVER
上層網(wǎng)絡(luò)驅(qū)動(dòng)程序或文件系統(tǒng)
0x00000010
SERVICE_WIN32_OWN_PROCESS
Win32應(yīng)用程序
0x00000020
SERVICE_WIN32_SHARE_PROCESS
Win32應(yīng)用程序
StartType項(xiàng)的取值
值
符號(hào)
說(shuō)明
0x0
SERVICE_BOOT_START
由操作系統(tǒng)加載程序啟動(dòng)
0x1
SERVICE_SYSTEM_START
由操作系統(tǒng)初始化過(guò)程中啟動(dòng)
0x2
SERVICE_AUTO_START
由服務(wù)控制管理器啟動(dòng)
0x3
SERVICE_DEMAND_START
由PnP管理器或服務(wù)控制管理器按需啟動(dòng)
0x4
SERVICE_DISABLE
禁止啟動(dòng)
ErrorControl項(xiàng)的取值
值
符號(hào)
說(shuō)明
0x0
SERVICE_ERROR_IGNORE
不顯示警告信息
0x1
SERVICE_ERROR_NORMAL
顯示警告信息
0x2
SERVICE_ERROR_SERVICE
當(dāng)驅(qū)動(dòng)程序加載失敗時(shí),系統(tǒng)將使用其注冊(cè)的LastKnownGood重試,并忽略其后的錯(cuò)誤
0x3
SERVICE_ERROR_CRITICAL
當(dāng)驅(qū)動(dòng)程序加載失敗時(shí),系統(tǒng)將使用其注冊(cè)的LastKnownGood重試,并對(duì)其后的錯(cuò)誤進(jìn)行檢驗(yàn)
②???? DelService項(xiàng):它是DDInstall.Service節(jié)中的可選指令,用于刪除一個(gè)或多個(gè)已有的設(shè)備驅(qū)動(dòng)程序。其“ServiceName”指出驅(qū)動(dòng)程序的名字;“flags”指出一個(gè)或多個(gè)系統(tǒng)定義的標(biāo)識(shí),取值見(jiàn)下表;“EventLogType”指出事件日志的類型,其取值為System、Security或Application;“EventName”指出事件日志的名字。
DelService項(xiàng)的flags參數(shù)
符號(hào)
說(shuō)明
SPSVCINST_DELETEEVENTLOGENTRY
刪除與ServiceName有關(guān)的事件日志
SPSVCINST_STOPSERVICE
在刪除之前首先停止服務(wù)
9String節(jié)
?????? String節(jié)指明一些列字符串,其所含各項(xiàng)的格式為
strkey=[“]some string[“]
其中,“strkey”指出字符串的名字,它只能包含字母和數(shù)字;“some string”為字符串的內(nèi)容。
附上《windows驅(qū)動(dòng)開(kāi)發(fā)技術(shù)詳解》的一個(gè)例子
[cpp]?view
plain?copy
;---------?Version?Section?---------------------------------------------------??
??
[Version]??
Signature="$CHICAGO$";??
Provider=Zhangfan_Device??
DriverVer=11/1/2007,3.0.0.3??
??
;?If?device?fits?one?of?the?standard?classes,?use?the?name?and?GUID?here,??
;?otherwise?create?your?own?device?class?and?GUID?as?this?example?shows.??
??
Class=ZhangfanDevice??
ClassGUID={EF2962F0-0D55-4bff-B8AA-2221EE8A79B0}??
??
??
;---------?SourceDiskNames?and?SourceDiskFiles?Section?-----------------------??
??
;?These?sections?identify?source?disks?and?files?for?installation.?They?are??
;?shown?here?as?an?example,?but?commented?out.??
??
[SourceDisksNames]??
1?=?"HelloWDM",Disk1,,??
??
[SourceDisksFiles]??
HelloWDM.sys?=?1,MyDriver_Check,??
??
;---------?ClassInstall/ClassInstall32?Section?-------------------------------??
??
;?Not?necessary?if?using?a?standard?class??
??
;?9X?Style??
[ClassInstall]??
Addreg=Class_AddReg??
??
;?NT?Style??
[ClassInstall32]??
Addreg=Class_AddReg??
??
[Class_AddReg]??
HKR,,,,%DeviceClassName%??
HKR,,Icon,,"-5"??
??
;---------?DestinationDirs?Section?-------------------------------------------??
??
[DestinationDirs]??
YouMark_Files_Driver?=?10,System32Drivers??
??
;---------?Manufacturer?and?Models?Sections?----------------------------------??
??
[Manufacturer]??
%MfgName%=Mfg0??
??
[Mfg0]??
??
;?PCI?hardware?Ids?use?the?form??
;?PCIVEN_aaaa&DEV_bbbb&SUBSYS_cccccccc&REV_dd??
;改成你自己的ID??
%DeviceDesc%=YouMark_DDI,?PCIVEN_9999&DEV_9999??
??
;----------?DDInstall?Sections?-----------------------------------------------??
;?---------?Windows?9X?-----------------??
??
;?Experimentation?has?shown?that?DDInstall?root?names?greater?than?19?characters??
;?cause?problems?in?Windows?98??
??
[YouMark_DDI]??
CopyFiles=YouMark_Files_Driver??
AddReg=YouMark_9X_AddReg??
??
[YouMark_9X_AddReg]??
HKR,,DevLoader,,*ntkern??
HKR,,NTMPDriver,,HelloWDM.sys??
HKR,?"Parameters",?"BreakOnEntry",?0x00010001,?0??
??
;?---------?Windows?NT?-----------------??
??
[YouMark_DDI.NT]??
CopyFiles=YouMark_Files_Driver??
AddReg=YouMark_NT_AddReg??
??
[YouMark_DDI.NT.Services]??
Addservice?=?HelloWDM,?0x00000002,?YouMark_AddService??
??
[YouMark_AddService]??
DisplayName?=?%SvcDesc%??
ServiceType?=?1?;?SERVICE_KERNEL_DRIVER??
StartType?=?3?;?SERVICE_DEMAND_START??
ErrorControl?=?1?;?SERVICE_ERROR_NORMAL??
ServiceBinary?=?%10%System32DriversHelloWDM.sys??
??
[YouMark_NT_AddReg]??
HKLM,?"SystemCurrentControlSetServicesHelloWDMParameters",??
"BreakOnEntry",?0x00010001,?0??
??
??
;?---------?Files?(common)?-------------??
??
[YouMark_Files_Driver]??
HelloWDM.sys??
??
;---------?Strings?Section?---------------------------------------------------??
??
[Strings]??
ProviderName="Zhangfan."??
MfgName="Zhangfan?Soft"??
DeviceDesc="Hello?World?WDM!"??
DeviceClassName="Zhangfan_Device"??
SvcDesc="Zhangfan"??