PSHED 插件的 INF 文件

PSHED 插件由 信息 (INF) 文件安装。 PSHED 插件的 INF 文件包含以下标准 INF 文件部分:

INF Version 节

INF SourceDisksNames 节

INF SourceDisksFiles 节

INF DestinationDirs 节

INF Manufacturer 节

INF 模型 部分

INF DDInstall

INF DDInstall。服务部分

INF Strings 节

“INF 模型 ”部分中,平台供应商可以使用 PSHED 插件的任何 硬件标识符 (ID) 。 硬件 ID 是使用“模型”部分中的 hw-id 条目指定的,可以是 ACPI 命名空间或其他设备命名空间中的硬件 ID。 供应商还可以指定值为 PNP0C33兼容 ID。 此兼容 ID 用于定义与 Microsoft 兼容的硬件错误设备。 供应商使用“模型”部分中的 compatible-id 条目指定兼容 ID

PSHED 插件的 INF 文件还必须包含 AddReg 指令,该指令引用文件中向注册表中的 System\CurrentControlSet\控件\PSHED\插件 项添加条目的部分。 此项通知 PSHED 系统已安装 PSHED 插件。 这允许 PSHED 验证每次启动系统时是否成功加载所有已安装的 PSHED 插件。

例如:

;
; Example PSHED plug-in INF file
;

[Version]
Signature = "$Windows NT$"
Class = System ; Specify appropriate Class
ClassGuid = {4d36e97d-e325-11ce-bfc1-08002be10318} ; Specify appropriate ClassGuid
Provider = %Msft%
CatalogFile = "ExamplePSHEDPlugin.cat"
DriverVer = 01/01/06,1.0
PnpLockdown = 1

[SourceDiskNames]
1 = %DiskName%

[SourceDiskFiles]
%FileName% = 1

[DestinationDirs]
ExamplePSHEDPlugin.DriverFiles = 13

[Manufacturer]
%Msft% = Microsoft,NTamd64

[Microsoft.NTamd64]
%DeviceDesc% = ExamplePSHEDPluginInstall,%DeviceId%

[ExamplePSHEDPluginInstall]
OptionDesc = %Description%
CopyFiles = ExamplePSHEDPlugin.DriverFiles
AddReg = ExamaplePSHEDPlugin.AddReg

[ExamplePSHEDPluginInstall.Services]
AddService = %ServiceName%,,ExamplePSHEDPlugin.Service

[ExamplePSHEDPlugin.DriverFiles]
%FileName%,,,0x00000040 ; COPYFLG_OVERWRITE_OLDER_ONLY

[ExamplePSHEDPlugin.AddReg]
HKLM,%PSHEDControlPath%,%ServiceName%,0x00000000,%FileName%

[ExamplePSHEDPlugin.Service]
DisplayName = %ServiceName%
Description = %ServiceDesc%
ServiceType = 1  ; SERVICE_KERNEL_DRIVER
StartType = 3    ; SERVICE_DEMAND_START
ErrorControl = 1 ; SERVICE_ERROR_NORMAL
ServiceBinary = %13%\%FileName%

[Strings]
%Msft% = "Microsoft Corporation"
%DiskName% = "Example PSHED Plug-In Installation Disk"
%FileName% = "ExamplePSHEDPlugin.sys"
%DeviceDesc% = "Example PSHED Plug-In Device"
%DeviceId% = "ACPI\PSHEDPI"
%Description% = "Example PSHED Plug-In"
%ServiceName% = "ExamplePSHEDPlugin"
%ServiceDesc% = "Example PSHED Plug-In"
%PSHEDControlPath% = "System\CurrentControlSet\Control\PSHED\Plugins"