[Version]
Signature="$Windows NT$"
Class=SmartCardReader
ClassGuid={50DD5230-BA8A-11D1-BF5D-0000F805F530}
Provider=%MSFT%
DriverVer=04/18/2018,6.1.7601.17514
CatalogFile=scspro_ccid.cat

[Manufacturer]
%MSFT%=Microsoft,NTx86,NTx86.6.1, NTx86.5.1

[Microsoft.NTx86]
%SCSPro% = Usbccid_Install, USB\VID_3039&PID_325A
%SCSPro% = Usbccid_Install, USB\VID_3039&PID_325B
%SCSPro% = Usbccid_Install, USB\VID_3039&PID_325C
%SCSPro% = Usbccid_Install, USB\VID_3039&PID_325D
%SCSPro% = Usbccid_Install, USB\VID_3039&PID_325E
%SCSPro% = Usbccid_Install, USB\VID_3039&PID_325F

[Microsoft.NTx86.6.1]
%SCSPro% = Usbccid_Install, USB\VID_3039&PID_325A
%SCSPro% = Usbccid_Install, USB\VID_3039&PID_325B
%SCSPro% = Usbccid_Install, USB\VID_3039&PID_325C
%SCSPro% = Usbccid_Install, USB\VID_3039&PID_325D
%SCSPro% = Usbccid_Install, USB\VID_3039&PID_325E
%SCSPro% = Usbccid_Install, USB\VID_3039&PID_325F

[Microsoft.NTx86.5.1]
%SCSPro% = UsbccidXP_Install, USB\VID_3039&PID_325A
%SCSPro% = UsbccidXP_Install, USB\VID_3039&PID_325B
%SCSPro% = UsbccidXP_Install, USB\VID_3039&PID_325C
%SCSPro% = UsbccidXP_Install, USB\VID_3039&PID_325D
%SCSPro% = UsbccidXP_Install, USB\VID_3039&PID_325E
%SCSPro% = UsbccidXP_Install, USB\VID_3039&PID_325F

;[ClassInstall32]
;AddReg=SmartcardClass_RegistryAdd

[SmartcardClass_RegistryAdd]
HKR,,,,%ClassName%
HKR,,Icon,,"-10"

[SourceDisksFiles]
usbccid.sys = 1

[SourceDisksNames]
;3426=windows cd
1=%SCSProDriverDisk%

; ============ Add reg for all readers ===============

[Reader.Install.AddReg]
HKLM, Software\Microsoft\Cryptography\Calais\Readers,,,
HKLM, System\CurrentControlSet\Services\SCardSvr,Start,0x00010001,2
HKLM, System\CurrentControlSet\Services\CertPropSvc,Start,0x00010001,2
; Registering event log provider.
HKLM, Software\Microsoft\Windows\CurrentVersion\WINEVT\Publishers\{22c370a7-a3db-4390-ade5-3a1accf4b5d5},,0x00000000,"WudfUsbccidDriver"
HKLM, Software\Microsoft\Windows\CurrentVersion\WINEVT\Publishers\{22c370a7-a3db-4390-ade5-3a1accf4b5d5},Enabled,0x00010001,1
HKLM, Software\Microsoft\Windows\CurrentVersion\WINEVT\Publishers\{22c370a7-a3db-4390-ade5-3a1accf4b5d5},MessageFileName,0x00020000,"%%SystemRoot%%\System32\Drivers\UMDF\WudfUsbccidDriver.dll"
HKLM, Software\Microsoft\Windows\CurrentVersion\WINEVT\Publishers\{22c370a7-a3db-4390-ade5-3a1accf4b5d5},ResourceFileName,0x00020000,"%%SystemRoot%%\System32\Drivers\UMDF\WudfUsbccidDriver.dll"
HKLM, Software\Microsoft\Windows\CurrentVersion\WINEVT\Publishers\{22c370a7-a3db-4390-ade5-3a1accf4b5d5}\ChannelReferences,Count,0x00010001,1
HKLM, Software\Microsoft\Windows\CurrentVersion\WINEVT\Publishers\{22c370a7-a3db-4390-ade5-3a1accf4b5d5}\ChannelReferences\0,,0x00000000,"System"
HKLM, Software\Microsoft\Windows\CurrentVersion\WINEVT\Publishers\{22c370a7-a3db-4390-ade5-3a1accf4b5d5}\ChannelReferences\0,Id,0x00010001,0x00000008
HKLM, Software\Microsoft\Windows\CurrentVersion\WINEVT\Publishers\{22c370a7-a3db-4390-ade5-3a1accf4b5d5}\ChannelReferences\0,Flags,0x00010001,0x00000001
HKLM, System\CurrentControlSet\Control\WMI\Autologger\EventLog-System\{22c370a7-a3db-4390-ade5-3a1accf4b5d5},Enabled,0x00010001,1
HKLM, System\CurrentControlSet\Control\WMI\Autologger\EventLog-System\{22c370a7-a3db-4390-ade5-3a1accf4b5d5},EnableLevel,0x00010001,0
HKLM, System\CurrentControlSet\Control\WMI\Autologger\EventLog-System\{22c370a7-a3db-4390-ade5-3a1accf4b5d5},EnableProperty,0x00010001,0x00000001
HKLM, System\CurrentControlSet\Control\WMI\Autologger\EventLog-System\{22c370a7-a3db-4390-ade5-3a1accf4b5d5},LoggerName,0x00000000,"EventLog-System"
; Note: The 0x000B0001 flag in the two entries below indicates the value is a REG_QWORD. This is not documented in MSDN!
HKLM, System\CurrentControlSet\Control\WMI\Autologger\EventLog-System\{22c370a7-a3db-4390-ade5-3a1accf4b5d5},MatchAnyKeyword,0x000B0001,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x80
HKLM, System\CurrentControlSet\Control\WMI\Autologger\EventLog-System\{22c370a7-a3db-4390-ade5-3a1accf4b5d5},MatchAllKeyword,0x000B0001,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00

; =================== UMDF Usbccid Device ==================================

[Usbccid_Install.NT]
AddReg= Reader.Install.AddReg
;CopyFiles=UMDriverCopy
Include=WINUSB.INF                      ; Import sections from WINUSB.INF
Needs=WINUSB.NT                         ; Run the CopyFiles & AddReg directives for WinUsb.INF

[Usbccid_Install.NT.hw]
AddReg=Usbccid_Device_AddReg

[Usbccid_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.

[Usbccid_Install.NT.CoInstallers]
AddReg=CoInstallers_AddReg
;CopyFiles=CoInstallers_CopyFiles

[Usbccid_Install.NT.Wdf]
KmdfService = WINUSB, WinUsb_Install
UmdfService=WUDFUsbccidDriver, WUDFUsbccidDriver_Install
UmdfServiceOrder=WUDFUsbccidDriver
UmdfDispatcher=WinUsb
UmdfKernelModeClientPolicy=AllowKernelModeClients

; ==============================================================

[WinUsb_Install]
KmdfLibraryVersion = 1.0

[WUDFUsbccidDriver_Install]
UmdfLibraryVersion=1.9.0
DriverCLSID="{5EB949F2-78C6-443b-9964-07588EB151C6}"
ServiceBinary="%12%\UMDF\WUDFUsbccidDriver.dll"

[Usbccid_Device_AddReg]
HKR,,"LowerFilters",0x00010008,"WinUsb" ; FLG_ADDREG_TYPE_MULTI_SZ | FLG_ADDREG_APPEND
HKR,"WUDF","Exclusive",0x10001,1
HKR,,"SystemWakeEnabled",0x00010001,1
HKR,,"DeviceIdleEnabled",0x00010001,1
HKR,,"UserSetDeviceIdleEnabled",0x00010001,1
HKR,,"DefaultIdleState",0x00010001,1
HKR,,"DefaultIdleTimeout",0x00010001,5000
HKR,"WDF","WdfDefaultWakeFromSleepState",0x00010001,0
HKR,"WDF","WdfDefaultIdleInWorkingState",0x00010001,1
HKR,"WUDFUsbccidDriver","EscapeCommandEnable",0x00010001,1

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

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

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

[DestinationDirs]
;UMDriverCopy=12,UMDF ; copy to drivers\umdf
USBCCIDXP.Install.CopyFiles = 12

;[UMDriverCopy]
;WUDFUsbccidDriver.dll


; =================== XP====================================

[ReaderXP.Install.AddReg]
HKLM, Software\Microsoft\Cryptography\Calais\Readers,,,
HKLM, System\CurrentControlSet\Services\SCardSvr,Start,0x00010001,2
HKLM, System\CurrentControlSet\Services\CertPropSvc,Start,0x00010001,2


[ClassInstall32.NTx86.5.1]
Addreg=SmartCardReaderClassReg

[ClassInstall.NTx86.5.1]
Addreg=SmartCardReaderClassReg

[SmartCardReaderClassReg]
HKR,,,0,%ClassName%
HKR,,Icon,,-25
HKR,,NoInstallClass,,1
HKR,,Installer32,,"winscard.dll,ClassInstall32"


[UsbccidXP_Install]
AddReg          = ReaderXP.Install.AddReg
CopyFiles       = USBCCIDXP.Install.CopyFiles

[UsbccidXP_Install.HW]
AddReg          = USBCCIDXP.Install.AddReg.HW

[USBCCIDXP.Install.AddReg.HW]
HKR,,"VendorName",,"Generic"
HKR,,"IfdType",,"USB Smartcard"
HKR,,"EscapeCommandEnable",0x00010001,1

[USBCCIDXP.Install.CopyFiles]
usbccid.sys,,,2

[UsbccidXP_Install.Services]
AddService = USBCCIDXP, 2, USBCCIDXP.Service

[USBCCIDXP.Service]
DisplayName     = %USBCCIDXP.DeviceDesc%
ServiceType     = 1 ;%SERVICE_KERNEL_DRIVER%
StartType       = 3 ;%SERVICE_AUTO_START%
ErrorControl    = 1 ;%SERVICE_ERROR_NORMAL%
ServiceBinary   = %12%\usbccid.sys

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

[Strings]
MSFT="SCSpro"
ClassName="WUDF Smartcard"
WinUsb_Service_DisplayName="WinUSB Driver"
SCSProDriverDisk = "SCSpro Smartcard Reader Driver Disk"
SCSPro = "SCSpro Smartcard Reader"
USBCCIDXP.DeviceDesc      = "SCSpro USB Smart Card reader"