;*****************************************************************************************************
;
;	BbNSer Driver INF file 
;	Copyright©   Brainboxes Ltd. 2020
;	Boost.LAN 4.3
;
;*****************************************************************************************************

[Version]
Signature = "$WINDOWS NT$"
Class = Ports
ClassGuid = {4d36e978-e325-11ce-bfc1-08002be10318}
Provider = %CompanyName%
DriverVer=11/17/2021, 4.3.284.0
CatalogFile.nt = BbNSer.cat
DriverPackageType=PlugAndPlay
DriverPackageDisplayName="Boost.LAN Port Driver"

;*****************************************************************************************************
; The manufacturers section specifies the models section, which belongs to the manufacturer :
;
[Manufacturer]
%CompanyName% = BbVCP232_Models,NTAMD64

;*****************************************************************************************************
; The Models section
;
[BbVCP232_Models]
%VCP232Port% = BbVCP232, Ports\BbNSer23243
%VCP422485Port% = BbVCP422485, Ports\BbNSer43248542
%VCP232422485Port% = BbVCP232422485, Ports\BbNSer23243248542
%VCP232Port% = BbVCP232_4&8, Ports\BbNSer23243_4&8
%VCP422485Port% = BbVCP422485_4&8, Ports\BbNSer43248542_4&8

[BbVCP232_Models.NTAMD64]
%VCP232Port% = BbVCP232, Ports\BbNSer23243
%VCP422485Port% = BbVCP422485, Ports\BbNSer43248542
%VCP232422485Port% = BbVCP232422485, Ports\BbNSer23243248542
%VCP232Port% = BbVCP232_4&8, Ports\BbNSer23243_4&8
%VCP422485Port% = BbVCP422485_4&8, Ports\BbNSer43248542_4&8

;*****************************************************************************************************
; Any Model specified with ExcludeFromSelect will not be displayed to the user in the 
; Add New Hardware wizard :
;
[ControlFlags]
ExcludeFromSelect = *


[DestinationDirs]
DefaultDestDir=11,				; System32 directory
DriverFilesDirectory=10,System32\Drivers,		; Driver files directory
DriverFilesDirectory_AMD64=10,System32\Drivers,	; Driver files directory 
HelpFilesDirectory=18,				; Help file directory
System32FilesDirectory=11,				; System32
System32FilesDirectory_AMD64=11,			; System32


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

[System32FilesDirectory]
BbNUI43.dll
BbNCoI43.dll

[System32FilesDirectory_AMD64]
BbNUI43.dll, BbNUI43AMD64.dll
BbNCoI43.dll, BbNCoI43AMD64.dll

[DriverFilesDirectory]
BbNSer43.sys

[DriverFilesDirectory_AMD64]
BbNSer43.sys, BbNSer43AMD64.sys

[HelpFilesDirectory]
BbNUI43.chm

[SourceDisksFiles]
BbNSer43.sys = 1,drivers,
BbNSer43AMD64.sys = 1,drivers,
BbNUI43.dll = 1,dlls,
BbNUI43AMD64.dll = 1,dlls,
BbNUI43.chm = 1,Help,
BbNCoI43.dll = 1,dlls,
BbNCoI43AMD64.dll = 1,dlls,

;*****************************************************************************************************
; Specifies the registry entries to be made under ..\Enum\
;
[BbVCP_HW.reg]
HKR,, "TypeOfDevice", 0x00010001, 0x1b	; FILE_DEVICE_SERIAL_PORT
HKR,, "DeviceIndexingPolicyType", 0x00010001, 0x00000101
HKR,, "CoInstallerDLL", 0x00000000, "BbNUI43.dll"
HKR,, "CoInstallerEntryPoint", 0x00000000, "BbUCoInstallPort"
HKR,, "NoUpgrade", 0x00000000, "1"
;HKR,, "UnInstall", 0x00000000, "BbNUn43.exe"

[BbVCP.reg]
HKR,,EnumPropPages32,,"BbNUI43.dll,BbUPortPropPage"

[VX_232Port.reg]
HKR,, "DeviceName", 0x00000000, "BbNSer23243"
HKR,"UI1", "MaxBaudRate", 0x00010001, 1000000
HKR,"UI1", "MinBaudRate", 0x00010001, 60
HKR,"UI1", "SupportedBaudRates", 0x00010001, 0x1007FFFF ; standard baudrates (min 300bps)
HKR,"UI1", "SupportedParities", 0x00010001, 0x1F00  ; None, Odd, Even, Mark and Space Parity
HKR,"UI1", "SupportedDataBits", 0x00010001, 0x0F  ; 5,6, 7 and 8 databits
HKR,"UI1", "SupportedStopBits", 0x00010001, 0x05  ; 1 and 2 stopbits

[VX_232Port_4&8.reg]
HKR,"UI1", "SupportedStopBits", 0x00010001, 0x7  ; 1, 1.5 and 2 stopbits

[VX_422485Port.reg]
HKR,, "DeviceName", 0x00000000, "BbNSer43248542"
HKR,"UI1", "MaxBaudRate", 0x00010001, 1000000
HKR,"UI1", "MinBaudRate", 0x00010001, 60
HKR,"UI1", "SupportedBaudRates", 0x00010001, 0x1007FFFF ; standard baudrates (min 300bps)
HKR,"UI1", "SupportedParities", 0x00010001, 0x1F00  ; None, Odd, Even, Mark and Space Parity
HKR,"UI1", "SupportedDataBits", 0x00010001, 0x0F  ; 7 and 8 databits
HKR,"UI1", "SupportedStopBits", 0x00010001, 0x05  ; 1 and 2 stopbits
HKR,"UI1", "SupportedDuplexModes", 0x00010001, 0x03  ; full & Half duplex
HKR,"UI1", "DuplexMode", 0x00010001, 0x01  ; full duplex

[VX_232422485Port.reg]
HKR,, "DeviceName", 0x00000000, "BbNSer23243248542"
HKR,"UI1", "MaxBaudRate", 0x00010001, 1000000
HKR,"UI1", "MinBaudRate", 0x00010001, 60
HKR,"UI1", "SupportedBaudRates", 0x00010001, 0x1007FFFF ; standard baudrates (min 300bps)
HKR,"UI1", "SupportedParities", 0x00010001, 0x1F00  ; None, Odd, Even, Mark and Space Parity
HKR,"UI1", "SupportedDataBits", 0x00010001, 0x0F  ; 7 and 8 databits
HKR,"UI1", "SupportedStopBits", 0x00010001, 0x07  ; 1, 1.5 and 2 stopbits
HKR,"UI1", "SupportedDuplexModes", 0x00010001, 0x03  ; full & Half duplex
HKR,"UI1", "DuplexMode", 0x00010001, 0x01  ; full duplex

[VX_422485Port_4&8.reg]
HKR,"UI1", "SupportedStopBits", 0x00010001, 0x07  ; 1, 1.5 and 2 stopbits

;/////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
; RS-232 Port
;/////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
[BbVCP232]
CopyFiles = DriverFilesDirectory, HelpFilesDirectory, System32FilesDirectory
AddReg = BbVCP.reg

[BbVCP232.HW]
AddReg = BbVCP_HW.reg, VX_232Port.reg

[BbVCP232.Services]
AddService = BbNSer43,2,BbVCP_Service.Service,BbVCP_Event.EventLog

[BbVCP232.CoInstallers]
AddReg 	=  CoInstallers.Addreg
CopyFiles	= System32FilesDirectory

[BbVCP232.NTAMD64]
CopyFiles = DriverFilesDirectory_AMD64, HelpFilesDirectory, System32FilesDirectory_AMD64
AddReg = BbVCP.reg

[BbVCP232.NTAMD64.HW]
AddReg = BbVCP_HW.reg, VX_232Port.reg

[BbVCP232.NTAMD64.Services]
AddService = BbNSer43,2,BbVCP_Service.Service,BbVCP_Event.EventLog

[BbVCP232.NTAMD64.CoInstallers]
AddReg 	=  CoInstallers.Addreg
CopyFiles	= System32FilesDirectory_AMD64

;/////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
; RS-232 4&8 Port
;/////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
[BbVCP232_4&8]
CopyFiles = DriverFilesDirectory, HelpFilesDirectory, System32FilesDirectory
AddReg = BbVCP.reg

[BbVCP232_4&8.HW]
AddReg = BbVCP_HW.reg, VX_232Port.reg, VX_232Port_4&8.reg

[BbVCP232_4&8.Services]
AddService = BbNSer43,2,BbVCP_Service.Service,BbVCP_Event.EventLog

[BbVCP232_4&8.CoInstallers]
AddReg 	=  CoInstallers.Addreg
CopyFiles	= System32FilesDirectory

[BbVCP232_4&8.NTAMD64]
CopyFiles = DriverFilesDirectory_AMD64, HelpFilesDirectory, System32FilesDirectory_AMD64
AddReg = BbVCP.reg

[BbVCP232_4&8.NTAMD64.HW]
AddReg = BbVCP_HW.reg, VX_232Port.reg, VX_232Port_4&8.reg

[BbVCP232_4&8.NTAMD64.Services]
AddService = BbNSer43,2,BbVCP_Service.Service,BbVCP_Event.EventLog

[BbVCP232_4&8.NTAMD64.CoInstallers]
AddReg 	=  CoInstallers.Addreg
CopyFiles	= System32FilesDirectory_AMD64

;/////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
; RS-422/485 Port
;/////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
[BbVCP422485]
CopyFiles = DriverFilesDirectory, HelpFilesDirectory, System32FilesDirectory
AddReg = BbVCP.reg

[BbVCP422485.HW]
AddReg = BbVCP_HW.reg, VX_422485Port.reg

[BbVCP422485.Services]
AddService = BbNSer43,2,BbVCP_Service.Service,BbVCP_Event.EventLog

[BbVCP422485.CoInstallers]
AddReg 	=  CoInstallers.Addreg
CopyFiles	= System32FilesDirectory

[BbVCP422485.NTAMD64]
CopyFiles = DriverFilesDirectory_AMD64, HelpFilesDirectory, System32FilesDirectory_AMD64
AddReg = BbVCP.reg

[BbVCP422485.NTAMD64.HW]
AddReg = BbVCP_HW.reg, VX_422485Port.reg

[BbVCP422485.NTAMD64.Services]
AddService = BbNSer43,2,BbVCP_Service.Service,BbVCP_Event.EventLog

[BbVCP422485.NTAMD64.CoInstallers]
AddReg 	=  CoInstallers.Addreg
CopyFiles	= System32FilesDirectory_AMD64

;/////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
; RS-422/485 4&8 Port
;/////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
[BbVCP422485_4&8]
CopyFiles = DriverFilesDirectory, HelpFilesDirectory, System32FilesDirectory
AddReg = BbVCP.reg

[BbVCP422485_4&8.HW]
AddReg = BbVCP_HW.reg, VX_422485Port.reg, VX_422485Port_4&8.reg

[BbVCP422485_4&8.Services]
AddService = BbNSer43,2,BbVCP_Service.Service,BbVCP_Event.EventLog

[BbVCP422485_4&8.CoInstallers]
AddReg 	=  CoInstallers.Addreg
CopyFiles	= System32FilesDirectory

[BbVCP422485_4&8.NTAMD64]
CopyFiles = DriverFilesDirectory_AMD64, HelpFilesDirectory, System32FilesDirectory_AMD64
AddReg = BbVCP.reg

[BbVCP422485_4&8.NTAMD64.HW]
AddReg = BbVCP_HW.reg, VX_422485Port.reg, VX_422485Port_4&8.reg

[BbVCP422485_4&8.NTAMD64.Services]
AddService = BbNSer43,2,BbVCP_Service.Service,BbVCP_Event.EventLog

[BbVCP422485_4&8.NTAMD64.CoInstallers]
AddReg 	=  CoInstallers.Addreg
CopyFiles	= System32FilesDirectory_AMD64

;/////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
; RS-232/422/485 Port
;/////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
[BbVCP232422485]
CopyFiles = DriverFilesDirectory, HelpFilesDirectory, System32FilesDirectory
AddReg = BbVCP.reg

[BbVCP232422485.HW]
AddReg = BbVCP_HW.reg, VX_232422485Port.reg

[BbVCP232422485.Services]
AddService = BbNSer43,2,BbVCP_Service.Service,BbVCP_Event.EventLog

[BbVCP232422485.CoInstallers]
AddReg 	=  CoInstallers.Addreg
CopyFiles	= System32FilesDirectory

[BbVCP232422485.NTAMD64]
CopyFiles = DriverFilesDirectory_AMD64, HelpFilesDirectory, System32FilesDirectory_AMD64
AddReg = BbVCP.reg

[BbVCP232422485.NTAMD64.HW]
AddReg = BbVCP_HW.reg, VX_232422485Port.reg

[BbVCP232422485.NTAMD64.Services]
AddService = BbNSer43,2,BbVCP_Service.Service,BbVCP_Event.EventLog

[BbVCP232422485.NTAMD64.CoInstallers]
AddReg 	=  CoInstallers.Addreg
CopyFiles	= System32FilesDirectory_AMD64

;/////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
[BbVCP_Service.Service]
DisplayName = "Brainboxes Ltd. Boost.LAN 4.3 Port Driver Service"
ServiceType = 1
StartType = 3
ErrorControl = 1
DependOnService = Tcpip
LoadOrderGroup = PNP_TDI
ServiceBinary = %12%\BbNSer43.sys


;*****************************************************************************************************
; This is CoInst coinstaller copies the INF files and renames them to OEMs.inf
;
 [CoInstallers.AddReg]
 HKR,,CoInstallers32,0x10000,"BbNCoI43.dll,BbUCoInstall"

;************************************************************************************************************
; This is the Event Logging service for the driver :
;
[BbVCP_Event.EventLog]
AddReg = BbVCP_Event.EventLog.reg

[BbVCP_Event.EventLog.reg]
HKR,, EventMessageFile, %ADDREG_EXPAND_SZ%, "%%SystemRoot%%\System32\IoLogMsg.dll;%%SystemRoot%%\System32\drivers\BbNSer43.sys"
HKR,, TypesSupported, 0x00010001, 7


;/////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
;*****************************************************************************************************
[Strings]
CompanyName = "Brainboxes Ltd."
Installation_Disk_Name = "BbNSer Driver Installation Disk"
VCP232Port = "Brainboxes RS-232 Serial Port"
VCP422485Port = "Brainboxes RS-422/485 Serial Port"
VCP232422485Port = "Brainboxes RS-232/422/485 Serial Port"
ADDREG_SZ=0x00000000
ADDREG_MULTI_SZ=0x00010000
ADDREG_EXPAND_SZ=0x00020000



