[Version]
Signature   = "$WINDOWS NT$"
Class       = HIDClass
ClassGuid   = {745a17a0-74d3-11d0-b6fe-00a0c90f57da}
Provider    = %VENDOR%
LayoutFile  = layout.inf
DriverVer=07/28/2014,1.2.1.1
CatalogFile = kmdfsamples.cat

;
;   Layout.inf (etc.) list all files shipped with the operating system so the 
;   source description sections are only needed if other files are needed.
;   
;   In order to use IHV drivers, the SourceDisksNames section must list the 
;   disk(s) containing the drivers and the SourceDisksFiles section must list 
;   which disk number each file to be copied is found on.
;   Disk number 99 is used to avoid a conflict with the disk numbers defined 
;   in layout.inf
;
;   Files used in a driver installation need to be digitally signed otherwise 
;   installation may fail.  See documentation elsewhere in the DDK regarding 
;   driver signing.

[SourceDisksFiles]
GoodixTouchDriver.sys   = 99
hidkmdf.sys     = 99

[SourceDisksNames]
99 = %DISK_NAME%,,,""

[DestinationDirs]
CopyFunctionDriver  = 12
CopyFilterDriver    = 12

[Manufacturer]
%VENDOR%=Vendor, NTx86, NTx86.6.1

; For Win7 and later so that we can use inbox HID-KMDF mapper
[Vendor.NTx86.6.1]
%GoodixTouchDriver%         = GoodixTouchDriver.Inst.Win7, ACPI\GDIX1001
; %customCollection%  = customCollection.Inst, HID_DEVICE_UP:FF00_U:0001

;===============================================================
;   Install section for Win7 and later
;   Use the inbox mshidkmdf.sys as the shim
;===============================================================
[GoodixTouchDriver.Inst.Win7.NT]
; Just copy the driver. No neeed to copy other system binaries.
CopyFiles = CopyFilterDriver


[GoodixTouchDriver.Inst.Win7.NT.HW]
AddReg = GoodixTouchDriver_Win7_Parameters.AddReg 

;
; mshidkmdf is the function driver and GoodixTouchDriver is the lower filter
;
[GoodixTouchDriver.Inst.Win7.NT.Services]
AddService = GoodixTouchDriver,0x00000002, GoodixTouchDriver_Service_Inst
;AddService = mshidkmdf, 0x000001fa, mshidkmdf.AddService ;flag 0x2 sets this as the service for the device

[CopyFilterDriver]
GoodixTouchDriver.sys

[mshidkmdf.AddService]
ServiceType    = 1                  ; SERVICE_KERNEL_DRIVER
StartType      = 3                  ; SERVICE_DEMAND_START
ErrorControl   = 1                  ; SERVICE_ERROR_NORMAL
ServiceBinary  = %10%\System32\Drivers\mshidkmdf.sys

[GoodixTouchDriver_Win7_Parameters.AddReg]
;HKR,,"LowerFilters",0x00010000,"GoodixTouchDriver"
HKR,,"UpperFilters",0x00010000,"mshidkmdf"
HKR,,"EnhancedPowerManagementEnabled",0x00010001,1

;===============================================================
;   Service section (common to all OS versions)
;===============================================================

[GoodixTouchDriver_Service_Inst]
DisplayName    = %GoodixTouchDriver%
ServiceType    = %SERVICE_KERNEL_DRIVER% 
StartType      = %SERVICE_DEMAND_START% 
ErrorControl   = %SERVICE_ERROR_IGNORE% 
ServiceBinary  = %12%\GoodixTouchDriver.sys 


;===============================================================
;   Custom Collection install section
; - Only a Null service is installed.
;===============================================================
[customCollection.Inst.NT]
; NULL section

[customCollection.Inst.NT.HW]
AddReg = customCollection.Inst.AddReg.NT.HW

[customCollection.Inst.AddReg.NT.HW]
HKR,,"SelectiveSuspendEnabled",0x00000001,0x1

[customCollection.Inst.NT.Services]
AddService = ,0x00000002,   ; NULL Service

;================================================================
; WDF Coinstaller installation
;===============================================================

[DestinationDirs]
GoodixTouchDriver.Inst_CoInstaller_CopyFiles = 11

[GoodixTouchDriver.Inst.NT.CoInstallers]
AddReg=GoodixTouchDriver.Inst_CoInstaller_AddReg
CopyFiles=GoodixTouchDriver.Inst_CoInstaller_CopyFiles

[GoodixTouchDriver.Inst_CoInstaller_AddReg]
HKR,,CoInstallers32,0x00010000, "WdfCoInstaller01011.dll,WdfCoInstaller"

[GoodixTouchDriver.Inst_CoInstaller_CopyFiles]
WdfCoInstaller01011.dll,,,0x00000010    ;COPYFLG_NO_OVERWRITE (for win2k)

[SourceDisksFiles]
WdfCoInstaller01011.dll=99 ; make sure the number matches with SourceDisksNames

[GoodixTouchDriver.Inst.NT.Wdf]
KmdfService = GoodixTouchDriver, GoodixTouchDriver_wdfsect

[GoodixTouchDriver_wdfsect]
KmdfLibraryVersion = 1.11

;================================================================
; Strings section
;===============================================================

[Strings] 
;Localizable
VENDOR              = "Shenzhen Huiding Technology Co.,Ltd." 
GoodixTouchDriver	= "Goodix Touch HID" 
customCollection    = "HID Vendor-defined Collection for Goodix Touch"
DISK_NAME           = "HID Goodix Touch Device Sample Install Disk"
hidkmdf.SVCDESC     = "Filter Driver Service for HID-KMDF Interface layer"

;Non-Localizable
SERVICE_BOOT_START     = 0x0 
SERVICE_SYSTEM_START   = 0x1 
SERVICE_AUTO_START     = 0x2 
SERVICE_DEMAND_START   = 0x3 
SERVICE_DISABLED       = 0x4 

SERVICE_KERNEL_DRIVER  = 0x1 
SERVICE_ERROR_IGNORE   = 0x0 
SERVICE_ERROR_NORMAL   = 0x1 
SERVICE_ERROR_SEVERE   = 0x2 
SERVICE_ERROR_CRITICAL = 0x3 

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