Archivos INF para Plug-Ins PSHED
Un archivo de información (INF) instala un complemento PSHED. Los archivos INF para complementos PSHED contienen las siguientes secciones de archivos INF estándar:
Sección SourceDisksNames de INF
INF DDInstall. Sección de servicios
Dentro de la sección Modelos INF, el proveedor de la plataforma puede usar cualquier identificador de hardware (ID) para el complemento PSHED. El identificador de hardware se especifica mediante la entrada hw-id en la sección Modelos y puede ser un identificador de hardware en el espacio de nombres ACPI u otro espacio de nombres de dispositivo. El proveedor también puede especificar un identificador compatible con un valor de PNP0C33. Este identificador compatible se usa para definir en un dispositivo de error de hardware compatible con Microsoft. El proveedor especifica el identificador compatible mediante la entrada de id. compatible en la sección Modelos .
El archivo INF de un complemento PSHED también debe incluir una directiva AddReg que haga referencia a una sección del archivo que agrega una entrada a la\ clavede complementosPSHED\del control\CurrentControlSet\ del sistema en el Registro. Esta entrada informa al PSHED de que el complemento PSHED está instalado en el sistema. Esto permite al PSHED comprobar que todos los complementos PSHED instalados se cargan correctamente cada vez que se inicia el sistema.
Por ejemplo:
;
; 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"