; -------------------------------------------------
;
; Copyright (c) 2012 AuthenTec, Inc.
; Manufacturer: AuthenTec, Inc.
;
; WBF driver for SPB devices.
;
; -------------------------------------------------

[Version]
Signature   = "$Windows NT$"
Class       = Biometric
ClassGuid   = {53D29EF7-377C-4D14-864B-EB3A85769359}
Provider    = %Mfg%
DriverVer=07/27/2012,4.0.0.89
CatalogFile = atspb.cat
PnpLockDown = 0

; ---- Models sections ---------------------

[Manufacturer]
%Mfg%                      = Models,NTx86.6.2    ; for Win8 and above

[Models.NTx86.6.2]
%Sensor_DeviceDesc_2750% = Sensor_Install,ACPI\AUTH2750
%Sensor_DeviceDesc_0850% = Sensor_Install,ACPI\AUTH0850

; ---- Sensor Device -----------------------

[Sensor_Install.NT]
CopyFiles       = UMDriverCopy
CopyFiles       = EngineAdapterCopy
CopyFiles       = uFMACopy
AddProperty     = DriverPropertiesSection
FeatureScore    = 0xA0

[Sensor_Install.NT.Services]
AddService      = WUDFRd,0x000001fa,WUDFRD_ServiceInstall

[Sensor_Install.NT.CoInstallers]
AddReg          = WUDF_CoInstallers_AddReg
CopyFiles       = WUDF_CoInstallers_CopyFiles

[Sensor_Install.NT.Wdf]
UmdfService              = Sensor,UMDFSensor_Install
UmdfServiceOrder         = Sensor
UmdfImpersonationLevel   = Impersonation

UmdfDirectHardwareAccess = AllowDirectHardwareAccess

[Sensor_Install.NT.HW]
AddReg          = AtSpb_Device_AddReg
AddReg          = DriverPlugInAddReg, DatabaseAddReg
AddReg          = TdbgAddReg,TdbgRootAddReg
AddReg          = uFMA_AddReg

[AtSpb_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,,"Exclusive",0x10001,1
HKR,,"SystemWakeEnabled",0x00010001,0
HKR,,"DeviceIdleEnabled",0x00010003,1           ; prevent replacing existing entry which can be written by coinstaller
HKR,,"UserSetDeviceIdleEnabled",0x00010001,1
HKR,,"ResetPortEnabled",0x00010001,1
HKR,,"DefaultIdleState",0x00010001,1
HKR,,"DefaultIdleTimeout",0x00010001,5000
HKR,WUDF,"HostTimeoutSeconds",0x00010001,550

; ---- WinBio related section --------------

[DriverPlugInAddReg]
HKR,WinBio\Configurations,DefaultConfiguration,,"0"
HKR,WinBio\Configurations\0,SensorMode,0x10001,1                                ; Basic - 1, Advanced - 2
HKR,WinBio\Configurations\0,SystemSensor,0x10001,1                              ; UAC/Winlogon - 1
HKR,WinBio\Configurations\0,SensorAdapterBinary,,"winbiosensoradapter.dll"      ; Windows built-in WBF sensor adapter.
HKR,WinBio\Configurations\0,EngineAdapterBinary,,"abengine.dll"
HKR,WinBio\Configurations\0,StorageAdapterBinary,,"winbiostorageadapter.dll"
HKR,WinBio\Configurations\0,DatabaseId,,"0707e19f-3194-45a6-9842-3439e41b0d2a"  ; Unique database GUID

[DatabaseAddReg]
HKLM,System\CurrentControlSet\Services\WbioSrvc\Databases\{0707e19f-3194-45a6-9842-3439e41b0d2a},BiometricType,0x00010001,0x00000008
HKLM,System\CurrentControlSet\Services\WbioSrvc\Databases\{0707e19f-3194-45a6-9842-3439e41b0d2a},Attributes,0x00010001,0x00000001
HKLM,System\CurrentControlSet\Services\WbioSrvc\Databases\{0707e19f-3194-45a6-9842-3439e41b0d2a},Format,,"8589b427-85a1-4a95-89e3-e021ab5c0d39"
HKLM,System\CurrentControlSet\Services\WbioSrvc\Databases\{0707e19f-3194-45a6-9842-3439e41b0d2a},InitialSize,0x00010001,0x00000020
HKLM,System\CurrentControlSet\Services\WbioSrvc\Databases\{0707e19f-3194-45a6-9842-3439e41b0d2a},AutoCreate,0x00010001,0x00000001
HKLM,System\CurrentControlSet\Services\WbioSrvc\Databases\{0707e19f-3194-45a6-9842-3439e41b0d2a},AutoName,0x00010001,0x00000001
HKLM,System\CurrentControlSet\Services\WbioSrvc\Databases\{0707e19f-3194-45a6-9842-3439e41b0d2a},FilePath,,""
HKLM,System\CurrentControlSet\Services\WbioSrvc\Databases\{0707e19f-3194-45a6-9842-3439e41b0d2a},ConnectionString,,""

; ---- traces support ----------------------

[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\atspb," option_autoassert",,"i"
; dbg end

; ---- uFMA Install section --------

[uFMA_AddReg]
HKLM,SOFTWARE\Microsoft\Windows\CurrentVersion\Control Panel\WinBio\FMA\%Mfg%\%Sensor_DeviceDesc_2750%,CommandLine,,"""%16422%\%Mfg%\uFMA\ufma.exe"" /biounit:%{biounitid}"
HKLM,SOFTWARE\Microsoft\Windows\CurrentVersion\Control Panel\WinBio\FMA\%Mfg%\%Sensor_DeviceDesc_0850%,CommandLine,,"""%16422%\%Mfg%\uFMA\ufma.exe"" /biounit:%{biounitid}"

; ---- UMDF Service Install section --------

[UMDFSensor_Install]
UmdfLibraryVersion      = 1.11.0
ServiceBinary           = %12%\UMDF\atspb.dll
DriverCLSID             = {634d0c08-7e9e-4777-babe-298f49d27087}

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

[SourceDisksFiles]
atspb.dll=1
abengine.dll=1
ufma.exe=1

[SourceDisksNames]
1 = %MediaDescription%

[WUDF_CoInstallers_AddReg]
HKR,,CoInstallers32,0x00010000,"WUDFCoInstaller.dll"

[WUDF_CoInstallers_CopyFiles]
; Intentionally empty section. We don't want to install WUDF coinstallers as we use binaries preinstalled with OS.
; However, HCK CheckInf test fails beucase it resists on CopyFile section in Sensor_Install.NT.CoInstallers section.
; So here it is but we have nothing to copy.

[DestinationDirs]
UMDriverCopy            = 12,UMDF
EngineAdapterCopy       = 11,WinBioPlugIns
uFMACopy                = 16422,%Mfg%\uFMA

[UMDriverCopy]
atspb.dll

[EngineAdapterCopy]
abengine.dll

[uFMACopy]
ufma.exe

; ---- Driver Property section -------------

[DriverPropertiesSection]
DeviceIcon,,,,"%12%\UMDF\atspb.dll,-1"

; ---- Generic -----------------------------

[Strings]
Mfg                     = "AuthenTec"
MediaDescription        = "WBF SPB driver for AuthenTec devices"
WudfRdDisplayName       = "Windows Driver Foundation - User-mode Driver Framework Reflector"
Sensor_DeviceDesc_2750  = "AuthenTec AES2750"
Sensor_DeviceDesc_0850  = "AuthenTec AES850"
