; EloMTSer.inf
; Copyright (c) 2014 Elo Touch Solutions.

[version]
signature="$WINDOWS NT$"
Class=HIDClass
ClassGuid={745a17a0-74d3-11d0-b6fe-00a0c90f57da}
Provider=%ELO%
DriverVer=01/03/2014,6.2.0.1
CatalogFile.NTx86  = EloMTSer32.cat

[SourceDisksNames.x86]
1=%EloMTDisk%,,,\i386

[SourceDisksFiles]
EloMTSer.sys = 1
EloBus.sys   = 1
hidkmdf.sys  = 1
wdfcoinstaller01009.dll = 1

[ControlFlags]
ExcludeFromSelect=*

[DestinationDirs]
DefaultDestDir              =11     ;LDID_SYS
EloMTSerInst.NT.Copy        =12
EloMTSerLGInst.NT.Copy      =12     ;LDID_DRIVERS
EloMTSerInst.Win7.NT.Copy   =12     ;LDID_DRIVERS
EloMTSerLGInst.Win7.NT.Copy =12     ;LDID_DRIVERS
EloTouchInst_CoInstaller_CopyFiles = 11

; Drivers
;----------------------------------------------------------
[Manufacturer]
%Elo%=Elo, NTx86, NTx86.6.1

;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;For Windows XP
[Elo.NTx86]
%EloTouchLG.DeviceDesc%   =EloMTSerLGInst, SERENUM\ELOSERIAL
%EloTouchIT.DeviceDesc%   =EloMTSerInst, SERENUM\ELO000F
%EloTouchIT.DeviceDesc%   =EloMTSerInst, SERENUM\ELO0021
%EloTouchIR.DeviceDesc%   =EloMTSerInst, SERENUM\ELO0035
%EloTouchIT.DeviceDesc%   =EloMTSerInst, SERENUM\ELO09C4

;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;For Windows 7
[Elo.NTx86.6.1]
%EloTouchLG.DeviceDesc%   =EloMTSerLGInst.Win7, SERENUM\ELOSERIAL
%EloTouchIT.DeviceDesc%   =EloMTSerInst.Win7, SERENUM\ELO000F
%EloTouchIT.DeviceDesc%   =EloMTSerInst.Win7, SERENUM\ELO0021
%EloTouchIR.DeviceDesc%   =EloMTSerInst.Win7, SERENUM\ELO0035
%EloTouchIT.DeviceDesc%   =EloMTSerInst.Win7, SERENUM\ELO09C4

;===============================================================
;  EloMTSerLGInst for Win XP  - EloBus
;===============================================================

[EloMTSerLGInst.NT]
CopyFiles =EloMTSerLGInst.NT.Copy

[EloMTSerLGInst.NT.Copy]
EloMTSer.sys
EloBus.sys
hidkmdf.sys

[EloMTSerLGInst.NT.HW]
AddReg =SerialInst.NT.HW.AddReg

[EloMTSerLGInst.NT.Services]
AddService =serial,,SerialServiceInst, SerialEventLogInst
AddService =EloBus,, clasfilt_Service_Inst, clasfilt_EventLog_Inst
AddService =EloMTSer,0x00000002,EloMTSerServiceInst,EloEventLogInst
AddService =serenum,,SerenumServiceInst, SerenumEventLogInst
AddService =hidkmdf,, hidkmdf_Service_Inst

;===============================================================
;  EloMTSerInst for Win XP
;===============================================================

[EloMTSerInst.NT]
CopyFiles =EloMTSerInst.NT.Copy

[EloMTSerInst.NT.Copy]
EloMTSer.sys
hidkmdf.sys

[EloMTSerInst.NT.HW]
AddReg =SerialInst.NT.HW.AddReg

[EloMTSerInst.NT.Services]
AddService =serial,,SerialServiceInst, SerialEventLogInst
AddService =EloMTSer,0x00000002,EloMTSerServiceInst,EloEventLogInst
AddService =serenum,,SerenumServiceInst, SerenumEventLogInst
AddService =hidkmdf,, hidkmdf_Service_Inst

[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

[SerialInst.NT.HW.AddReg]
HKR,,"UpperFilters",0x00010000,hidkmdf
HKR,,"MultiportDevice",0x00010001,0
HKR,,"SerialRelinquishPowerPolicy",0x00010001,1

;===============================================================
;  EloMTSerLGInst for Win7  - EloBus
;===============================================================

[EloMTSerLGInst.Win7.NT]
CopyFiles =EloMTSerLGInst.Win7.NT.Copy

[EloMTSerLGInst.Win7.NT.Copy]
EloMTSer.sys
EloBus.sys

[EloMTSerLGInst.Win7.NT.HW]
AddReg =SerialInst.Win7.NT.HW.AddReg

[EloMTSerLGInst.Win7.NT.Services]
AddService =serial,,SerialServiceInst, SerialEventLogInst
AddService =EloBus,, clasfilt_Service_Inst, clasfilt_EventLog_Inst
AddService =EloMTSer,0x00000002,EloMTSerServiceInst,EloEventLogInst
AddService =serenum,,SerenumServiceInst, SerenumEventLogInst

[SerialInst.Win7.NT.HW.AddReg]
HKR,,"UpperFilters",0x00010000,mshidkmdf
HKR,,"MultiportDevice",0x00010001,0
HKR,,"SerialRelinquishPowerPolicy",0x00010001,1

;===============================================================
;  EloMTSerInst for Win7
;===============================================================

[EloMTSerInst.Win7.NT]
CopyFiles =EloMTSerInst.Win7.NT.Copy

[EloMTSerInst.Win7.NT.Copy]
EloMTSer.sys

[EloMTSerInst.Win7.NT.HW]
AddReg =SerialInst.Win7.NT.HW.AddReg

[EloMTSerInst.Win7.NT.Services]
AddService =serial,,SerialServiceInst, SerialEventLogInst
AddService =EloMTSer,0x00000002,EloMTSerServiceInst,EloEventLogInst
AddService =serenum,,SerenumServiceInst, SerenumEventLogInst

[SerialInst.Win7.NT.HW.AddReg]
HKR,,"UpperFilters",0x00010000,mshidkmdf
HKR,,"MultiportDevice",0x00010001,0
HKR,,"SerialRelinquishPowerPolicy",0x00010001,1

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

[clasfilt_Service_Inst]
DisplayName    	= %ClasFilt.SvcDesc%
ServiceType	= 1                  	; SERVICE_KERNEL_DRIVER
StartType	= 3                  	; SERVICE_DEMAND_START
ErrorControl	= 1                  	; SERVICE_ERROR_NORMAL
ServiceBinary  = %12%\EloBus.sys	

[clasfilt_EventLog_Inst]
AddReg = clasfilt_EventLog_AddReg

[clasfilt_EventLog_AddReg]
HKR,,EventMessageFile, %REG_EXPAND_SZ%,"%%SystemRoot%%\System32\IoLogMsg.dll;%%SystemRoot%%\System32\drivers\elobus.sys"
HKR,,TypesSupported, %REG_DWORD%, 7

[EloEventLogInst]
AddReg =EloEventLogAddReg

[EloEventLogAddReg]
HKR,,EventMessageFile,0x00020000,"%%SystemRoot%%\System32\IoLogMsg.dll;%%SystemRoot%%\System32\drivers\EloMTSer.sys"
HKR,,TypesSupported,0x00010001,7

; -------------- Elo Touch Driver install section
[EloMTSerServiceInst]
DisplayName    = %EloMTSer.SVCDESC%
ServiceType    = 1               ; SERVICE_KERNEL_DRIVER
StartType      = 3               ;
ErrorControl   = 1               ; SERVICE_ERROR_NORMAL
ServiceBinary  = %12%\EloMTSer.sys
LoadOrderGroup = Extended Base

[SerialEventLogInst]
AddReg = SerialEventLogAddReg

[SerialEventLogAddReg]
HKR,,EventMessageFile,0x00020000,"%%SystemRoot%%\System32\IoLogMsg.dll;%%SystemRoot%%\System32\drivers\serial.sys"
HKR,,TypesSupported,0x00010001,7

[SerenumEventLogInst]
AddReg = SerenumEventLogAddReg

[SerenumEventLogAddReg]
HKR,,EventMessageFile,0x00020000,"%%SystemRoot%%\System32\IoLogMsg.dll;%%SystemRoot%%\System32\drivers\serenum.sys"
HKR,,TypesSupported,0x00010001,7

; -------------- Serenum Port Driver install sections
[SerenumServiceInst]
DisplayName    = %Serenum.SVCDESC%
ServiceType    = 1               ; SERVICE_KERNEL_DRIVER
StartType      = 3               ; SERVICE_DEMAND_START
ErrorControl   = 0               ; SERVICE_ERROR_IGNORE
ServiceBinary  = %12%\serenum.sys
LoadOrderGroup = Extended base

; -------------- Serial Port Driver install sections
[SerialServiceInst]
DisplayName    = %Serial.SVCDESC%
ServiceType    = 1               ; SERVICE_KERNEL_DRIVER
StartType      = 3               ; SERVICE_DEMAND_START
ErrorControl   = 0               ; SERVICE_ERROR_IGNORE
ServiceBinary  = %12%\serial.sys
LoadOrderGroup = Extended base


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

[EloMTSerInst.NT.CoInstallers]
AddReg=EloTouchInst_CoInstaller_AddReg
CopyFiles=EloTouchInst_CoInstaller_CopyFiles

[EloTouchInst_CoInstaller_AddReg]
HKR,,CoInstallers32,0x00010000, "wdfcoinstaller01009.dll,WdfCoInstaller"

[EloTouchInst_CoInstaller_CopyFiles]
wdfcoinstaller01009.dll

[EloMTSerInst.NT.Wdf]
KmdfService = EloMTSer, EloWdfInstalll

[EloWdfInstalll]
KmdfLibraryVersion = 1.9

[Strings]

MS="Microsoft"
Elo="Elo Touch Solutions"
EloMTDisk="Elo Install Disk"
EloTouchLG.DeviceDesc   ="Elo Touch Solutions Serial Touchscreen"
EloTouchIR.DeviceDesc   ="Elo Touch Solutions Serial IR Touchscreen"
EloTouchIT.DeviceDesc   ="Elo Touch Solutions Serial IT Touchscreen"
EloMTSer.SVCDESC        ="Elo Touch Solutions Serial Service"
Serenum.SVCDESC         ="Serenum Port Driver"
Serial.SVCDESC          ="Serial Port Driver"
hidkmdf.SVCDESC         ="HID Class Shim for KMDF"

ClasFilt.SvcDesc        ="Elo Touch Solutions Touchscreen Serial Elobus Filter Driver"

;  *******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
