;
; CIR135.inf
; Copyright (c) 2019-2026, AB Circle Limited
; 
; KMDF Smart Card Reader Driver for the CIR135 family of readers

[Version]
DriverVer=05/29/2026,2.4.0.0
Signature="$WINDOWS NT$"
Class=SmartCardReader
ClassGuid={50dd5230-ba8a-11d1-bf5d-0000f805f530}
Provider=%ManufacturerName%
DriverPackageType=PlugAndPlay
DriverPackageDisplayName=%DriverDisplayName%
CatalogFile.NT=cir135.cat
PnpLockdown=1

[DestinationDirs]
DefaultDestDir = 12
ABC.CIR135.CoInstaller_CopyFiles.NTx86    = 11
ABC.CIR135.CoInstaller_CopyFiles.NTamd64  = 11

[SourceDisksNames]
1 = %DiskName%,,,""

[SourceDisksFiles.x86]
CIRKMDFDriverx86.sys= 1,,
WdfCoInstaller01011.dll=1,\WdfCoInstaller\x86,

[SourceDisksFiles.amd64]
CIRKMDFDriverx64.sys= 1,,
WdfCoInstaller01011.dll=1,\WdfCoInstaller\x64,

[SourceDisksFiles.arm64]
CIRKMDFDriverarm64.sys= 1,,

;*****************************************
; Install Section
;*****************************************

[Manufacturer]
%ManufacturerName%=ABC,NTx86,NTamd64,NTarm64

[ABC.NTx86]
%ABC.CIR135.DeviceDesc%    = ABC.CIR135,    USB\VID_31AA&PID_1200
%ABC.CIR135DFU.DeviceDesc% = ABC.CIR135DFU, USB\VID_31AA&PID_0008

[ABC.NTamd64]
%ABC.CIR135.DeviceDesc%    = ABC.CIR135,    USB\VID_31AA&PID_1200
%ABC.CIR135DFU.DeviceDesc% = ABC.CIR135DFU, USB\VID_31AA&PID_0008

[ABC.NTarm64]
%ABC.CIR135.DeviceDesc%    = ABC.CIR135,    USB\VID_31AA&PID_1200
%ABC.CIR135DFU.DeviceDesc% = ABC.CIR135DFU, USB\VID_31AA&PID_0008

;*****************************************
; CIR135 ICC
;*****************************************

[ABC.CIR135.NTx86]
AddReg       = ABC.CIR135.AddReg.NT,ABC.Common.AddReg
CopyFiles    = ABC.CIR135.CopyFiles.NTx86

[ABC.CIR135.NTamd64]
AddReg       = ABC.CIR135.AddReg.NT,ABC.Common.AddReg
CopyFiles    = ABC.CIR135.CopyFiles.NTamd64

[ABC.CIR135.NTarm64]
AddReg       = ABC.CIR135.AddReg.NT,ABC.Common.AddReg
CopyFiles    = ABC.CIR135.CopyFiles.NTarm64

[ABC.CIR135.CopyFiles.NTx86]
%ABC.CIR135.DriverName%.sys,CIRKMDFDriverx86.sys

[ABC.CIR135.CopyFiles.NTamd64]
%ABC.CIR135.DriverName%.sys,CIRKMDFDriverx64.sys

[ABC.CIR135.CopyFiles.NTarm64]
%ABC.CIR135.DriverName%.sys,CIRKMDFDriverarm64.sys

[ABC.CIR135.AddReg.NT]
HKR,,"IFDName",0,%ABC.CIR135.DeviceDesc%
HKR,,"DRIVERNAME",0,%ABC.CIR135.DriverName%
HKR,,"Slot0GT", 0x00010001,0x16
HKR,,"Slot0Flags",0x00010000,"0011"

[ABC.CIR135.NTx86.Services]
AddService = CIR135, 2, ABC.CIR135.Service, ABC.CIR135.EventLog

[ABC.CIR135.NTamd64.Services]
AddService = CIR135, 2, ABC.CIR135.Service, ABC.CIR135.EventLog

[ABC.CIR135.NTarm64.Services]
AddService = CIR135, 2, ABC.CIR135.Service, ABC.CIR135.EventLog

[ABC.CIR135.Service]
DisplayName     = %ABC.CIR135.DeviceDesc%
ServiceType     = 1
StartType       = 3
ErrorControl    = 1
ServiceBinary   = %12%\%ABC.CIR135.DriverName%.sys

[ABC.CIR135.EventLog]
AddReg = ABC.CIR135.AddEventLog.reg

[ABC.CIR135.AddEventLog.reg]
HKR,, EventMessageFile, 0x00020000, "%%SystemRoot%%\System32\drivers\%ABC.CIR135.DriverName%.sys"
HKR,, TypesSupported,   0x00010001, 7

;*****************************************
; CIR135 DFU
;*****************************************

[ABC.CIR135DFU.NTx86]
AddReg       = ABC.CIR135DFU.AddReg.NT,ABC.Common.AddReg
CopyFiles    = ABC.CIR135DFU.CopyFiles.NTx86

[ABC.CIR135DFU.NTamd64]
AddReg       = ABC.CIR135DFU.AddReg.NT,ABC.Common.AddReg
CopyFiles    = ABC.CIR135DFU.CopyFiles.NTamd64

[ABC.CIR135DFU.NTarm64]
AddReg       = ABC.CIR135DFU.AddReg.NT,ABC.Common.AddReg
CopyFiles    = ABC.CIR135DFU.CopyFiles.NTarm64

[ABC.CIR135DFU.CopyFiles.NTx86]
%ABC.CIR135DFU.DriverName%.sys,CIRKMDFDriverx86.sys

[ABC.CIR135DFU.CopyFiles.NTamd64]
%ABC.CIR135DFU.DriverName%.sys,CIRKMDFDriverx64.sys

[ABC.CIR135DFU.CopyFiles.NTarm64]
%ABC.CIR135DFU.DriverName%.sys,CIRKMDFDriverarm64.sys

[ABC.CIR135DFU.AddReg.NT]
HKR,,"IFDName",0,%ABC.CIR135DFU.DeviceDesc%
HKR,,"DRIVERNAME",0,%ABC.CIR135DFU.DriverName%
HKR,,"Slot0GT", 0x00010001,0x16
HKR,,"Slot0Flags",0x00010000,"0011","0014"

[ABC.CIR135DFU.NTx86.Services]
AddService = CIR135DFU, 2, ABC.CIR135DFU.Service, ABC.CIR135DFU.EventLog

[ABC.CIR135DFU.NTamd64.Services]
AddService = CIR135DFU, 2, ABC.CIR135DFU.Service, ABC.CIR135DFU.EventLog

[ABC.CIR135DFU.NTarm64.Services]
AddService = CIR135DFU, 2, ABC.CIR135DFU.Service, ABC.CIR135DFU.EventLog

[ABC.CIR135DFU.Service]
DisplayName     = %ABC.CIR135DFU.DeviceDesc%
ServiceType     = 1
StartType       = 3
ErrorControl    = 1
ServiceBinary   = %12%\%ABC.CIR135DFU.DriverName%.sys

[ABC.CIR135DFU.EventLog]
AddReg = ABC.CIR135DFU.AddEventLog.reg

[ABC.CIR135DFU.AddEventLog.reg]
HKR,, EventMessageFile, 0x00020000, "%%SystemRoot%%\System32\drivers\%ABC.CIR135DFU.DriverName%.sys"
HKR,, TypesSupported,   0x00010001, 7

; -------------- common ---------------------

[ABC.Common.AddReg]
HKR,,AdapterType, 0, "0100"
HKR,,"VendorName",0,%Vendor%

;
;--- Device Coinstaller installation ------
;

[ABC.CIR135.NTx86.CoInstallers]
AddReg=ABC.CIR135.CoInstaller_AddReg
CopyFiles=ABC.CIR135.CoInstaller_CopyFiles.NTx86

[ABC.CIR135.NTamd64.CoInstallers]
AddReg=ABC.CIR135.CoInstaller_AddReg
CopyFiles=ABC.CIR135.CoInstaller_CopyFiles.NTamd64

[ABC.CIR135DFU.NTx86.CoInstallers]
AddReg=ABC.CIR135.CoInstaller_AddReg
CopyFiles=ABC.CIR135.CoInstaller_CopyFiles.NTx86

[ABC.CIR135DFU.NTamd64.CoInstallers]
AddReg=ABC.CIR135.CoInstaller_AddReg
CopyFiles=ABC.CIR135.CoInstaller_CopyFiles.NTamd64

[ABC.CIR135.CoInstaller_AddReg]
HKR,,CoInstallers32,0x00010000, "WdfCoInstaller01011.dll,WdfCoInstaller"

[ABC.CIR135.CoInstaller_CopyFiles.NTx86]
WdfCoInstaller01011.dll

[ABC.CIR135.CoInstaller_CopyFiles.NTamd64]
WdfCoInstaller01011.dll

[ABC.CIR135.NTx86.Wdf]
KmdfService =  CIR135, CIR135_wdfsect

[ABC.CIR135.NTamd64.Wdf]
KmdfService =  CIR135, CIR135_wdfsect

[ABC.CIR135DFU.NTx86.Wdf]
KmdfService =  CIR135DFU, CIR135_wdfsect

[ABC.CIR135DFU.NTamd64.Wdf]
KmdfService =  CIR135DFU, CIR135_wdfsect

[CIR135_wdfsect]
KmdfLibraryVersion = 1.11

[Strings]
ManufacturerName         = "AB Circle Limited"
Vendor                   = "Circle"
DiskName                 = "AB Circle CIR135 Driver Installation Disk"
DriverDisplayName        = "AB Circle CIR135 CCID Driver"
ABC.CIR135.DeviceDesc    = "CIR135 ICC"
ABC.CIR135.DriverName    = "CIR135"
ABC.CIR135DFU.DeviceDesc = "CIR135 DFU"
ABC.CIR135DFU.DriverName = "CIR135DFU"