; Copyright (c) 2024 L Card
;
; Module Name: E-502.inf
; Description: Installation inf for E-502 device.
;
; THIS CODE AND INFORMATION IS PROVIDED "AS IS" WITHOUT WARRANTY OF ANY
; KIND, EITHER EXPRESSED OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE
; IMPLIED WARRANTIES OF MERCHANTABILITY AND/OR FITNESS FOR A PARTICULAR
; PURPOSE.


[Strings]
VendorName = "L Card"
SourceName = "L Card Install Disk"
DeviceGUID = "{E4FBD60A-1D4B-E345-F85B-0289AE83E315}"
DeviceClassName="'L Card' USB devices"

E502_DeviceName  = "E502"
E502_DeviceID    = "VID_2A52&PID_E502"

E16_DeviceName  = "E16"
E16_DeviceID    = "VID_2A52&PID_0E16"

USBJTAG_DeviceName  = "L Card USB-JTAG"
USBJTAG_DeviceID    = "VID_2A52&PID_EF01"

LBOOT_DeviceName = "'L Card' bootloader device"
LBOOT_DeviceID   = "VID_2A52&PID_EFFF"


[Strings.0419]
VendorName = "Л Кард"
SourceName = "Установочный диск Л Кард"
DeviceGUID = "{E4FBD60A-1D4B-E345-F85B-0289AE83E315}
DeviceClassName="USB устройства от фирмы 'Л Кард'"

E502_DeviceName = "E502"
E502_DeviceID   = "VID_2A52&PID_E502"

E16_DeviceName = "E16"
E16_DeviceID   = "VID_2A52&PID_0E16"

USBJTAG_DeviceName  = "L Card USB-JTAG"
USBJTAG_DeviceID    = "VID_2A52&PID_EF01"

LBOOT_DeviceName = "Загрузочное устройство 'Л Кард'"
LBOOT_DeviceID   = "VID_2A52&PID_EFFF"



[Version]
Signature   = "$Windows NT$"
Class	    = "LCard USB Devices"
ClassGUID   = {6CCD8FA1-FAC1-4823-83B8-72C7C8C5689B}
Provider    = %VendorName%
CatalogFile = lcard_libusb.cat
DriverVer   = 03/25/2015, 1.0.0.0
DriverPackageDisplayName = "L Card libusb driver"

[ClassInstall32]
Addreg = WUsb_Class_AddReg

[WUsb_Class_AddReg]
HKR,,,0,"L Card USB Devices"
HKR,,Icon,,-20

; ============== Device section =================
[Manufacturer]
%VendorName% = WUsb_DeviceGroup,NTX86,NTAMD64

[WUsb_DeviceGroup.NTX86]
%E502_DeviceName%     = WUsb_Device, USB\%E502_DeviceID%
%E16_DeviceName%     = WUsb_Device, USB\%E16_DeviceID%
%USBJTAG_DeviceName%  = WUsb_Device, USB\%USBJTAG_DeviceID%
%LBOOT_DeviceName%    = WUsb_Device, USB\%LBOOT_DeviceID%

[WUsb_DeviceGroup.NTAMD64]
%E502_DeviceName%     = WUsb_Device, USB\%E502_DeviceID%
%E16_DeviceName%     = WUsb_Device, USB\%E16_DeviceID%
%USBJTAG_DeviceName%  = WUsb_Device, USB\%USBJTAG_DeviceID%
%LBOOT_DeviceName%    = WUsb_Device, USB\%LBOOT_DeviceID%

[WUsb_Device.NT.HW]
AddReg=WUsb_Device_AddReg

[WUsb_Device.NTAMD64.HW]
AddReg=WUsb_Device_AddReg

[WUsb_Device_AddReg]
HKR,,DeviceInterfaceGUIDs,0x10000,%DeviceGUID%

; ======= Power policy settings (default) ========

; Indicates whether the device is capable of being powered down when idle 
; (Selective Suspend). 
HKR,,DeviceIdleEnabled,0x00010001,0

; Sets the default value of the AUTO_SUSPEND power policy setting. This 
; registry key is used to enable or disable selective suspend when a 
; handle is not open to the device. 
HKR,,DefaultIdleState,0x00010001,0

; Sets the default state of the SUSPEND_DELAY power policy setting. The 
; value indicates the amount of time in milliseconds to wait before 
; determining that a device is idle. 
HKR,,DefaultIdleTimeout,0x00010001,5000

; When set to a nonzero value, it suspends the device even if it does not 
; support RemoteWake. 
HKR,,DeviceIdleIgnoreWakeEnable,0x00010001,0

; Indicates whether a check box should be enabled in the device Properties 
; page that allows a user to override the idle defaults. 
HKR,,UserSetDeviceIdleEnabled,0x00010001,0

; Indicates whether the device should be allowed to wake the system from a
; low power state. 
HKR,,SystemWakeEnabled,0x00010001,0

; ========== Driver/Service setup ==============
[WUsb_Device.NT.Services]
Include    = winusb.inf
AddService = WinUSB,0x00000002,WUsb_AddService

[WUsb_Device.NTAMD64.Services]
Include    = winusb.inf
AddService = WinUSB,0x00000002,WUsb_AddService

[WUsb_AddService]
DisplayName   = "WinUSB - Kernel Driver 02/23/2013 6.1.7600.16385"
ServiceType   = 1
StartType     = 3
ErrorControl  = 1
ServiceBinary = %12%\WinUSB.sys

; =========== Sources/Destinations ==============
[SourceDisksNames]
1 = %SourceName%

[SourceDisksFiles.x86]
WinUSBCoInstaller2.dll  = 1,x86
WdfCoInstaller01009.dll = 1,x86

[SourceDisksFiles.amd64]
WinUSBCoInstaller2.dll  = 1,amd64
WdfCoInstaller01009.dll = 1,amd64

[DestinationDirs]
CoInstallers_CopyFiles = 11


[WUsb_Device.NT]
Include = winusb.inf
Needs   = WINUSB.NT


[WUsb_Device.NTAMD64]
Include = winusb.inf
Needs   = WINUSB.NT

; ========= WDF/CoInstaller section =============
[WUsb_Device.NT.CoInstallers]
AddReg    = CoInstallers_AddReg
CopyFiles = CoInstallers_CopyFiles

[WUsb_Device.NTAMD64.CoInstallers]
AddReg    = CoInstallers_AddReg
CopyFiles = CoInstallers_CopyFiles

[CoInstallers_CopyFiles]
WinUSBCoInstaller2.dll
WdfCoInstaller01009.dll

[CoInstallers_AddReg]
HKR,,CoInstallers32,0x00010000,"WdfCoInstaller01009.dll,WdfCoInstaller","WinUSBCoInstaller2.dll"

[WUsb_Device.NT.Wdf]
KmdfService = WINUSB, WUsb_wdfsect

[WUsb_Device.NTAMD64.Wdf]
KmdfService = WINUSB, WUsb_wdfsect

[WUsb_wdfsect]
KmdfLibraryVersion = 1.9
