; Copyright (C) 2016 Synaptics Incorporated, All Rights Reserved.
; synaWudfBioUsbHP.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=synaUMDFHP.cat
DriverVer=12/12/2016,5.02.5002.0026

[Manufacturer]
%SYNAUMDF%=Synaptics,NTx86.6.1, NTx86.6.2

[Synaptics.NTx86.6.1]
%WBDIUsbDeviceName%=Biometric_Install_7, USB\VID_138A&PID_0092
%WBDIUsbDeviceName%=Biometric_Install_7, USB\VID_138A&PID_0093

[Synaptics.NTx86.6.2]
%WBDIUsbDeviceName%=Biometric_Install_7, USB\VID_138A&PID_0092
%WBDIUsbDeviceName%=Biometric_Install_7, USB\VID_138A&PID_0093

;[ClassInstall32]
;AddReg=BiometricClass_RegistryAdd

;[BiometricClass_RegistryAdd]
;HKR,,,,%ClassName%
;HKR,,Icon,,"-201"
;HKR,,IconPath,0x00010000,"%%SYSTEMROOT%%\system32\SysClass.dll,-201"

[SourceDisksFiles]
synaWudfBioUsb.dll=1
synaAdvAdapter.dll=1 ; Synaptics advanced mode adapter
SynaEFIResDll.dll=1 ; Synaptics resource dll

WudfUpdate_01011.dll=1

6_07f_hp_8x8pb.xpfwext=1

IPTSecureFPWin32.dll=1
IPTSecureFPx64.dll=1

[SourceDisksNames]
1 = %MediaDescription%

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

[Biometric_Install_7.NTx86]
CopyFiles=UMDriverCopy, WinBioSensorAdapterCopy, FWextCopy, ResourceDllCopy, SecureFPCopy32
AddProperty=Device_Properties
Include=WINUSB.INF                      ; Import sections from WINUSB.INF
Needs=WINUSB.NT                         ; Run the CopyFiles & AddReg directives for WinUsb.INF

[Biometric_Install.NTx86]
CopyFiles=UMDriverCopy, WinBioSensorAdapterCopy, FWextCopy, ResourceDllCopy, SecureFPCopy32
AddProperty=Device_Properties
Include=WINUSB.INF                      ; Import sections from WINUSB.INF
Needs=WINUSB.NT                         ; Run the CopyFiles & AddReg directives for WinUsb.INF

[Biometric_Install_7.NTamd64]
CopyFiles=UMDriverCopy, WinBioSensorAdapterCopy, FWextCopy, ResourceDllCopy, SecureFPCopy64, SecureFPCopyWow
AddProperty=Device_Properties
Include=WINUSB.INF                      ; Import sections from WINUSB.INF
Needs=WINUSB.NT                         ; Run the CopyFiles & AddReg directives for WinUsb.INF

[Biometric_Install.NTamd64]
CopyFiles=UMDriverCopy, WinBioSensorAdapterCopy, FWextCopy, ResourceDllCopy, SecureFPCopy64, SecureFPCopyWow
AddProperty=Device_Properties
Include=WINUSB.INF                      ; Import sections from WINUSB.INF
Needs=WINUSB.NT                         ; Run the CopyFiles & AddReg directives for WinUsb.INF

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

[Biometric_Install.NTx86.hw]
AddReg=Biometric_Device_AddReg
AddReg=DriverPlugInAddReg, DatabaseAddReg, EventsAddReg, SecureFPAddReg

[Biometric_Install_7.NTamd64.hw]
AddReg=Biometric_Device_AddReg
AddReg=DriverPlugInAddReg, DatabaseAddReg, EventsAddReg, SecureFPAddReg, SecureFPAddReg_Wow

[Biometric_Install.NTamd64.hw]
AddReg=Biometric_Device_AddReg
AddReg=DriverPlugInAddReg, DatabaseAddReg, EventsAddReg, SecureFPAddReg, SecureFPAddReg_Wow

[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
AddService=WinUsb,0x000001f8,WinUsb_ServiceInstall  ; this service is installed because its a filter.

[Biometric_Install.NTx86.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.

[Biometric_Install_7.NTamd64.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.

[Biometric_Install.NTamd64.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.

[Biometric_Install_7.NTx86.Wdf]
KmdfService=WINUSB, WinUsb_Install
UmdfDispatcher=WinUsb
UmdfService=synaWudfBioUsb, synaWudfBioUsb_Install
UmdfServiceOrder=synaWudfBioUsb

[Biometric_Install.NTx86.Wdf]
KmdfService=WINUSB, WinUsb_Install
UmdfDispatcher=WinUsb
UmdfService=synaWudfBioUsb, synaWudfBioUsb_Install
UmdfServiceOrder=synaWudfBioUsb

[Biometric_Install_7.NTamd64.Wdf]
KmdfService=WINUSB, WinUsb_Install
UmdfDispatcher=WinUsb
UmdfService=synaWudfBioUsb, synaWudfBioUsb_Install
UmdfServiceOrder=synaWudfBioUsb

[Biometric_Install.NTamd64.Wdf]
KmdfService=WINUSB, WinUsb_Install
UmdfDispatcher=WinUsb
UmdfService=synaWudfBioUsb, synaWudfBioUsb_Install
UmdfServiceOrder=synaWudfBioUsb

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

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

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

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

[WinUsb_Install]
KmdfLibraryVersion = 1.11

[synaWudfBioUsb_Install]
UmdfLibraryVersion=1.11.0
DriverCLSID = "{96710705-B080-4B29-A3EC-B16935AE663A}"
ServiceBinary = "%12%\UMDF\synaWudfBioUsb.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,,Security,,"D:P(A;;GA;;;BA)(A;;GA;;;SY)(A;;GA;;;S-1-5-84-0-0-0-0-0)"
HKR,,"LowerFilters",0x00010008,"WinUsb"         ; FLG_ADDREG_TYPE_MULTI_SZ | FLG_ADDREG_APPEND
HKR,,"Exclusive",0x10001,1
HKR,,"DeviceIdleEnabled",0x00010001,1
HKR,,"UserSetDeviceIdleEnabled",0x00010001,1
HKR,,"DefaultIdleState",0x00010001,1
HKR,,"DefaultIdleTimeout",0x00010001,5000
HKR,,"WinUsbPowerPolicyOwnershipDisabled",0x00010001,1

[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,,"synaAdvAdapter.dll"           ; Synaptics compound adapter.
HKR,WinBio\Configurations\0,EngineAdapterBinary,,"synaAdvAdapter.dll"           ; Synaptics compound adapter.
HKR,WinBio\Configurations\0,StorageAdapterBinary,,"synaAdvAdapter.dll"          ; Synaptics compound adapter.
HKR,WinBio\Configurations\0,DatabaseId,,"F9E92F37-2B98-402A-9AA3-465EACA1D030"  ; must have Synaptics specific GUID for DB

[DatabaseAddReg]
HKLM, System\CurrentControlSet\Services\WbioSrvc\Databases\{F9E92F37-2B98-402A-9AA3-465EACA1D030},BiometricType,0x00010001,0x00000008
HKLM, System\CurrentControlSet\Services\WbioSrvc\Databases\{F9E92F37-2B98-402A-9AA3-465EACA1D030},Attributes,0x00010001,0x00010003
HKLM, System\CurrentControlSet\Services\WbioSrvc\Databases\{F9E92F37-2B98-402A-9AA3-465EACA1D030},Format,,"00000000-0000-0000-0000-000000000000"
HKLM, System\CurrentControlSet\Services\WbioSrvc\Databases\{F9E92F37-2B98-402A-9AA3-465EACA1D030},InitialSize,0x00010001,0x00000020
HKLM, System\CurrentControlSet\Services\WbioSrvc\Databases\{F9E92F37-2B98-402A-9AA3-465EACA1D030},AutoCreate,0x00010001,0x00000001
HKLM, System\CurrentControlSet\Services\WbioSrvc\Databases\{F9E92F37-2B98-402A-9AA3-465EACA1D030},AutoName,0x00010001,0x00000001
HKLM, System\CurrentControlSet\Services\WbioSrvc\Databases\{F9E92F37-2B98-402A-9AA3-465EACA1D030},FilePath,,""
HKLM, System\CurrentControlSet\Services\WbioSrvc\Databases\{F9E92F37-2B98-402A-9AA3-465EACA1D030},ConnectionString,,""

[EventsAddReg]
HKLM, System\CurrentControlSet\Services\eventlog\System\Synaptics FPR,EventMessageFile,,"%%SYSTEMROOT%%\System32\drivers\UMDF\synaWudfBioUsb.dll"
HKLM, System\CurrentControlSet\Services\eventlog\System\Synaptics FPR,TypesSupported,0x00010001,0x00000007

[SecureFPAddReg]
HKLM, Software\Intel\Intel Authenticate\Engine\Factors\SecureFP,DllPath,0x00020000,"%%ProgramFiles%%\Synaptics\SynFP\IPTSecureFP\IPTSecureFP.dll"

[SecureFPAddReg_Wow]
HKLM, Software\Wow6432Node\Intel\Intel Authenticate\Engine\Factors\SecureFP,DllPath,0x00020000,"%%ProgramFiles(x86)%%\Synaptics\SynFP\IPTSecureFP\IPTSecureFP.dll"

[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_01011.dll"

[CoInstallers_CopyFiles]
WudfUpdate_01011.dll

[DestinationDirs]
UMDriverCopy=12,UMDF ; copy to \Windows\System32\drivers\UMDF
WinBioSensorAdapterCopy=11, WinBioPlugins; copy to \Windows\System32\WinBioPlugins
CoInstallers_CopyFiles=11
FWextCopy=24, ProgramData\Validity\fwext; copy to "system drive"\ProgramData\Validity\fwext
ResourceDllCopy=11
SecureFPCopy64=16422, Synaptics\SynFP\IPTSecureFP; copy to Program Files\Synaptics\SynFP\IPTSecureFP
SecureFPCopy32=16422, Synaptics\SynFP\IPTSecureFP; copy to Program Files\Synaptics\SynFP\IPTSecureFP
SecureFPCopyWow=16426, Synaptics\SynFP\IPTSecureFP; copy to Program Files (x86)\Synaptics\SynFP\IPTSecureFP

[UMDriverCopy]
synaWudfBioUsb.dll

[WinBioSensorAdapterCopy]
synaAdvAdapter.dll

[FWextCopy]
6_07f_hp_8x8pb.xpfwext

[ResourceDllCopy]
SynaEFIResDll.dll

[SecureFPCopy64]
IPTSecureFP.dll,IPTSecureFPx64.dll

[SecureFPCopy32]
IPTSecureFP.dll,IPTSecureFPWin32.dll

[SecureFPCopyWow]
IPTSecureFP.dll,IPTSecureFPWin32.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"
WBDIUsbDeviceName="Synaptics VFS7552 Touch Fingerprint Sensor" 
WinUsb_SvcDesc="WinUSB Driver"
