;*******************************************************************************
;*                                                                            **
;*                     I N T E L   P R O P R I E T A R Y                      **
;*                                                                            **
;*   COPYRIGHT (c) 2012-2026 BY INTEL CORPORATION. ALL RIGHTS RESERVED.  NO   **
;*   PART  OF  THIS  PROGRAM OR PUBLICATION MAY BE REPRODUCED, TRANSMITTED,   **
;*   TRANSCRIBED, STORED IN A RETRIEVAL  SYSTEM,  OR  TRANSLATED  INTO  ANY   **
;*   LANGUAGE OR COMPUTER LANGUAGE IN ANY FORM OR BY ANY MEANS, ELECTRONIC,   **
;*   MECHANICAL, MAGNETIC, OPTICAL, CHEMICAL, MANUAL, OR OTHERWISE, WITHOUT   **
;*   THE PRIOR WRITTEN PERMISSION OF :                                        **
;*                                                                            **
;*                             INTEL CORPORATION                              **
;*                                                                            **
;*                          2200 MISSION COLLEGE BLVD                         **
;*                                                                            **
;*                     SANTA CLARA, CALIFORNIA 95052-8119                     **
;*                                                                            **
;*******************************************************************************
;
;
; File Name: IshHeci.inf
; Install information file for Intel(R) ISS Driver
;--------- Version Section ---------------------------------------------------

[Version]
Signature="$WINDOWS NT$"
Class=System
ClassGUID={4d36e97d-e325-11ce-bfc1-08002be10318}
Provider=%Provider%
DriverVer = 04/14/2026,5.8.69.0
PnpLockDown=1
CatalogFile=IshHeci.cat

[ControlFlags]
; Pnp drivers should not be installable via non-PnP hardware dialogs
ExcludeFromSelect = *

;--------- DestinationDirs Section -------------------------------------------

[DestinationDirs]
DefaultDestDir = 13
FWImage_LNL_Files = 13, FwImage\%LNL%
FWImage_PTL_Files = 13, FwImage\%PTL%
FWImage_WCL_Files = 13, FwImage\%WCL%

;--------- SourceDiskNames and SourceDiskFiles Section -----------------------
; These sections identify source disks and files for installation.

[SourceDisksNames]
1 = %DiskName%
3 = %DiskName%,,,FwImage\%LNL%
4 = %DiskName%,,,FwImage\%PTL%
7 = %DiskName%,,,FwImage\%WCL%

[SourceDisksFiles.amd64]
IshHeci.sys=1,.
;offload service files
OffloadItemService.exe=1,.
OffloadItemRadarGesture.dll=1,.
OffloadItemRadarMHD.dll=1,.

;FW default images
ishS_SI_5.8.0.7729.bin     =3
ishS_SI_5.8.1.7785.bin     =4
ishS_SI_5.8.4.7785.bin     =7

;--------- Manufacturer and Models Sections ----------------------------------

[Manufacturer]
%MfgName% = Intel, NTamd64.10.0...19041

[Intel.NTamd64.10.0...19041]
; DisplayName    Section           DeviceId
%ISH_HECI_DeviceDesc%=ISH_HECI_LEGACY_DDI, {95511210-D1F0-4091-B373-46FDCC5329F7}\ISH_HECI_LEGACY
%ISH_HECI_DeviceDesc%=ISH_HECI_DDI, {95511210-D1F0-4091-B373-46FDCC5329F7}\ISH_HECI

[ISH_HECI_LEGACY_DDI]
CopyFiles=ISH_HECI_Files

[ISH_HECI_DDI]
CopyFiles=ISH_HECI_Files
CopyFiles=FWImage_LNL_Files
CopyFiles=FWImage_PTL_Files
CopyFiles=FWImage_WCL_Files

[ISH_HECI_LEGACY_DDI.Services]
AddService = IshHeci, %FLG_ADDREG_NOCLOBBER%, ISH_HECI_Service_Inst

[ISH_HECI_DDI.Services]
AddService = IshHeci, %FLG_ADDREG_NOCLOBBER%, ISH_HECI_Service_Inst
AddService = OffloadItemService, 0, OffloadItem_Service_Inst

[ISH_HECI_LEGACY_DDI.Events]
AddEventProvider={A1919784-ED5F-4CAF-A207-6A48457EB680},ISH_HECI_Event_Provider_Inst

[ISH_HECI_DDI.Events]
AddEventProvider={A1919784-ED5F-4CAF-A207-6A48457EB680},ISH_HECI_Event_Provider_Inst

; --------- Files ----------------------

[ISH_HECI_Files]
IshHeci.sys
OffloadItemService.exe
OffloadItemRadarGesture.dll
OffloadItemRadarMHD.dll

[FWImage_LNL_Files]
%LNL_FwImageName%

[FWImage_PTL_Files]
%PTL_FwImageName%

[FWImage_WCL_Files]
%WCL_FwImageName%

; --------- Registry ----------------------

[ISH_HECI_LEGACY_DDI.HW]
AddReg=ISH_HECI_LEGACY_HW_AddReg

[ISH_HECI_DDI.HW]
AddReg=ISH_HECI_HW_AddReg
AddReg=ISH_FW_LNL_AddReg
AddReg=ISH_FW_PTL_AddReg
AddReg=ISH_FW_WCL_AddReg

[ISH_HECI_LEGACY_HW_AddReg]
HKR,,DeviceCharacteristics,0x10001,0x100
HKR,,Security,,"D:P(A;;GA;;;BA)(A;;GA;;;SY)(A;CI;GA;;;LS)"

[ISH_HECI_HW_AddReg]
HKR,,DeviceCharacteristics,0x10001,0x100
HKR,,Security,,"D:P(A;;GA;;;BA)(A;;GA;;;SY)(A;CI;GA;;;LS)"
HKR,"WDF", "WdfDirectedPowerTransitionEnable", 0x00010001, 1
HKR,,"FwImagePath",,"%13%\FWImage"

[ISH_FW_LNL_AddReg]
HKR,%LNL%,"FwImageName",,%LNL_FwImageName%

[ISH_FW_PTL_AddReg]
HKR,%PTL%,"FwImageName",,%PTL_FwImageName%

[ISH_FW_WCL_AddReg]
HKR,%WCL%,"FwImageName",,%WCL_FwImageName%

[OffloadItem_Service_AddReg]
HKR,Parameters,SignatureVerifySupport,%REG_DWORD%,1

; --------- Service ----------------------

[ISH_HECI_Service_Inst]
DisplayName    = %ISH_HECI_SvcDesc%
ServiceType    = %SERVICE_KERNEL_DRIVER%
StartType      = %SERVICE_DEMAND_START%
ErrorControl   = %SERVICE_ERROR_NORMAL%
ServiceBinary  = %13%\IshHeci.sys

[OffloadItem_Service_Inst]
DisplayName    = %OffloadItem_SvcName%
Description    = %OffloadItem_SvcDesc%
ServiceType    = %SERVICE_WIN32_OWN_PROCESS%
StartType      = %SERVICE_DEMAND_START%
ErrorControl   = %SERVICE_ERROR_NORMAL%
ServiceBinary  = %13%\OffloadItemService.exe
StartName      = "NT AUTHORITY\LocalService"
AddTrigger     = UserSvc_AddTrigger               ; AddTrigger syntax is only available in Windows 10 Version 2004 and above
AddReg         = OffloadItem_Service_AddReg

[UserSvc_AddTrigger]
TriggerType = 1                                   ; SERVICE_TRIGGER_TYPE_DEVICE_INTERFACE_ARRIVAL
Action = 1                                        ; SERVICE_TRIGGER_ACTION_SERVICE_START
SubType = %GUID_DEVINTERFACE_ISHHECI%             ; Interface GUID

;---------------------ETW Provider Settings ----------------
[ISH_HECI_Event_Provider_Inst]
ProviderName  = ISH-HECI-Event-Provider
ResourceFile  = %13%\IshHeci.sys
MessageFile   = %13%\IshHeci.sys
AddChannel = Intel-ISH-HECI/Power, 0x02, ISH_HECI_Power_Channel
AddChannel = Intel-ISH-HECI/PnP, 0x02, ISH_HECI_PnP_Channel
AddChannel = Intel-ISH-HECI/IO, 0x02, ISH_HECI_IO_Channel
AddChannel = Intel-ISH-HECI/Debug, 0x02, ISH_HECI_Debug_Channel

[ISH_HECI_Power_Channel]
Isolation = 2
Enabled = 0

[ISH_HECI_PnP_Channel]
Isolation = 2
Enabled = 0

[ISH_HECI_IO_Channel]
Isolation = 2
Enabled = 0

[ISH_HECI_Debug_Channel]
Isolation = 2
Enabled = 0

;--------- Strings Section ---------------------------------------------------

[Strings]
Provider = "Intel"
MfgName = "Intel"
ISH_HECI_DeviceDesc = "Intel(R) HECI Protocol Device"
ISH_HECI_SvcDesc = "Intel(R) HECI Protocol Device"
DiskName = "Intel(R) HECI Protocol Device"
OffloadItem_SvcName = "Intel(R) ISH Offload Item Service"
OffloadItem_SvcDesc = "Handle messages from OffloadItem Client for HP sensing"
GUID_DEVINTERFACE_ISHHECI = "{aa1dcd67-308f-4daa-a2b9-2782d4703c5d}"

;define platform name here
MTL=0002
LNL=0003
PTL=0004
WCL=0007

;list firmware image name here
LNL_FwImageName = "ishS_SI_5.8.0.7729.bin"
PTL_FwImageName = "ishS_SI_5.8.1.7785.bin"
WCL_FwImageName = "ishS_SI_5.8.4.7785.bin"

REG_SZ                      = 0x00000000
REG_MULTI_SZ                = 0x00010000
REG_EXPAND_SZ               = 0x00020000
REG_BINARY                  = 0x00000001
REG_DWORD                   = 0x00010001
REG_NONE                    = 0x00020001

SERVICE_KERNEL_DRIVER       = 0x00000001
SERVICE_FILE_SYSTEM_DRIVER  = 0x00000002
SERVICE_ADAPTER             = 0x00000004
SERVICE_RECOGNIZER_DRIVER   = 0x00000008
SERVICE_WIN32_OWN_PROCESS   = 0x00000010

SERVICE_BOOT_START          = 0x0
SERVICE_SYSTEM_START        = 0x1
SERVICE_AUTO_START          = 0x2
SERVICE_DEMAND_START        = 0x3
SERVICE_DISABLED            = 0x4

SERVICE_ERROR_IGNORE        = 0x00000000
SERVICE_ERROR_NORMAL        = 0x00000001
SERVICE_ERROR_SEVERE        = 0x00000002
SERVICE_ERROR_CRITICAL      = 0x00000003

FLG_ADDREG_NOCLOBBER        = 0x00000002
FLG_ADDREG_DELVAL           = 0x00000004
FLG_ADDREG_APPEND           = 0x00000008
FLG_ADDREG_KEYONLY          = 0x00000010
FLG_ADDREG_OVERWRITEONLY    = 0x00000020
FLG_ADDREG_64BITKEY         = 0x00001000
FLG_ADDREG_KEYONLY_COMMON   = 0x00002000
FLG_ADDREG_32BITKEY         = 0x00004000

