libusbk-sys 0.2.0

Rust Windows library for accessing USB devices via libusbK
Documentation
;Copyright (c) #G__YYYY_# #USERDOMAIN#. All Rights Reserved.
;
; Module Name: #G_TARGET_OUTPUT_NAME#.inf
; Description: Installation inf for the LibUsbDotNet benchmark 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]
MfgName="Travis Robinson"
;
Benchmark_Device="Benchmark Device"
Benchmark_Device_00="Benchmark Device Intf 0"
Benchmark_Device_01="Benchmark Device Intf 1"
;
Benchmark_Device_00_HWID="#G_BENCHMARK_DEVICE_HWID#&MI_00"
Benchmark_Device_01_HWID="#G_BENCHMARK_DEVICE_HWID#&MI_01"
Benchmark_Device_HWID="#G_BENCHMARK_DEVICE_HWID#"

[Version]
Signature="$WINDOWS NT$"
Class=UsbKClass
ClassGuid={ECFB0CFD-74C4-4f52-BBF7-343461CD72AC}
Provider=%MfgName%
DriverVer=#G__MM_#/#G__DD_#/#G__YYYY_#, #TARGET_VERSION#
CatalogFile=#G_TARGET_OUTPUT_NAME#.cat

; ============== Class section ==================
[ClassInstall32]
AddReg=UsbK_Class_AddReg     

[UsbK_Class_AddReg]
HKR,,,0,"#G_TARGET_OUTPUT_NAME# USB Devices"
HKR,,Icon,,-5

; ============== Device section =================
[Manufacturer]
%MfgName%=UsbK_DeviceGroup,NT#_BUILDARCH#

; For Win2K
[UsbK_DeviceGroup]
%Benchmark_Device_00%=UsbK_Device, %Benchmark_Device_00_HWID%
%Benchmark_Device_01%=UsbK_Device, %Benchmark_Device_01_HWID%
%Benchmark_Device%=UsbK_Device, %Benchmark_Device_HWID%

; For XP and later
[UsbK_DeviceGroup.NT#_BUILDARCH#]
%Benchmark_Device_00%=UsbK_Device, %Benchmark_Device_00_HWID%
%Benchmark_Device_01%=UsbK_Device, %Benchmark_Device_01_HWID%
%Benchmark_Device%=UsbK_Device, %Benchmark_Device_HWID%

[UsbK_Device.NT]
CopyFiles=UsbK_Device_CopyFiles

[UsbK_Device.NT.HW]
AddReg=UsbK_Device_HW_AddReg

[UsbK_Device_HW_AddReg]
HKR,,DeviceInterfaceGUIDs, 0x10000,"#G_BENCHMARK_DEVICE_GUID#"

; ========== Driver/Servce section ==============
[UsbK_Device.NT.Services]
Addservice=#G_TARGET_OUTPUT_NAME#,2,UsbK_AddService

[UsbK_AddService]
DisplayName="#G_TARGET_OUTPUT_NAME# USB Driver v#TARGET_VERSION# - #G__MM_#/#G__DD_#/#G__YYYY_# (KMDF v#KMDFVERSION#)"
ServiceType=1
StartType=3
ErrorControl=1
ServiceBinary=%12%\#G_TARGET_OUTPUT_FILENAME#
AddReg=UsbK_Driver_AddReg

; This optional entry identifies the load order group of which this driver is a member.
; LoadOrderGroup=Base

[UsbK_Driver_AddReg]
HKR,"Parameters","DebugLevel",0x10001,4

; =========== Sources/Destinations ==============
[UsbK_Device_CopyFiles]
#G_TARGET_OUTPUT_FILENAME#

[SourceDisksNames]
1="#G_TARGET_OUTPUT_NAME# KMDF v#KMDFVERSION# Installation Disk",,,

[SourceDisksFiles]
#G_TARGET_OUTPUT_FILENAME#=1
WdfCoInstaller#KMDFCOINSTALLERVERSION#.dll=1

[DestinationDirs]
DefaultDestDir=12
CoInstaller_CopyFiles=11

; ========= WDF/CoInstaller section =============
[UsbK_Device.NT.CoInstallers]
AddReg=CoInstaller_AddReg
CopyFiles=CoInstaller_CopyFiles

[CoInstaller_CopyFiles]
WdfCoInstaller#KMDFCOINSTALLERVERSION#.dll

[CoInstaller_AddReg]
HKR,,CoInstallers32,0x00010000, "WdfCoInstaller#KMDFCOINSTALLERVERSION#.dll,WdfCoInstaller"

[UsbK_Device.NT.Wdf]
KmdfService = #G_TARGET_OUTPUT_NAME#, UsbK_wdfsect

[UsbK_wdfsect]
KmdfLibraryVersion=#KMDFVERSION#