;
; USBIO Setup Information file
; Copyright (c) Thesycon GmbH 1998-2000
;
; To create a customized version of this file
; modify sections marked with ### modify here ###
; For details, refer to the USBIO Reference Manual.
;
; Note:
; Some section names (enclosed in []) are system-defined and should not be changed.
; Private section names start with an '_'. These can be changed.
;
; Refer to the Windows 2000 DDK documentation for more information on INF files.
;

;******************************************************************************
; Version section
;------------------------------------------------------------------------------
[Version]
Signature="$CHICAGO$"
Provider=%S_Provider%
DriverVer=12/12/2000,1.41
;
; ### modify here ###
; Select an appropriate class for the device.
; There are several options:
; - Use the class shown below. It is defined by USBIO and is appropriate for testing purposes.
; - Define your own class by generating a private GUID and a class description.
; - Use a system-defined class. This is required for a device that belongs to a device class
;   that is supported by system-provided drivers, HID, USB Audio for instance.
;   For example, to replace the default USB mouse driver by USBIO you have to specify the HID
;   class here: Class=HIDClass  ClassGuid={745a17a0-74d3-11d0-b6fe-00a0c90f57da}
;
; use a private device class that is defined by USBIO:
Class=USBIOControlledDevices
ClassGUID={96e73b6e-7a5a-11d4-9f24-0080c82727f4}


;******************************************************************************
; Class Install section (optional)
;------------------------------------------------------------------------------
;
; ### modify here ###
; The following sections are required if a private device class is used
; (see also the comments above).
; The sections should be removed completely if a system-defined class is used.
;
; install class, Windows 98:
[ClassInstall] 
AddReg=_AddReg_ClassInstall

; install class, Windows 2000:
[ClassInstall32] 
AddReg=_AddReg_ClassInstall

; registry entries required for class 
[_AddReg_ClassInstall]
HKR,,,,"%S_DeviceClassDisplayName%"
HKR,,Icon,,"-20"


;******************************************************************************
; Manufacturer section
;------------------------------------------------------------------------------
[Manufacturer]
%S_Mfg%=_Devices


;******************************************************************************
; Device section
;------------------------------------------------------------------------------
[_Devices]
;
; ### modify here ###
; Use *one of* the following entries to create an association between USBIO and your device.
; Activate one line by removing the ';' from the beginning.

; Use this entry if the device is identified by USB Vendor ID (VID) and Product ID (PID).
; This is the recommended choice and is appropriate in most cases.
; Replace XXXX by your Vendor and Product IDs, in hexadecimal format, 4 digits each.
; example: USB\VID_053C&PID_0001
;%S_DeviceDesc1%=_Install1, USB\VID_2843&PID_0000
; Optionally, you can append the revision code to be more unambiguous
; example: USB\VID_053C&PID_0001&REV_0001
%S_DeviceDesc1%=_Install1, USB\VID_2843&PID_0000
%S_DeviceDesc1%=_Install1, USB\VID_0B1B&PID_0101
%S_DeviceDesc1%=_Install1, USB\VID_0B1B&PID_0102
%S_DeviceDesc1%=_Install1, USB\VID_0B1B&PID_0103
%S_DeviceDesc1%=_Install1, USB\VID_0B1B&PID_0104

; Use this entry if USBIO should be connected to only one interface of the device.
; Replace XXXX by your IDs, MI_XX identifies the interface number.
;%S_DeviceDesc1%=_Install1, USB\VID_XXXX&PID_XXXX&MI_XX

; If the device has multiple configurations (configuration descriptors),
; the configuration and the interface can be selected by using the following entry.
; Replace XXXX by your IDs, REV_XXXX is the revision code, 
; MC_XX is the configuration number, MI_XX is the interface number.
;%S_DeviceDesc1%=_Install1, USB\VID_XXXX&PID_XXXX&REV_XXXX&MC_XX&MI_XX

; If USBIO shall be installed for a class of devices, use the following entry
; CLASS_XXXX identifies the class code.
;%S_DeviceDesc1%=_Install1, USB\CLASS_XXXX
; Optionally, you can specify a subclass.
;%S_DeviceDesc1%=_Install1, USB\CLASS_XXXX&SUBCLASS_XXXX
; To be even more specific, you can specify a protocol identifier
;%S_DeviceDesc1%=_Install1, USB\CLASS_XXXX&SUBCLASS_XXXX&PROT_XX



;******************************************************************************
; Install section ( Device1 )
;------------------------------------------------------------------------------
; driver-specific, Win98
[_Install1]
CopyFiles=_CopyFiles_sys,_CopyFiles_INF_OTHER,_CopyFiles_INF
AddReg=_AddReg_SW1, _AddReg_98, _Parameters1_98

; device-specific, Win98
[_Install1.HW]
AddReg=_AddReg_HW1

; driver-specific, Win2000
[_Install1.NTx86]
CopyFiles=_CopyFiles_sys,_CopyFiles_INF_OTHER,_CopyFiles_INF
AddReg=_AddReg_SW1, _Parameters1_NT

; service-install, Win2000
[_Install1.NTx86.Services]
AddService = %S_DriverName%, 0x00000002, _NT_AddService, _NT_EventLog

; device-specific, Win2000
[_Install1.NTx86.HW]
AddReg=_AddReg_HW1


;******************************************************************************
; Install section ( Device2 )
; may be repeated to support more than one device
;------------------------------------------------------------------------------
; ...


;******************************************************************************
; NT Service sections (Win2000 only)
;------------------------------------------------------------------------------
[_NT_AddService]
DisplayName    = %S_ServiceDisplayName%
ServiceType    = 1                  ; SERVICE_KERNEL_DRIVER
StartType      = 3                  ; demand
ErrorControl   = 1                  ; SERVICE_ERROR_NORMAL
ServiceBinary  = %10%\System32\Drivers\%S_DriverName%.sys

[_NT_EventLog]
AddReg=_NT_EventLog_AddReg

[_NT_EventLog_AddReg]
HKR,,EventMessageFile,0x00020000,"%%SystemRoot%%\System32\IoLogMsg.dll;%%SystemRoot%%\System32\drivers\%S_DriverName%.sys"
HKR,,TypesSupported,  0x00010001,7



;******************************************************************************
; Registry sections ( Device1 )
;------------------------------------------------------------------------------
[_AddReg_98]
; required standard entries
HKR,,NTMPDriver,,%S_DriverName%.sys
HKR,,DevLoader,,*ntkern

[_AddReg_SW1]
; create registry key used to store configuration parameters
HKLM,"%S_ConfigPath%",,,
HKLM,"%S_ConfigPath%"\"%S_DeviceConfigPath1%",,,

[_AddReg_HW1]
; Create a link to the configuration key. This is absolute required!
HKR,,USBIO_ConfigurationPath,,\Registry\Machine\%S_ConfigPath%\%S_DeviceConfigPath1%

;
; ### modify here ###
; Enable the next line to create an additional private user interface for your device.
; This is strongly recommended if you ship the driver together with a product.
; DO NOT USE an existing GUID. Instead, generate a new one !
; Use guidgen.exe to generate a new GUID, copy-paste it to the the following line.
;HKR,,USBIO_UserInterfaceGuid,,"{????????-????-????-????-????????????}"

;
; Enable the next line to create a static device name.
; THIS IS NOT RECOMMENDED !
; It should be used only if compatibility to earlier versions of USBIO is required.
;HKR,,USBIO_DeviceBaseName,,%S_DeviceBaseName1%


; parameters used on Windows 98, Windows ME
[_Parameters1_98]
; ### modify here ###
; Set the default behaviour of the driver for Windows 98 and Windows ME.
; For a description of the parameters, refer to the USBIO Reference Manual.
HKLM,"%S_ConfigPath%"\"%S_DeviceConfigPath1%",PowerStateOnOpen,0x00010001, 0
HKLM,"%S_ConfigPath%"\"%S_DeviceConfigPath1%",PowerStateOnClose,0x00010001, 0
HKLM,"%S_ConfigPath%"\"%S_DeviceConfigPath1%",EnableRemoteWakeup,0x00010001, 1
HKLM,"%S_ConfigPath%"\"%S_DeviceConfigPath1%",MinPowerStateUsed,0x00010001, 3
HKLM,"%S_ConfigPath%"\"%S_DeviceConfigPath1%",MinPowerStateUnused,0x00010001, 3
HKLM,"%S_ConfigPath%"\"%S_DeviceConfigPath1%",AbortPipesOnPowerDown,0x00010001, 1

; parameters used on Windows 2000
[_Parameters1_NT]
; ### modify here ###
; Set the default behaviour of the driver for Windows 2000
; For a description of the parameters, refer to the USBIO Reference Manual.
HKLM,"%S_ConfigPath%"\"%S_DeviceConfigPath1%",PowerStateOnOpen,0x00010001, 0
HKLM,"%S_ConfigPath%"\"%S_DeviceConfigPath1%",PowerStateOnClose,0x00010001, 0
HKLM,"%S_ConfigPath%"\"%S_DeviceConfigPath1%",EnableRemoteWakeup,0x00010001, 1
HKLM,"%S_ConfigPath%"\"%S_DeviceConfigPath1%",MinPowerStateUsed,0x00010001, 3
HKLM,"%S_ConfigPath%"\"%S_DeviceConfigPath1%",MinPowerStateUnused,0x00010001, 3
HKLM,"%S_ConfigPath%"\"%S_DeviceConfigPath1%",AbortPipesOnPowerDown,0x00010001, 1
HKLM,"%S_ConfigPath%"\"%S_DeviceConfigPath1%",SuppressPnPRemoveDlg,0x00010001, 1


;******************************************************************************
; Registry sections ( Device2 )
; may be repeated to support more than one device
;------------------------------------------------------------------------------
; ...


;******************************************************************************
; Copy Files section
;------------------------------------------------------------------------------
[_CopyFiles_sys]
; ### modify here ###
; Specify the correct file name of the driver binary.
usbior1.sys

[_CopyFiles_INF_OTHER]
;thesyconusbior1.inf

[_CopyFiles_INF]
;thesyconusbior1.inf
usbior1.inf

;******************************************************************************
; Options
;------------------------------------------------------------------------------
[ControlFlags]
; Advanced options can be specified here.
; For details, refer to the Windows 2000 DDK.


;******************************************************************************
; Destination Directories
;------------------------------------------------------------------------------
[DestinationDirs]
DefaultDestDir  = 11    ; SYSTEM directory
_CopyFiles_sys = 10,System32\Drivers
_CopyFiles_INF = 17
_CopyFiles_INF_OTHER = 17,OTHER


;******************************************************************************
; Disk Layout
;------------------------------------------------------------------------------
[SourceDisksNames]
1=%S_DiskName%,,

[SourceDisksFiles]
%S_DriverName%.sys=1


;******************************************************************************
; Text Strings
;------------------------------------------------------------------------------
[Strings]
; ### modify here ###
; Edit the strings in this section to met your preferences.
; Some of the strings are shown at the user interface.

; provider name
S_Provider="Thesycon"
; manufacturer name
S_Mfg="Thesycon"

; device class display name, shown in Device Manager
S_DeviceClassDisplayName="Bematech USBIO controlled devices"



; device description
S_DeviceDesc1="Bematech USB Printer"

; disk name
S_DiskName="USBIO Driver Disk"


; file name of driver executable 
; If the name is modified, the _CopyFiles_sys section must also be modified !
S_DriverName="usbior1"

; service display name 
S_ServiceDisplayName="USBIO Driver (usbior1.sys)"


; configuration registry path (where the registry parameters will be located)
; IMPORTANT: MUST BE underneath SYSTEM\CurrentControlSet\Services !
; The string should be build in the form:
; SYSTEM\CurrentControlSet\Services\<DriverName>
S_ConfigPath="SYSTEM\CurrentControlSet\Services\USBIO"


; device-specific configuration registry path
S_DeviceConfigPath1="Parameters"

; device-specific base names
; Only needed if static device names are used, otherwise unused.
; See comments on the value USBIO_DeviceBaseName above.
S_DeviceBaseName1="USBIO_Device"


