; Copyright (C) 2016 Synaptics Incorporated, All Rights Reserved.
; synaWudfBioUsbLenovo.inf - Install the WBDI USB user-mode driver - Synaptics WBDI 
;


[Version]
Signature="$Windows NT$"
Class=Biometric
ClassGuid={53D29EF7-377C-4D14-864B-EB3A85769359}
Provider=%SYNAUMDF%
CatalogFile=synaumdfspilenovografSGX.cat
DriverVer=05/18/2017,5.02.0215.0026

[Manufacturer]
%SYNAUMDF%=Synaptics,NTamd64.6.1, NTamd64.6.3, NTamd64.10.0


[Synaptics.NTx86.6.1]
; TODO: Change the VendorID (VID) and ProductID (PID) to match your device
%WBDISpiDeviceName%=Biometric_Install_7, ACPI\SYNA8001


[Synaptics.NTx86.6.3]
; TODO: Change the VendorID (VID) and ProductID (PID) to match your device
%WBDISpiDeviceName%=Biometric_Install_8, ACPI\SYNA8001


[Synaptics.NTx86.10.0]
; TODO: Change the VendorID (VID) and ProductID (PID) to match your device
%WBDISpiDeviceName%=Biometric_Install_10, ACPI\SYNA8001


[Synaptics.NTamd64.6.1]
; TODO: Change the VendorID (VID) and ProductID (PID) to match your device
%WBDISpiDeviceName%=Biometric_Install_7, ACPI\SYNA8001


[Synaptics.NTamd64.6.3]
; TODO: Change the VendorID (VID) and ProductID (PID) to match your device
%WBDISpiDeviceName%=Biometric_Install_8, ACPI\SYNA8001


[Synaptics.NTamd64.10.0]
; TODO: Change the VendorID (VID) and ProductID (PID) to match your device
%WBDISpiDeviceName%=Biometric_Install_10, ACPI\SYNA8001


[SourceDisksFiles]
synaWudfBioSpi.dll=1
synaDriverLoader.dll=1
synaBscAdapter.dll=1 ; Synaptics engine adapter
synaWudfBioSpiSGX.dll=1
WudfUpdate_01011.dll=1


;SGX dlls
synaTEE.signed.dll=1
vtp.dll=1

;SGX SDK
SGXCoInstaller.dll=1
sgx_capable.dll=1
Intel(R)_SGX_Windows_x64_PSW_1.6.101.32869.msi=1

[SourceDisksNames]
1 = %MediaDescription%

; =================== UMDF WBDI Spi Device - WBDI IOCTL interface ==================================


[Biometric_Install_7.NTx86]
CopyFiles=UMDriverCopy, WinBioEngineAdapterCopy
AddProperty=Device_Properties

[Biometric_Install_8.NTx86]
CopyFiles=UMDriverCopy, WinBioEngineAdapterCopy
AddProperty=Device_Properties

[Biometric_Install_10.NTx86]
CopyFiles=UMDriverCopy, WinBioEngineAdapterCopy
AddProperty=Device_Properties


[Biometric_Install_7.NTamd64]
CopyFiles=UMDriverCopy, WinBioEngineAdapterCopy
AddProperty=Device_Properties

[Biometric_Install_8.NTamd64]
CopyFiles=UMDriverCopy, WinBioEngineAdapterCopy
AddProperty=Device_Properties

[Biometric_Install_10.NTamd64]
CopyFiles=UMDriverCopy, SGXUMDriverCopy, SGXUMDriverCopy, SGXCopyFile, WinBioEngineAdapterCopy
AddProperty=Device_Properties


[Biometric_Install_7.NTx86.hw]
AddReg=Biometric_Device_AddReg
AddReg=DriverPlugInAddReg, DatabaseAddReg
AddReg=UsdkAddReg

[Biometric_Install_8.NTx86.hw]
AddReg=Biometric_Device_AddReg
AddReg=DriverPlugInAddReg, DatabaseAddReg
AddReg=UsdkAddReg

[Biometric_Install_10.NTx86.hw]
AddReg=Biometric_Device_AddReg
AddReg=DriverPlugInAddReg, DatabaseAddReg
AddReg=UsdkAddReg


[Biometric_Install_7.NTamd64.hw]
AddReg=Biometric_Device_AddReg
AddReg=DriverPlugInAddReg, DatabaseAddReg
AddReg=UsdkAddReg

[Biometric_Install_8.NTamd64.hw]
AddReg=Biometric_Device_AddReg
AddReg=DriverPlugInAddReg, DatabaseAddReg
AddReg=UsdkAddReg

[Biometric_Install_10.NTamd64.hw]
AddReg=Biometric_Device_AddReg
AddReg=DriverPlugInAddReg, DatabaseAddReg, DriverPlugInAddRegSGX, DatabaseAddRegSGX
AddReg=UsdkAddReg


[Device_Properties]
DeviceIcon,,,,"%%SYSTEMROOT%%\system32\SysClass.dll,-201" ; This is where a device specific icon can be specified.

[Biometric_Install_7.NTx86.Services]
AddService=WUDFRd,0x000001fa,WUDFRD_ServiceInstall  ; flag 0x2 sets this as the service for the device

[Biometric_Install_8.NTx86.Services]
AddService=WUDFRd,0x000001fa,WUDFRD_ServiceInstall  ; flag 0x2 sets this as the service for the device

[Biometric_Install_10.NTx86.Services]
AddService=WUDFRd,0x000001fa,WUDFRD_ServiceInstall  ; flag 0x2 sets this as the service for the device


[Biometric_Install_7.NTamd64.Services]
AddService=WUDFRd,0x000001fa,WUDFRD_ServiceInstall  ; flag 0x2 sets this as the service for the device

[Biometric_Install_8.NTamd64.Services]
AddService=WUDFRd,0x000001fa,WUDFRD_ServiceInstall  ; flag 0x2 sets this as the service for the device

[Biometric_Install_10.NTamd64.Services]
AddService=WUDFRd,0x000001fa,WUDFRD_ServiceInstall  ; flag 0x2 sets this as the service for the device


[Biometric_Install_7.NTx86.Wdf]
UmdfService=synaWudfBioSpi, synaWudfBioSpi_Install
UmdfServiceOrder=synaWudfBioSpi
UmdfImpersonationLevel   = Impersonation
UmdfDirectHardwareAccess = AllowDirectHardwareAccess

[Biometric_Install_8.NTx86.Wdf]
UmdfService=synaWudfBioSpi, synaWudfBioSpi_Install
UmdfServiceOrder=synaWudfBioSpi
UmdfImpersonationLevel   = Impersonation
UmdfDirectHardwareAccess = AllowDirectHardwareAccess

[Biometric_Install_10.NTx86.Wdf]
UmdfService=synaWudfBioSpi, synaWudfBioSpi_Install
UmdfServiceOrder=synaWudfBioSpi
UmdfImpersonationLevel   = Impersonation
UmdfDirectHardwareAccess = AllowDirectHardwareAccess


[Biometric_Install_7.NTamd64.Wdf]
UmdfService=synaWudfBioSpi, synaWudfBioSpi_Install
UmdfServiceOrder=synaWudfBioSpi
UmdfImpersonationLevel   = Impersonation
UmdfDirectHardwareAccess = AllowDirectHardwareAccess

[Biometric_Install_8.NTamd64.Wdf]
UmdfService=synaWudfBioSpi, synaWudfBioSpi_Install
UmdfServiceOrder=synaWudfBioSpi
UmdfImpersonationLevel   = Impersonation
UmdfDirectHardwareAccess = AllowDirectHardwareAccess

[Biometric_Install_10.NTamd64.Wdf]
UmdfService=synaWudfBioSpi, synaWudfBioUsbSGX_Install
UmdfServiceOrder=synaWudfBioSpi
UmdfImpersonationLevel   = Impersonation
UmdfDirectHardwareAccess = AllowDirectHardwareAccess


[Biometric_Install_7.NTx86.CoInstallers]
AddReg=CoInstallers_AddReg
CopyFiles=CoInstallers_CopyFiles

[Biometric_Install_8.NTx86.CoInstallers]
AddReg=CoInstallers_AddReg
CopyFiles=CoInstallers_CopyFiles

[Biometric_Install_10.NTx86.CoInstallers]
AddReg=CoInstallers_AddReg
CopyFiles=CoInstallers_CopyFiles


[Biometric_Install_7.NTamd64.CoInstallers]
AddReg=CoInstallers_AddReg
CopyFiles=CoInstallers_CopyFiles

[Biometric_Install_8.NTamd64.CoInstallers]
AddReg=CoInstallers_AddReg
CopyFiles=CoInstallers_CopyFiles

[Biometric_Install_10.NTamd64.CoInstallers]
AddReg=CoInstallers_AddReg
AddReg=CoInstallersSGX_AddReg
CopyFiles=CoInstallers_CopyFiles
CopyFiles=CoInstallersSGX_CopyFiles
CopyFiles=SGXInstallers_CopyFiles


[synaWudfBioSpi_Install]
UmdfLibraryVersion=1.11.0
DriverCLSID = "{96710705-B080-4B29-A3EC-B16935AE663A}"
ServiceBinary = %12%\UMDF\synaWudfBioSpi.dll


[synaWudfBioUsbSGX_Install]
UmdfLibraryVersion=1.11.0
DriverCLSID = "{96710705-B080-4B29-A3EC-B16935AE663A}"
ServiceBinary = %12%\UMDF\synaDriverLoader.dll


[Biometric_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,1
HKR,,"DeviceIdleEnabled",0x00010001,1
HKR,,"UserSetDeviceIdleEnabled",0x00010001,1
HKR,,"DefaultIdleState",0x00010001,1
HKR,,"DefaultIdleTimeout",0x00010001,5000


[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,,"synaBscAdapter.DLL"           ; Windows built-in WBDI sensor adapter.
HKR,WinBio\Configurations\0,EngineAdapterBinary,,"synaBscAdapter.DLL"           ; Vendor engine
HKR,WinBio\Configurations\0,StorageAdapterBinary,,"WinBioStorageAdapter.DLL"    ; Windows built-in storage adapter
HKR,WinBio\Configurations\0,DatabaseId,,"5B783138-7746-454F-B66A-1C8BC1F814D2"  ; must have Synaptics specific GUID for DB


[DatabaseAddReg]
HKLM, System\CurrentControlSet\Services\WbioSrvc\Databases\{5B783138-7746-454F-B66A-1C8BC1F814D2},BiometricType,0x00010001,0x00000008
HKLM, System\CurrentControlSet\Services\WbioSrvc\Databases\{5B783138-7746-454F-B66A-1C8BC1F814D2},Attributes,0x00010001,0x00000001
HKLM, System\CurrentControlSet\Services\WbioSrvc\Databases\{5B783138-7746-454F-B66A-1C8BC1F814D2},Format,,"00000000-0000-0000-0000-000000000000"
HKLM, System\CurrentControlSet\Services\WbioSrvc\Databases\{5B783138-7746-454F-B66A-1C8BC1F814D2},InitialSize,0x00010001,0x00000020
HKLM, System\CurrentControlSet\Services\WbioSrvc\Databases\{5B783138-7746-454F-B66A-1C8BC1F814D2},AutoCreate,0x00010001,0x00000001
HKLM, System\CurrentControlSet\Services\WbioSrvc\Databases\{5B783138-7746-454F-B66A-1C8BC1F814D2},AutoName,0x00010001,0x00000001
HKLM, System\CurrentControlSet\Services\WbioSrvc\Databases\{5B783138-7746-454F-B66A-1C8BC1F814D2},FilePath,,""
HKLM, System\CurrentControlSet\Services\WbioSrvc\Databases\{5B783138-7746-454F-B66A-1C8BC1F814D2},ConnectionString,,""


[DriverPlugInAddRegSGX]
HKR,WinBio\Configurations\1,SensorMode,0x10001,1                                ; Basic - 1, Advanced - 2
HKR,WinBio\Configurations\1,SystemSensor,0x10001,1                              ; UAC/Winlogon - 1
HKR,WinBio\Configurations\1,SensorAdapterBinary,,"synaBscAdapter.DLL"           ; Windows built-in WBDI sensor adapter.
HKR,WinBio\Configurations\1,EngineAdapterBinary,,"synaBscAdapter.DLL"           ; Vendor engine
HKR,WinBio\Configurations\1,StorageAdapterBinary,,"WinBioStorageAdapter.DLL"    ; Windows built-in storage adapter
HKR,WinBio\Configurations\1,DatabaseId,,"4dbbf02d-c384-4628-b0d3-31d925458ddd"  ; must have Synaptics specific GUID for DB


[DatabaseAddRegSGX]
HKLM, System\CurrentControlSet\Services\WbioSrvc\Databases\{4dbbf02d-c384-4628-b0d3-31d925458ddd},BiometricType,0x00010001,0x00000008
HKLM, System\CurrentControlSet\Services\WbioSrvc\Databases\{4dbbf02d-c384-4628-b0d3-31d925458ddd},Attributes,0x00010001,0x00000001
HKLM, System\CurrentControlSet\Services\WbioSrvc\Databases\{4dbbf02d-c384-4628-b0d3-31d925458ddd},Format,,"00000000-0000-0000-0000-000000000000"
HKLM, System\CurrentControlSet\Services\WbioSrvc\Databases\{4dbbf02d-c384-4628-b0d3-31d925458ddd},InitialSize,0x00010001,0x00000020
HKLM, System\CurrentControlSet\Services\WbioSrvc\Databases\{4dbbf02d-c384-4628-b0d3-31d925458ddd},AutoCreate,0x00010001,0x00000001
HKLM, System\CurrentControlSet\Services\WbioSrvc\Databases\{4dbbf02d-c384-4628-b0d3-31d925458ddd},AutoName,0x00010001,0x00000001
HKLM, System\CurrentControlSet\Services\WbioSrvc\Databases\{4dbbf02d-c384-4628-b0d3-31d925458ddd},FilePath,,""
HKLM, System\CurrentControlSet\Services\WbioSrvc\Databases\{4dbbf02d-c384-4628-b0d3-31d925458ddd},ConnectionString,,""


[UsdkAddReg]
HKLM,"SOFTWARE\Validity\"

[UsdkAddReg.Security]
"D: (A;CIOI;GA;;;LS)"

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


[CoInstallers_AddReg]
HKR,,CoInstallers32,0x00010000,"WudfUpdate_01011.dll"

[CoInstallersSGX_AddReg]
HKR,,CoInstallers32,0x00010000,"SGXCoInstaller.dll, SGXCoInstallEntryPoint"


[CoInstallers_CopyFiles]
WudfUpdate_01011.dll

[CoInstallersSGX_CopyFiles]
SGXCoInstaller.dll
sgx_capable.dll

[SGXInstallers_CopyFiles]
Intel(R)_SGX_Windows_x64_PSW_1.6.101.32869.msi

[DestinationDirs]
UMDriverCopy=12,UMDF ; copy to \Windows\System32\drivers\UMDF
WinBioEngineAdapterCopy=11, WinBioPlugins; copy to \Windows\System32\WinBioPlugins
CoInstallers_CopyFiles=11
SGXUMDriverCopy=12,UMDF ; copy to \Windows\System32\drivers\UMDF
SGXCopyFile=11
;SGXInstallers_CopyFiles=-1,"C:\ProgramData\Synaptics"
SGXInstallers_CopyFiles=24, ProgramData\Synaptics
CoInstallersSGX_CopyFiles=11

[UMDriverCopy]
synaWudfBioSpi.dll

[SGXUMDriverCopy]
synaWudfBioSpiSGX.dll
synaDriverLoader.dll

[WinBioEngineAdapterCopy]
synaBscAdapter.dll

[SGXCopyFile]
synaTEE.signed.dll
vtp.dll


; =================== Generic ==================================

[Strings]
SYNAUMDF="Synaptics Incorporated"
MediaDescription="Synaptics Fingerprint Sensor Driver Installation Media"
ClassName="Biometric Devices"
WudfRdDisplayName="Windows Driver Foundation - User-mode Driver Framework Reflector"
WBDISpiDeviceName="Synaptics WBDI" 


