; ------------------------------------------
;
; Copyright (c) 2008,2009 UPEK, Inc.
; Manufacturer: UPEK, Inc.
;
; WBF driver with advanced mode adapters
;
; ------------------------------------------

[Version]
Signature="$Windows NT$"
Class=Biometric
ClassGuid={53D29EF7-377C-4D14-864B-EB3A85769359}
Provider=%Mfg%
DriverVer=10/26/2009,1.3.0.0214
CatalogFile=tcwbfadv.cat

[Manufacturer]
%Mfg%=Models,NTAMD64

[Models.NTAMD64]
; %Reader_DeviceDesc%        = TcWbf_Install,USB\VID_0483&PID_2015
; %Reader_DeviceDesc%        = TcWbf_Install,USB\VID_0483&PID_2015&MI_00
; %Reader_DeviceDesc%        = TcWbf_Install,USB\VID_147E&PID_2015
; %Reader_DeviceDesc%        = TcWbf_Install,USB\VID_147E&PID_2015&MI_00
; %Reader_DeviceDesc%        = TcWbf_Install,USB\VID_147E&PID_3000
; %Reader_DeviceDesc%        = TcWbf_Install,USB\VID_147E&PID_3000&MI_00
; %Reader_DeviceDesc%        = TcWbf_Install,USB\VID_147E&PID_3001
; %Reader_DeviceDesc%        = TcWbf_Install,USB\VID_147E&PID_3001&MI_00
%Sensor_DeviceDesc%        = TcWbf_Install,USB\VID_147E&PID_2016&REV_0001
%Sensor_DeviceDesc%        = TcWbf_Install,USB\VID_147E&PID_2016&REV_0001&MI_00
%Sensor_DeviceDesc%        = TcWbf_Install,USB\VID_147E&PID_1000
%Sensor_DeviceDesc%        = TcWbf_Install,USB\VID_147E&PID_1000&MI_00
%Sensor_DeviceDesc%        = TcWbf_Install,USB\VID_147E&PID_1001
%Sensor_DeviceDesc%        = TcWbf_Install,USB\VID_147E&PID_1001&MI_00
%Coprocessor_DeviceDesc%   = TcWbf_Install,USB\VID_0483&PID_2016
%Coprocessor_DeviceDesc%   = TcWbf_Install,USB\VID_0483&PID_2016&MI_00
%Coprocessor_DeviceDesc%   = TcWbf_Install,USB\VID_147E&PID_2016&REV_0002
%Coprocessor_DeviceDesc%   = TcWbf_Install,USB\VID_147E&PID_2016&REV_0002&MI_00
%Coprocessor_DeviceDesc%   = TcWbf_Install,USB\VID_147E&PID_2016&REV_0003
%Coprocessor_DeviceDesc%   = TcWbf_Install,USB\VID_147E&PID_2016&REV_0003&MI_00

[ClassInstall32]
AddReg=BiometricClass_RegistryAdd

[BiometricClass_RegistryAdd]
HKR,,,,%ClassName%
HKR,,Icon,,"-1"
HKR,,IconPath,0x00010000,"%SYSTEMROOT%\system32\biocpl.dll,-1"

[SourceDisksFiles]
tcwbf.dll=1
WudfUpdate_01009.dll=1
WdfCoInstaller01009.dll=1
WinUsbCoinstaller2.dll=1
upkbu.dll=1
enroll.exe=1
enroll.exe.config=1
enrollRsc.dll=1
enroll.resources.dll.en-US=1
enroll.resources.dll.zh-Hant=1
enroll.resources.dll.da=1
enroll.resources.dll.de=1
enroll.resources.dll.el=1
enroll.resources.dll.it=1
enroll.resources.dll.ja=1
enroll.resources.dll.ko=1
enroll.resources.dll.nl=1
enroll.resources.dll.no=1
enroll.resources.dll.pt=1
enroll.resources.dll.ru=1
enroll.resources.dll.sv=1
enroll.resources.dll.tr=1
enroll.resources.dll.fi=1
enroll.resources.dll.fr=1
enroll.resources.dll.zh-Hans=1
enroll.resources.dll.pt-PT=1
enroll.resources.dll.es=1
enroll.resources.dll.cs=1
enroll.resources.dll.hu=1
enroll.resources.dll.pl=1

[SourceDisksNames]
1 = %MediaDescription%

; ---- TcWbf device ------------------------

[TcWbf_Install.NT]
CopyFiles=UMDriverCopy
CopyFiles=EngineAdapterCopy
CopyFiles=SimpleEnrollAppCopy
CopyFiles=SimpleEnrollApp_en-US_Copy
CopyFiles=SimpleEnrollApp_zh-Hant_Copy
CopyFiles=SimpleEnrollApp_da_Copy
CopyFiles=SimpleEnrollApp_de_Copy
CopyFiles=SimpleEnrollApp_el_Copy
CopyFiles=SimpleEnrollApp_it_Copy
CopyFiles=SimpleEnrollApp_ja_Copy
CopyFiles=SimpleEnrollApp_ko_Copy
CopyFiles=SimpleEnrollApp_nl_Copy
CopyFiles=SimpleEnrollApp_no_Copy
CopyFiles=SimpleEnrollApp_pt_Copy
CopyFiles=SimpleEnrollApp_ru_Copy
CopyFiles=SimpleEnrollApp_sv_Copy
CopyFiles=SimpleEnrollApp_tr_Copy
CopyFiles=SimpleEnrollApp_fi_Copy
CopyFiles=SimpleEnrollApp_fr_Copy
CopyFiles=SimpleEnrollApp_zh-Hans_Copy
CopyFiles=SimpleEnrollApp_pt-PT_Copy
CopyFiles=SimpleEnrollApp_es_Copy
CopyFiles=SimpleEnrollApp_cs_Copy
CopyFiles=SimpleEnrollApp_hu_Copy
CopyFiles=SimpleEnrollApp_pl_Copy
AddProperty=Upek_Properties
Include=WINUSB.INF                                 ; Import sections from WINUSB.INF
Needs=WINUSB.NT                                    ; Run the CopyFiles & AddReg directives for WinUsb.INF
FeatureScore=0xa0

[TcWbf_Install.NT.HW]
AddReg=TcWbf_Device_AddReg
AddReg=DevParamsAddReg
AddReg=DriverPlugInAddReg, DatabaseAddReg
AddReg=TdbgAddReg,TdbgRootAddReg
AddReg=SimpleEnrollAppAddReg

[Upek_Properties]
DeviceIcon,,,,"%12%\UMDF\tcwbf.dll,-1"

[TcWbf_Install.NT.Services]
AddService=WUDFRd,0x000001fa,WUDFRD_ServiceInstall  ; flag 0x2 sets this as the service for the device
AddService=WinUsb,0x000001f8,WinUsb_ServiceInstall  ; this service is installed because its a filter.

[TcWbf_Install.NT.WDF]
KmdfService=WINUSB, WinUsb_Install
UmdfDispatcher=WinUsb
UmdfService=TcWbf, TcWbf_Install
UmdfServiceOrder=TcWbf

[TcWbf_Install.NT.CoInstallers]
AddReg=CoInstallers_AddReg
CopyFiles=CoInstallers_CopyFiles

[WinUsb_Install]
KmdfLibraryVersion = 1.9

[TcWbf_Install]
UmdfLibraryVersion=1.9.0
DriverCLSID = "{d9311c8f-7b1c-49b6-a2f7-56305ab533d7}"
ServiceBinary = "%12%\UMDF\tcwbf.dll"

[TcWbf_Device_AddReg]
HKR,,"DeviceCharacteristics",0x10001,0x0100     ; Use same security checks on relative opens
HKR,,"Security",,"D:P(A;;GA;;;BA)(A;;GA;;;SY)"  ; Allow generic-all access to Built-in administrators and Local system
HKR,,"LowerFilters",0x00010008,"WinUsb"         ; FLG_ADDREG_TYPE_MULTI_SZ | FLG_ADDREG_APPEND
HKR,,"Exclusive",0x10001,1
HKR,,"SystemWakeEnabled",0x00010001,0
HKR,,"DeviceIdleEnabled",0x00010001,1
HKR,,"UserSetDeviceIdleEnabled",0x00010001,1
HKR,,"ResetPortEnabled",0x00010001,1
HKR,,"DefaultIdleState",0x00010001,1
HKR,,"DefaultIdleTimeout",0x00010001,5000
HKR,WUDF,"HostTimeoutSeconds",0x00010001,550
HKR,TcWbf,"KbdWkrChecked",0x00010001,0

[DevParamsAddReg]
HKR

[DevParamsAddReg.Security]
; add the ability to write to own device parameters
"D:AR(A;CI;KR;;;WD)(A;CI;KA;;;SY)(A;CI;KA;;;LS)(A;CI;KA;;;BA)"

[DriverPlugInAddReg]
HKR,WinBio\Configurations,DefaultConfiguration,,"0"
HKR,WinBio\Configurations\0,SensorMode,0x10001,2                                ; Basic - 1, Advanced - 2
HKR,WinBio\Configurations\0,SystemSensor,0x10001,1                              ; UAC/Winlogon - 1
HKR,WinBio\Configurations\0,SensorAdapterBinary,,"upkbu.dll"
HKR,WinBio\Configurations\0,EngineAdapterBinary,,"upkbu.dll"
HKR,WinBio\Configurations\0,StorageAdapterBinary,,"winbiostorageadapter.dll"
HKR,WinBio\Configurations\0,DatabaseId,,"031D23AD-15AF-4e25-B7B3-DE34893097ED"  ; Unique database GUID

[DatabaseAddReg]
HKLM,System\CurrentControlSet\Services\WbioSrvc\Databases\{031D23AD-15AF-4e25-B7B3-DE34893097ED},BiometricType,0x00010001,0x00000008
HKLM,System\CurrentControlSet\Services\WbioSrvc\Databases\{031D23AD-15AF-4e25-B7B3-DE34893097ED},Attributes,0x00010001,0x00000001
HKLM,System\CurrentControlSet\Services\WbioSrvc\Databases\{031D23AD-15AF-4e25-B7B3-DE34893097ED},Format,,"E1ADF84B-7BD8-4ba2-A2A3-606A1569E123"
HKLM,System\CurrentControlSet\Services\WbioSrvc\Databases\{031D23AD-15AF-4e25-B7B3-DE34893097ED},InitialSize,0x00010001,0x00000020
HKLM,System\CurrentControlSet\Services\WbioSrvc\Databases\{031D23AD-15AF-4e25-B7B3-DE34893097ED},AutoCreate,0x00010001,0x00000001
HKLM,System\CurrentControlSet\Services\WbioSrvc\Databases\{031D23AD-15AF-4e25-B7B3-DE34893097ED},AutoName,0x00010001,0x00000001
HKLM,System\CurrentControlSet\Services\WbioSrvc\Databases\{031D23AD-15AF-4e25-B7B3-DE34893097ED},FilePath,,""
HKLM,System\CurrentControlSet\Services\WbioSrvc\Databases\{031D23AD-15AF-4e25-B7B3-DE34893097ED},ConnectionString,,""

[TdbgRootAddReg]
; dbg begin
HKLM,Software\tdbg_trace
HKLM,Software\tdbg_trace\1.0

[TdbgRootAddReg.Security]
; add the ability for everyone to do anything in our TDBG section
"D:AR(A;CI;GA;;;WD)"
; dbg end

[TdbgAddReg]
; dbg begin
; don't break to debugger and turn asserts to traces, instead
HKLM,Software\tdbg_trace\1.0\tcwbf," option_autoassert",,"i"
HKLM,Software\tdbg_trace\1.0\upkbu," option_autoassert",,"i"
; dbg end

[SimpleEnrollAppAddReg]
HKLM,SOFTWARE\Microsoft\Windows\CurrentVersion\Control Panel\WinBio\FMA\UPEK\TouchChip Fingerprint Reader (WBF advanced mode),CommandLine,,"""%16422%\Protector Suite\FMA\enroll.exe"" /biounit:%{biounitid}"
HKLM,SOFTWARE\Microsoft\Windows\CurrentVersion\Control Panel\WinBio\FMA\UPEK\TouchStrip Fingerprint Sensor (WBF advanced mode),CommandLine,,"""%16422%\Protector Suite\FMA\enroll.exe"" /biounit:%{biounitid}"
HKLM,SOFTWARE\Microsoft\Windows\CurrentVersion\Control Panel\WinBio\FMA\UPEK\TouchChip Fingerprint Coprocessor (WBF advanced mode),CommandLine,,"""%16422%\Protector Suite\FMA\enroll.exe"" /biounit:%{biounitid}"

[WUDFRD_ServiceInstall]
DisplayName = %WudfRdDisplayName%
ServiceType = 1
StartType = 3
ErrorControl = 1
ServiceBinary = %12%\WUDFRd.sys
LoadOrderGroup = Base

[WinUsb_ServiceInstall]
DisplayName     = %WinUsb_SvcDesc%
ServiceType     = 1
StartType       = 3
ErrorControl    = 1
ServiceBinary   = %12%\WinUSB.sys

[CoInstallers_AddReg]
HKR,,CoInstallers32,0x00010000,"WudfUpdate_01009.dll","WinUsbCoinstaller2.dll","WdfCoInstaller01009.dll,WdfCoInstaller"

[CoInstallers_CopyFiles]
WudfUpdate_01009.dll
WdfCoInstaller01009.dll
WinUsbCoinstaller2.dll

[DestinationDirs]
UMDriverCopy=12,UMDF ; copy to driversMdf
CoInstallers_CopyFiles=11
EngineAdapterCopy=11,WinBioPlugIns
SimpleEnrollAppCopy=16422,Protector Suite\FMA
SimpleEnrollApp_en-US_Copy=16422,Protector Suite\FMA\en-US
SimpleEnrollApp_zh-Hant_Copy=16422,Protector Suite\FMA\zh-Hant
SimpleEnrollApp_da_Copy=16422,Protector Suite\FMA\da
SimpleEnrollApp_de_Copy=16422,Protector Suite\FMA\de
SimpleEnrollApp_el_Copy=16422,Protector Suite\FMA\el
SimpleEnrollApp_it_Copy=16422,Protector Suite\FMA\it
SimpleEnrollApp_ja_Copy=16422,Protector Suite\FMA\ja
SimpleEnrollApp_ko_Copy=16422,Protector Suite\FMA\ko
SimpleEnrollApp_nl_Copy=16422,Protector Suite\FMA\nl
SimpleEnrollApp_no_Copy=16422,Protector Suite\FMA\no
SimpleEnrollApp_pt_Copy=16422,Protector Suite\FMA\pt
SimpleEnrollApp_ru_Copy=16422,Protector Suite\FMA\ru
SimpleEnrollApp_sv_Copy=16422,Protector Suite\FMA\sv
SimpleEnrollApp_tr_Copy=16422,Protector Suite\FMA\tr
SimpleEnrollApp_fi_Copy=16422,Protector Suite\FMA\fi
SimpleEnrollApp_fr_Copy=16422,Protector Suite\FMA\fr
SimpleEnrollApp_zh-Hans_Copy=16422,Protector Suite\FMA\zh-Hans
SimpleEnrollApp_pt-PT_Copy=16422,Protector Suite\FMA\pt-PT
SimpleEnrollApp_es_Copy=16422,Protector Suite\FMA\es
SimpleEnrollApp_cs_Copy=16422,Protector Suite\FMA\cs
SimpleEnrollApp_hu_Copy=16422,Protector Suite\FMA\hu
SimpleEnrollApp_pl_Copy=16422,Protector Suite\FMA\pl

[UMDriverCopy]
tcwbf.dll

[EngineAdapterCopy]
upkbu.dll

[SimpleEnrollAppCopy]
enroll.exe
enroll.exe.config
enrollRsc.dll

[SimpleEnrollApp_en-US_Copy]
enroll.resources.dll,enroll.resources.dll.en-US

[SimpleEnrollApp_zh-Hant_Copy]
enroll.resources.dll,enroll.resources.dll.zh-Hant

[SimpleEnrollApp_da_Copy]
enroll.resources.dll,enroll.resources.dll.da

[SimpleEnrollApp_de_Copy]
enroll.resources.dll,enroll.resources.dll.de

[SimpleEnrollApp_el_Copy]
enroll.resources.dll,enroll.resources.dll.el

[SimpleEnrollApp_it_Copy]
enroll.resources.dll,enroll.resources.dll.it

[SimpleEnrollApp_ja_Copy]
enroll.resources.dll,enroll.resources.dll.ja

[SimpleEnrollApp_ko_Copy]
enroll.resources.dll,enroll.resources.dll.ko

[SimpleEnrollApp_nl_Copy]
enroll.resources.dll,enroll.resources.dll.nl

[SimpleEnrollApp_no_Copy]
enroll.resources.dll,enroll.resources.dll.no

[SimpleEnrollApp_pt_Copy]
enroll.resources.dll,enroll.resources.dll.pt

[SimpleEnrollApp_ru_Copy]
enroll.resources.dll,enroll.resources.dll.ru

[SimpleEnrollApp_sv_Copy]
enroll.resources.dll,enroll.resources.dll.sv

[SimpleEnrollApp_tr_Copy]
enroll.resources.dll,enroll.resources.dll.tr

[SimpleEnrollApp_fi_Copy]
enroll.resources.dll,enroll.resources.dll.fi

[SimpleEnrollApp_fr_Copy]
enroll.resources.dll,enroll.resources.dll.fr

[SimpleEnrollApp_zh-Hans_Copy]
enroll.resources.dll,enroll.resources.dll.zh-Hans

[SimpleEnrollApp_pt-PT_Copy]
enroll.resources.dll,enroll.resources.dll.pt-PT

[SimpleEnrollApp_es_Copy]
enroll.resources.dll,enroll.resources.dll.es

[SimpleEnrollApp_cs_Copy]
enroll.resources.dll,enroll.resources.dll.cs

[SimpleEnrollApp_hu_Copy]
enroll.resources.dll,enroll.resources.dll.hu

[SimpleEnrollApp_pl_Copy]
enroll.resources.dll,enroll.resources.dll.pl

[Strings]
Mfg                     = "UPEK"
MediaDescription        = "Windows Biometric Framework driver for UPEK devices"
ClassName               = "Biometric Devices"
WudfRdDisplayName       = "Windows Driver Foundation - User-mode Driver Framework Reflector"
WinUsb_SvcDesc          = "WinUSB Driver"
Reader_DeviceDesc       = "TouchChip Fingerprint Reader (WBF advanced mode)"
Sensor_DeviceDesc       = "TouchStrip Fingerprint Sensor (WBF advanced mode)"
Coprocessor_DeviceDesc  = "TouchChip Fingerprint Coprocessor (WBF advanced mode)"
