[Version]
Signature="$CHICAGO$"
Class=HIDClass
ClassGuid={745a17a0-74d3-11d0-b6fe-00a0c90f57da}
Provider=%SiS%
LayoutFile=layout.inf	
DriverVer=05/29/2012,7.2.51.00
CatalogFile=sis_hidusb.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]
sishidusb.sys = 99
hidkmdf.sys = 99

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

[DestinationDirs]
CopyFunctionDriver = 12      
CopyFilterDriver = 12      


[Manufacturer]
%SiS%=SiS_USB, NTx86, NTx86.6.1

; For Win2K
[SiS_USB]
%sishidusb%    = sishidusb.Inst, USB\VID_0596&PID_0600
%sishidusb%    = sishidusb.Inst, USB\VID_0596&PID_0601
%sishidusb%    = sishidusb.Inst, USB\VID_0457&PID_0151
%sishidusb%    = sishidusb.Inst, USB\VID_0457&PID_0816
%sishidusb%    = sishidusb.Inst, USB\VID_0457&PID_0817
%sishidusb%    = sishidusb.Inst, USB\VID_0457&PID_F817
%sishidusb%    = sishidusb.Inst, USB\VID_0457&PID_9200
%sishidusb%    = sishidusb.Inst, USB\VID_0457&PID_0810
%PanelCollection%    = PanelCollection.Inst, HID\VID_0596&PID_0600&COL01
%PanelCollection%    = PanelCollection.Inst, HID\VID_0596&PID_0601&COL01
%PanelCollection%    = PanelCollection.Inst, HID\VID_0457&PID_0151&COL01
%PanelCollection%    = PanelCollection.Inst, HID\VID_0457&PID_0816&COL01
%PanelCollection%    = PanelCollection.Inst, HID\VID_0457&PID_0817&COL01
%PanelCollection%    = PanelCollection.Inst, HID\VID_0457&PID_F817&COL01
%PanelCollection%    = PanelCollection.Inst, HID\VID_0457&PID_9200&COL01
%PanelCollection%    = PanelCollection.Inst, HID\VID_0457&PID_0810&COL01


; For XP and later
[SiS_USB.NTx86]
%sishidusb%    = sishidusb.Inst, USB\VID_0596&PID_0600
%sishidusb%    = sishidusb.Inst, USB\VID_0596&PID_0601
%sishidusb%    = sishidusb.Inst, USB\VID_0457&PID_0151
%sishidusb%    = sishidusb.Inst, USB\VID_0457&PID_0816
%sishidusb%    = sishidusb.Inst, USB\VID_0457&PID_0817
%sishidusb%    = sishidusb.Inst, USB\VID_0457&PID_F817
%sishidusb%    = sishidusb.Inst, USB\VID_0457&PID_9200
%sishidusb%    = sishidusb.Inst, USB\VID_0457&PID_0810
%PanelCollection%    = PanelCollection.Inst, HID\VID_0596&PID_0600&COL01
%PanelCollection%    = PanelCollection.Inst, HID\VID_0596&PID_0601&COL01
%PanelCollection%    = PanelCollection.Inst, HID\VID_0457&PID_0151&COL01
%PanelCollection%    = PanelCollection.Inst, HID\VID_0457&PID_0816&COL01
%PanelCollection%    = PanelCollection.Inst, HID\VID_0457&PID_0817&COL01
%PanelCollection%    = PanelCollection.Inst, HID\VID_0457&PID_F817&COL01
%PanelCollection%    = PanelCollection.Inst, HID\VID_0457&PID_9200&COL01
%PanelCollection%    = PanelCollection.Inst, HID\VID_0457&PID_0810&COL01


; For Win7 and later so that we can use inbox HID-KMDF mapper
[SiS_USB.NTx86.6.1]
%sishidusb%    = sishidusb.Inst.Win7, USB\VID_0596&PID_0600
%sishidusb%    = sishidusb.Inst.Win7, USB\VID_0596&PID_0601
%sishidusb%    = sishidusb.Inst.Win7, USB\VID_0457&PID_0151
%sishidusb%    = sishidusb.Inst.Win7, USB\VID_0457&PID_0816
%sishidusb%    = sishidusb.Inst.Win7, USB\VID_0457&PID_0817
%sishidusb%    = sishidusb.Inst.Win7, USB\VID_0457&PID_F817
%sishidusb%    = sishidusb.Inst.Win7, USB\VID_0457&PID_9200
%sishidusb%    = sishidusb.Inst.Win7, USB\VID_0457&PID_0810
%PanelCollection%    = PanelCollection.Inst, HID\VID_0596&PID_0600&COL01
%PanelCollection%    = PanelCollection.Inst, HID\VID_0596&PID_0601&COL01
%PanelCollection%    = PanelCollection.Inst, HID\VID_0457&PID_0151&COL01
%PanelCollection%    = PanelCollection.Inst, HID\VID_0457&PID_0816&COL01
%PanelCollection%    = PanelCollection.Inst, HID\VID_0457&PID_0817&COL01
%PanelCollection%    = PanelCollection.Inst, HID\VID_0457&PID_F817&COL01
%PanelCollection%    = PanelCollection.Inst, HID\VID_0457&PID_9200&COL01
%PanelCollection%    = PanelCollection.Inst, HID\VID_0457&PID_0810&COL01

;===============================================================
;   sishidusb for Win2K thru Vista
;===============================================================
[sishidusb.Inst.NT]
CopyFiles = CopyFunctionDriver, CopyFilterDriver

[sishidusb.Inst.NT.HW]
AddReg = sishidusb_Parameters.AddReg 

;
; hidkmdf is the function driver and sishidusb is the lower filter
;
[sishidusb.Inst.NT.Services]
AddService = hidkmdf,,hidkmdf_Service_Inst,
AddService = sishidusb,0x00000002, sishidusb_Service_Inst

[CopyFilterDriver]     ;;;;;originally it was [CopyFunctionDriver]. But it will cause win7 also copy this file..unless we want win 7 use it instead of mshidkmdf.
hidkmdf.sys

[sishidusb_Parameters.AddReg]
HKR,,"UpperFilters",0x00010000,"hidkmdf"

[hidkmdf_Service_Inst]
DisplayName    = %hidkmdf.SVCDESC%
ServiceType    = 1               ; SERVICE_KERNEL_DRIVER
StartType      = 3               ; SERVICE_DEMAND_START 
ErrorControl   = 1               ; SERVICE_ERROR_NORMAL
ServiceBinary  = %12%\hidkmdf.sys
LoadOrderGroup = PNP Filter


;===============================================================
;   sishidusb for Win7
;   Instead of using hidkmdf.sys as a filter, use the inbox 
;   mshidkmdf.sys as a mapper filter
;===============================================================
[sishidusb.Inst.Win7.NT]
; Just copy the driver. No neeed to copy other system binaries.
CopyFiles = CopyFunctionDriver

[sishidusb.Inst.Win7.NT.HW]
AddReg = sishidusb_Win7_Parameters.AddReg 

;
; hidkmdf is the function driver and sishidusb is the lower filter
;
[sishidusb.Inst.Win7.NT.Services]
AddService = sishidusb,0x00000002, sishidusb_Service_Inst

[sishidusb_Win7_Parameters.AddReg]
HKR,,"UpperFilters",0x00010000,"mshidkmdf"

;===============================================================
;   Sections common to all OS versions
;===============================================================


[CopyFunctionDriver]
sishidusb.sys


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

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

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

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

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




;================================================================
;--- WDF Coinstaller installation ------
;
[DestinationDirs]
sishidusb.Inst_CoInstaller_CopyFiles = 11

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

[sishidusb.Inst_CoInstaller_AddReg]
HKR,,CoInstallers32,0x00010000, "WdfCoInstaller01009.dll,WdfCoInstaller"

[sishidusb.Inst_CoInstaller_CopyFiles]
WdfCoInstaller01009.dll,,,0x00000010    ;COPYFLG_NO_OVERWRITE (for win2k)

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

[sishidusb.Inst.NT.Wdf]
KmdfService = sishidusb, sishidusb_wdfsect
[sishidusb_wdfsect]
KmdfLibraryVersion = 1.9

[Strings] 
;  *******Localizable Strings******* 
SiS         = "Silicon Integrated Systems Co." 
sishidusb       = "SiS Panel Minidriver on USB" 
hidusb       = "SiS Panel on USB" 
PanelCollection = "SiS Panel Collection for HID USB"
DISK_NAME      = "SiS USB Touch Panel Device"
hidkmdf.SVCDESC= "SiS Panel Filter Driver Service for HID-KMDF Interface layer"

;  *******Non Localizable Strings******* 

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

