;$$$behringer_usb_coinst$$$  ; This case-sensitive tag is needed to trigger the device class co-installer. 
;
; arch_usb Setup Information file
; Copyright (c) 2003-2013
;
; This file supports:
;     Windows XP
;     Windows XP x64 Edition
;     Windows Vista
;     Windows Vista x64
;     Windows 7
;     Windows 7 x64
;

;******************************************************************************
; Version Section
;------------------------------------------------------------------------------
[Version]
Signature="$Windows NT$"
Class=USB
ClassGUID={36fc9e60-c465-11cf-8056-444553540000}
Provider=%S_Provider%
DriverVer=06/12/2013,6.13.0.0
CatalogFile=behringer_xuf_usb.cat

;******************************************************************************
; Manufacturer
;------------------------------------------------------------------------------
[Manufacturer]
%S_Provider%=_Devices, ntamd64

;******************************************************************************
; Models sections
;------------------------------------------------------------------------------
; x86-based systems
[_Devices]
%S_DeviceDesc1%=_Install1, usb\vid_1397&pid_0006



; x64-based systems
[_Devices.ntamd64]
%S_DeviceDesc1%=_Install1, usb\vid_1397&pid_0006




;******************************************************************************
; Install Sections x86-based systems
;------------------------------------------------------------------------------

[_Install1.ntx86]
CopyFiles=_CopyFiles_sys

[_Install1.ntx86.Services]
AddService = %S_DriverName%, 0x00000002, _AddService, _EventLog

[_Install1.ntx86.HW]
AddReg=_AddReg_ChildDev, _AddReg_DevSpecCfg1


[_AddService]
ServiceType    = 1                  ; SERVICE_KERNEL_DRIVER
StartType      = 3                  ; SERVICE_DEMAND_START
ErrorControl   = 1                  ; SERVICE_ERROR_NORMAL
ServiceBinary  = %10%\System32\Drivers\%S_DriverName%.sys
AddReg=_AddReg_DevInterfaces, _AddReg_ConfigDB, _AddReg_Settings

[_EventLog]
AddReg=_EventLog_AddReg

[_EventLog_AddReg]
HKR,,EventMessageFile,%REG_EXPAND_SZ%,"%%SystemRoot%%\System32\IoLogMsg.dll;%%SystemRoot%%\System32\drivers\%S_DriverName%.sys"
HKR,,TypesSupported,  %REG_DWORD%, 7


;******************************************************************************
; Install Sections x64-based systems
;------------------------------------------------------------------------------

[_Install1.ntamd64]
CopyFiles=_CopyFiles_sys_x64

[_Install1.ntamd64.Services]
AddService = %S_DriverName%, 0x00000002, _AddService_x64, _EventLog_x64

[_Install1.ntamd64.HW]
AddReg=_AddReg_ChildDev, _AddReg_DevSpecCfg1


[_AddService_x64]
ServiceType    = 1                  ; SERVICE_KERNEL_DRIVER
StartType      = 3                  ; SERVICE_DEMAND_START
ErrorControl   = 1                  ; SERVICE_ERROR_NORMAL
ServiceBinary  = %10%\System32\Drivers\%S_DriverName_x64%.sys
AddReg=_AddReg_DevInterfaces, _AddReg_ConfigDB, _AddReg_Settings

[_EventLog_x64]
AddReg=_EventLog_AddReg_x64

[_EventLog_AddReg_x64]
HKR,,EventMessageFile,%REG_EXPAND_SZ%,"%%SystemRoot%%\System32\IoLogMsg.dll;%%SystemRoot%%\System32\drivers\%S_DriverName_x64%.sys"
HKR,,TypesSupported,  %REG_DWORD%, 7


;******************************************************************************
; child device identifier, identifies the WDM audio driver instance
;------------------------------------------------------------------------------
[_AddReg_ChildDev]

; Setting this flag to null disables the WDM audio device.
;HKR,  , ChildEnable, %REG_DWORD%, 0


; Use this to override the default enumerator name. This is optional.
HKR, , ChildDeviceEnumerator,   %REG_SZ%,  "behringer_xuf_usb_ENUM"

; Use this to override the default device description. This is optional.
;HKR, , ChildDeviceDescription,  %REG_SZ%,  "BEHRINGER WDM Audio Device"

;;Note: The HardwareID for the WDM audio device is built as follows: <Enumerator\DeviceId>


;******************************************************************************
; device interface identifiers
;------------------------------------------------------------------------------
[_AddReg_DevInterfaces]

;; specify a vendor-specific GUID which is used by the vendor's applications to open the driver
;; Use guidgen.exe to generate a new GUID, copy-paste it into the following line.
HKR, , VendorSpecificInterfaceGuid,  %REG_SZ%,  "{02BEAD87-22D2-4310-A6EA-A5AB11A15AB5}"


;; Enable/disable the default device interface exported by the driver.
HKR, , RegisterDefaultDeviceInterface,  %REG_DWORD%,  1


[_AddReg_DevSpecCfg1]
;******************************************************************************
; Device specific static settings
;------------------------------------------------------------------------------

;;
;; sound device settings
;; these keys can be found under 
;; HKLM\System\CurrentControlSet\Enum\USB\VID_<VVVV>&PID_<PPPP>\<serial number>\DeviceParameters
;; the relative path is assambled from the direction (In|Out)&<Hardware Name>&<Offset in the stream>

;------------------------------------------------------------------------------
;; WDM Control definition: 
;;
;; if CreateSoundDevice is 1 the sound device is visable in the system as a sound device
;; the default value is 1
;;
;;   Plug definition \ funktion    AVC Unit              ID
;------------------------------------------------------------------------------
;;HKR, "In&Mic&00",       "CreateSoundDevice", %REG_DWORD%, 1
;;HKR, "In&Line&02",      "CreateSoundDevice", %REG_DWORD%, 1
;;HKR, "In&SPDIF&04",     "CreateSoundDevice", %REG_DWORD%, 1

;;HKR, "Out&Line&00",     "CreateSoundDevice", %REG_DWORD%, 1
;;HKR, "Out&Line&02",     "CreateSoundDevice", %REG_DWORD%, 1
;;HKR, "Out&Line&04",     "CreateSoundDevice", %REG_DWORD%, 1
;;HKR, "Out&Line&06",     "CreateSoundDevice", %REG_DWORD%, 1
    

;------------------------------------------------------------------------------
;; WDM input assignment:   
;;
;; The sound device name can be modified
;; $D is replaced by the device name
;; $N is replaced by the hardware name
;;
;;   Plug definition      Command                      WDM Windows text
;------------------------------------------------------------------------------
;; Inputs
HKR, "In&Input&00",   SoundDeviceName,  %REG_SZ%,  "$D Wave In 01/02"
HKR, "In&Input&02",   SoundDeviceName,  %REG_SZ%,  "$D Wave In 03/04"
HKR, "In&Input&04",   SoundDeviceName,  %REG_SZ%,  "$D Wave In 05/06"
HKR, "In&Input&06",   SoundDeviceName,  %REG_SZ%,  "$D Wave In 07/08"
HKR, "In&Input&08",   SoundDeviceName,  %REG_SZ%,  "$D Wave In 09/10"
HKR, "In&Input&10",   SoundDeviceName,  %REG_SZ%,  "$D Wave In 11/12"
HKR, "In&Input&12",   SoundDeviceName,  %REG_SZ%,  "$D Wave In 13/14"
HKR, "In&Input&14",   SoundDeviceName,  %REG_SZ%,  "$D Wave In 15/16"
HKR, "In&Input&16",   SoundDeviceName,  %REG_SZ%,  "$D Wave In 17/18"
HKR, "In&Input&18",   SoundDeviceName,  %REG_SZ%,  "$D Wave In 19/20"
HKR, "In&Input&20",   SoundDeviceName,  %REG_SZ%,  "$D Wave In 21/22"
HKR, "In&Input&22",   SoundDeviceName,  %REG_SZ%,  "$D Wave In 23/24"
HKR, "In&Input&24",   SoundDeviceName,  %REG_SZ%,  "$D Wave In 25/26"
HKR, "In&Input&26",   SoundDeviceName,  %REG_SZ%,  "$D Wave In 27/28"
HKR, "In&Input&28",   SoundDeviceName,  %REG_SZ%,  "$D Wave In 29/30"
HKR, "In&Input&30",   SoundDeviceName,  %REG_SZ%,  "$D Wave In 31/32"

HKR, "In&MIDI&00",    SoundDeviceName,  %REG_SZ%,  "$D MIDI"

;; Outputs
HKR, "Out&Output&00", SoundDeviceName,  %REG_SZ%,  "$D Wave Out 01/02"
HKR, "Out&Output&02", SoundDeviceName,  %REG_SZ%,  "$D Wave Out 03/04"
HKR, "Out&Output&04", SoundDeviceName,  %REG_SZ%,  "$D Wave Out 05/06"
HKR, "Out&Output&06", SoundDeviceName,  %REG_SZ%,  "$D Wave Out 07/08"
HKR, "Out&Output&08", SoundDeviceName,  %REG_SZ%,  "$D Wave Out 09/10"
HKR, "Out&Output&10", SoundDeviceName,  %REG_SZ%,  "$D Wave Out 11/12"
HKR, "Out&Output&12", SoundDeviceName,  %REG_SZ%,  "$D Wave Out 13/14"
HKR, "Out&Output&14", SoundDeviceName,  %REG_SZ%,  "$D Wave Out 15/16"
HKR, "Out&Output&16", SoundDeviceName,  %REG_SZ%,  "$D Wave Out 17/18"
HKR, "Out&Output&18", SoundDeviceName,  %REG_SZ%,  "$D Wave Out 19/20"
HKR, "Out&Output&20", SoundDeviceName,  %REG_SZ%,  "$D Wave Out 21/22"
HKR, "Out&Output&22", SoundDeviceName,  %REG_SZ%,  "$D Wave Out 23/24"
HKR, "Out&Output&24", SoundDeviceName,  %REG_SZ%,  "$D Wave Out 25/26"
HKR, "Out&Output&26", SoundDeviceName,  %REG_SZ%,  "$D Wave Out 27/28"
HKR, "Out&Output&28", SoundDeviceName,  %REG_SZ%,  "$D Wave Out 29/30"
HKR, "Out&Output&30", SoundDeviceName,  %REG_SZ%,  "$D Wave Out 31/32"

HKR, "Out&MIDI&00",   SoundDeviceName,  %REG_SZ%,  "$D MIDI"


;------------------------------------------------------------------------------
;; WDM sound device:    disable WDM sound device (defauld is enabled)
;;
;;   Plug definition       Command                         0=off / 1=on
;------------------------------------------------------------------------------
HKR, "In&Input&00",   CreateSoundDevice, %REG_DWORD%, 1
HKR, "In&Input&02",   CreateSoundDevice, %REG_DWORD%, 1
HKR, "In&Input&04",   CreateSoundDevice, %REG_DWORD%, 1
HKR, "In&Input&06",   CreateSoundDevice, %REG_DWORD%, 1
HKR, "In&Input&08",   CreateSoundDevice, %REG_DWORD%, 0
HKR, "In&Input&10",   CreateSoundDevice, %REG_DWORD%, 0
HKR, "In&Input&12",   CreateSoundDevice, %REG_DWORD%, 0
HKR, "In&Input&14",   CreateSoundDevice, %REG_DWORD%, 0
HKR, "In&Input&16",   CreateSoundDevice, %REG_DWORD%, 0
HKR, "In&Input&18",   CreateSoundDevice, %REG_DWORD%, 0
HKR, "In&Input&20",   CreateSoundDevice, %REG_DWORD%, 0
HKR, "In&Input&22",   CreateSoundDevice, %REG_DWORD%, 0
HKR, "In&Input&24",   CreateSoundDevice, %REG_DWORD%, 0
HKR, "In&Input&26",   CreateSoundDevice, %REG_DWORD%, 0
HKR, "In&Input&28",   CreateSoundDevice, %REG_DWORD%, 0
HKR, "In&Input&30",   CreateSoundDevice, %REG_DWORD%, 0

HKR, "Out&Output&00",   CreateSoundDevice, %REG_DWORD%, 1
HKR, "Out&Output&02",   CreateSoundDevice, %REG_DWORD%, 1
HKR, "Out&Output&04",   CreateSoundDevice, %REG_DWORD%, 1
HKR, "Out&Output&06",   CreateSoundDevice, %REG_DWORD%, 1
HKR, "Out&Output&08",   CreateSoundDevice, %REG_DWORD%, 0
HKR, "Out&Output&10",   CreateSoundDevice, %REG_DWORD%, 0
HKR, "Out&Output&12",   CreateSoundDevice, %REG_DWORD%, 0
HKR, "Out&Output&14",   CreateSoundDevice, %REG_DWORD%, 0
HKR, "Out&Output&16",   CreateSoundDevice, %REG_DWORD%, 0
HKR, "Out&Output&18",   CreateSoundDevice, %REG_DWORD%, 0
HKR, "Out&Output&20",   CreateSoundDevice, %REG_DWORD%, 0
HKR, "Out&Output&22",   CreateSoundDevice, %REG_DWORD%, 0
HKR, "Out&Output&24",   CreateSoundDevice, %REG_DWORD%, 0
HKR, "Out&Output&26",   CreateSoundDevice, %REG_DWORD%, 0
HKR, "Out&Output&28",   CreateSoundDevice, %REG_DWORD%, 0
HKR, "Out&Output&30",   CreateSoundDevice, %REG_DWORD%, 0











;;
;; channel names, used by ASIO and the CPL
;; see registry key 
;; HKLM\System\CurrentControlSet\Enum\USB\VID_<VVVV>&PID_<PPPP>\<serial number>\DeviceParameters
;; for possible pathes
;;

;;HKR, "In&Line1/2&00\00",  "NickName",		%REG_SZ%, "InChannel1"
;;HKR, "In&Line1/2&00\01",  "NickName",		%REG_SZ%, "InChannel2"

;;HKR, "In&MIDI&00\00",     "NickName",		%REG_SZ%, "InMIDI1"

;;HKR, "Out&Line1/2&00\00",  "NickName",	%REG_SZ%, "OutChannel1"
;;HKR, "Out&Line1/2&00\01",  "NickName",	%REG_SZ%, "OutChannel2"


;; The latency settings of the device
;; the latency of the device input path including the ADC, in microseconds (optimized for 44.1kHz)
HKR,, "DeviceInputLatency[us]",     %REG_DWORD%, 1395

;; the latency of the device output path including the DAC, in microseconds (optimized for 44.1kHz)
HKR,, "DeviceOutputLatency[us]",    %REG_DWORD%, 1395

[_AddReg_ConfigDB]
;******************************************************************************
; Static settings in ConfigDB that apply to all models
;------------------------------------------------------------------------------


;; default size of ASIO buffers, in microseconds
HKR, "ConfigDB\Settings", "AsioBufferDepth[us]",        %REG_DWORD%, 10000

;; default domain synch mode:
;; 0 = Internal (PC is clock master)
;; 1 = External (a device is clock master)
HKR, "ConfigDB\Settings", "DomainSynchMode",            %REG_DWORD%, 1

;; default size of isochronous stream buffers, in microseconds
HKR, "ConfigDB\Settings", "IsoStreamBufferDepth[us]",   %REG_DWORD%, 2000

;; default size of WDM/KS buffers, in microseconds
HKR, "ConfigDB\Settings", "KsBufferDepth[us]",          %REG_DWORD%, 10000

;; the buffer size that is available in the device implementation
;; in bytes
HKR, "ConfigDB\Settings", "MidiOutBufferSize",          %REG_DWORD%, 60

;; the transmit rate that is used by the PC driver in bits per second
HKR, "ConfigDB\Settings", "MidiTransmitRate",           %REG_DWORD%, 29000

;; prepend the device name to the display name
;HKR, "ConfigDB\Settings", "PrependDeviceNameToDisplayName", %REG_DWORD%, 0

;; timeout for USB requests in milliseconds
HKR, "ConfigDB\Settings", "RequestTimeout[ms]",         %REG_DWORD%, 1000

;; default sampling rate, supported rates are: 32000, 44100, 48000, 88200, 96000, 176400, 192000 
HKR, "ConfigDB\Settings", "SampleRate[Hz]",             %REG_DWORD%, 44100

;; default sample rate selection mode:
;; 0 = Manual (rate is manually set by user)
;; 1 = Auto (rate is defined by clock master device)
HKR, "ConfigDB\Settings", "SampleRateSelectionMode",    %REG_DWORD%, 1




;******************************************************************************
; Global settings
;------------------------------------------------------------------------------
[_AddReg_Settings]




;******************************************************************************
; Copy file sections
;------------------------------------------------------------------------------
[_CopyFiles_sys]
behringer_xuf_usb.sys,,,0x00000004

[_CopyFiles_sys_x64]
behringer_xuf_usb_x64.sys,,,0x00000004


;******************************************************************************
; Destination Directories
;------------------------------------------------------------------------------
[DestinationDirs]
DefaultDestDir =     12   ; %windir%\system32\drivers 
_CopyFiles_sys =     12
_CopyFiles_sys_x64 = 12


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

[SourceDisksNames.amd64]
1=%S_DiskName%,,


[SourceDisksFiles.x86]
behringer_xuf_usb.sys=1

[SourceDisksFiles.amd64]
behringer_xuf_usb_x64.sys=1


;******************************************************************************
; Text Strings
;------------------------------------------------------------------------------
[Strings]
;
; Non-Localizable Strings, DO NOT MODIFY!
;
REG_SZ         = 0x00000000
REG_MULTI_SZ   = 0x00010000
REG_EXPAND_SZ  = 0x00020000
REG_BINARY     = 0x00000001
REG_DWORD      = 0x00010001


;
; Localizable Strings, modify as required
;
S_Provider="BEHRINGER"
S_DiskName="BEHRINGER USB Audio Driver Disk"
S_DeviceDesc1="Behringer X-UF"


; File name of driver executable (without extension).
; If the name is modified, the [_CopyFiles_sys] and [SourceDisksFiles]
; sections have to be modified as well!
S_DriverName =     "behringer_xuf_usb"
S_DriverName_x64 = "behringer_xuf_usb_x64"


; *** EOF ***
