;////////////////////////////////////////////////////////////////////////////////////.
; DJ Console - ASIO driver
;
; Version 6.190
; 
; © Guillemot Corporation, 2015.  All rights reserved.
;/////////////////////////////////////////////////////////////////////////////////////

[Version]
Signature="$CHICAGO$"
Provider=%ProviderName%
Class=DJHerculesMixDevices
ClassGuid={495E6797-4D1F-4ad5-87EF-6D577B0EC443}
DriverVer=04/17/2014,6.1.9.0
CatalogFile=herculesdj.cat

;--------- SourceDiskNames and SourceDiskFiles Section -----------------------

; These sections identify source disks and files for installation.  They are
; shown here as an example, but commented out.

[SourceDisksNames]
100=%Disk1Name%,,,


[SourceDisksFiles.x86]
WdfCoInstaller01009.dll = 100,\x86
HDJAsioK.sys = 100,\x86
HDJBulk.sys = 100,\x86
HDJMidi.sys = 100,\x86
HDJCtrl.sys = 100,\x86
;HDJAPI.dll = 100,\x86
;HDJSAPI.dll = 100,\x86
;HRFDongle.dll = 100,\x86
HDJAsioCpl.dll = 100,\x86
HDJAsiou.dll = 100,\x86
DJHerculesMixDevices.dll = 100,\x86

[SourceDisksFiles.amd64]
WdfCoInstaller01009.dll = 100,\amd64
HDJAsioK.sys = 100,\amd64
HDJBulk.sys = 100,\amd64
HDJMidi.sys = 100,\amd64
HDJCtrl.sys = 100,\amd64
;HDJAPI64.dll = 100,\amd64
;HRFDongle64.dll = 100,\amd64
HDJAsiou64.dll = 100,\amd64
HDJAsioCpl64.dll = 100,\amd64
DJHerculesMixDevices.dll = 100,\amd64

;HDJAPI.dll = 100,\x86
;HDJSAPI.dll = 100,\x86
;HRFDongle.dll = 100,\x86
HDJAsioCpl.dll = 100,\x86
HDJAsiou.dll = 100,\x86

;--------- DestinationDirs Section -------------------------------------------

[DestinationDirs]
Asio_Files_Driver = 10,System32\Drivers
Asio_Files_W32 = 10,System32
;AsioMK_Files_W32 = 10,System32
Asio_Files_W32_64 = 10,SysWOW64
;AsioMK_Files_W32_64 = 10,SysWOW64
Asio_Files_W64 = 10,System32
;AsioMK_Files_W64 = 10,System32
DJHerculesMixDevicesInstallerCopyFiles = 11

; ================= Class section =====================

[ClassInstall32]
Addreg=DJHerculesMixDevicesReg     
CopyFiles=DJHerculesMixDevicesInstallerCopyFiles

[DJHerculesMixDevicesReg]
HKR,,,0,%ClassName%
HKR,,Icon,,100
HKR,,Installer32,,"DJHerculesMixDevices.dll,DJHerculesMixDevicesInstaller"

[DJHerculesMixDevicesInstallerCopyFiles]
DJHerculesMixDevices.dll

;--------- Manufacturer and Models Sections ----------------------------------

[Manufacturer]
%MfgName%=Mfg0,NTx86,NTamd64

[Mfg0.NTx86]
%DeviceDesc%=Asio_DDI, USB\VID_06F8&PID_b000&MI_05
%DeviceDesc2%=Asio_DDI, USB\VID_06F8&PID_b100&MI_07
%DeviceDescRMX%=Asio_DDI, USB\VID_06F8&PID_b101&MI_07
%DeviceDescTRIM46%=Asio_DDI, USB\VID_06F8&PID_b103&MI_04
%DeviceDescTRIM46%=Asio_DDI, USB\VID_06F8&PID_b104&MI_04
%DeviceDescMk4%=Asio_DDI, USB\VID_06F8&PID_b107&MI_04
%DeviceDesc4MX%=Asio_DDI, USB\VID_06F8&PID_b109&MI_04
%DeviceDesc4MX%=Asio_DDI, USB\VID_06F8&PID_b10a&MI_04
%DeviceDesc4SET%=Asio_DDI, USB\VID_06F8&PID_b10c&MI_04
%DeviceDesc4SET%=Asio_DDI, USB\VID_06F8&PID_b10d&MI_04
%DeviceDescAIR%=Asio_DDIAIR, USB\VID_06F8&PID_b10f&MI_01
%DeviceDescInstinct%=Asio_DDIINSTINCT, USB\VID_06F8&PID_b111&MI_01
%DeviceDescAirPlus%=Asio_DDIAIRPLUS, USB\VID_06F8&PID_b116&MI_01
%DeviceDescUniversal%=Asio_DDIUniversal, USB\VID_06F8&PID_b11a&MI_02

[Mfg0.NTamd64]
%DeviceDesc%=Asio_DDI, USB\VID_06F8&PID_b000&MI_05
%DeviceDesc2%=Asio_DDI, USB\VID_06F8&PID_b100&MI_07
%DeviceDescRMX%=Asio_DDI, USB\VID_06F8&PID_b101&MI_07
%DeviceDescTRIM46%=Asio_DDI, USB\VID_06F8&PID_b103&MI_04
%DeviceDescTRIM46%=Asio_DDI, USB\VID_06F8&PID_b104&MI_04
%DeviceDescMk4%=Asio_DDI, USB\VID_06F8&PID_b107&MI_04
%DeviceDesc4MX%=Asio_DDI, USB\VID_06F8&PID_b109&MI_04
%DeviceDesc4MX%=Asio_DDI, USB\VID_06F8&PID_b10a&MI_04
%DeviceDesc4SET%=Asio_DDI, USB\VID_06F8&PID_b10c&MI_04
%DeviceDesc4SET%=Asio_DDI, USB\VID_06F8&PID_b10d&MI_04
%DeviceDescAIR%=Asio_DDIAIR, USB\VID_06F8&PID_b10f&MI_01 
%DeviceDescInstinct%=Asio_DDIINSTINCT, USB\VID_06F8&PID_b111&MI_01
%DeviceDescAirPlus%=Asio_DDIAIRPLUS, USB\VID_06F8&PID_b116&MI_01
%DeviceDescUniversal%=Asio_DDIUniversal, USB\VID_06F8&PID_b11a&MI_02

;---------- DDInstall Sections -----------------------------------------------
; --------- Windows NTx86 -----------------

[Asio_DDI.NTx86]
CopyFiles=Asio_Files_Driver,Asio_Files_W32
;,AsioMK_Files_W32

[Asio_DDI.NTx86.Services]
Addservice = HDJAsioK, 0x00000002, Asio_AddService

[Asio_DDIAIR.NTx86]
CopyFiles=Asio_Files_Driver,Asio_Files_W32
;,AsioMK_Files_W32

[Asio_DDIAIR.NTx86.HW]
AddReg=Asio_AIR_AddReg

[Asio_AIR_AddReg]
HKR,"Device Parameters","DJCONTROLAIR_PRODUCT_CODE", 0x00010001, 1

[Asio_DDIAIR.NTx86.Services]
Addservice = HDJAsioK, 0x00000002, Asio_AddService

[Asio_DDIINSTINCT.NTx86]
CopyFiles=Asio_Files_Driver,Asio_Files_W32
;,AsioMK_Files_W32

[Asio_DDIINSTINCT.NTx86.HW]
AddReg=Asio_INSTINCT_AddReg

[Asio_INSTINCT_AddReg]
HKR,"Device Parameters","DJCONTROLINSTINCT_PRODUCT_CODE", 0x00010001, 1

[Asio_DDIINSTINCT.NTx86.Services]
Addservice = HDJAsioK, 0x00000002, Asio_AddService

[Asio_DDIAIRPLUS.NTx86]
CopyFiles=Asio_Files_Driver,Asio_Files_W32
;,AsioMK_Files_W32

[Asio_DDIAIRPLUS.NTx86.HW]
AddReg=Asio_DDIAIRPLUS_AddReg

[Asio_DDIAIRPLUS_AddReg]
HKR,"Device Parameters","DJCONTROLAIR_PLUS_PRODUCT_CODE", 0x00010001, 1

[Asio_DDIAIRPLUS.NTx86.Services]
Addservice = HDJAsioK, 0x00000002, Asio_AddService

[Asio_DDIUniversal.NTx86]
CopyFiles=Asio_Files_Driver,Asio_Files_W32
;,AsioMK_Files_W32

[Asio_DDIUniversal.NTx86.HW]
AddReg=Asio_DDIUniversal_AddReg

[Asio_DDIUniversal_AddReg]
HKR,"Device Parameters","DJCONTROL_UNIVERSAL_PRODUCT_CODE", 0x00010001, 1

[Asio_DDIUniversal.NTx86.Services]
Addservice = HDJAsioK, 0x00000002, Asio_AddService

[Asio_AddService]
DisplayName    = %SvcDesc%
ServiceType    = 1                  ; SERVICE_KERNEL_DRIVER
StartType      = 3                  ; SERVICE_DEMAND_START
ErrorControl   = 1                  ; SERVICE_ERROR_NORMAL
ServiceBinary  = %10%\System32\Drivers\HDJAsioK.sys
AddReg=Asio_NT_AddReg

[Asio_NT_AddReg]
HKR, "Parameters","BreakOnEntry", 0x00010001, 0
HKLM,%KEY_EVENT%,EventMessageFile,0x00020000,"%%SystemRoot%%\System32\IoLogMsg.dll;%%SystemRoot%%\System32\drivers\hdjasiok.sys"
HKLM,%KEY_EVENT%,TypesSupported,0x00010001, "7"
HKR, "Parameters\WDF","ForceLogsInMiniDump", 0x00010001, 1
HKLM, "Software\Hercules Technologies\DJConsoleSeries",\
	 "ASIOBufSize_44100", 0x00010001, 882
HKLM, "Software\Hercules Technologies\DJConsoleSeries",\
	 "ASIOBufSize_48000", 0x00010001, 480
HKR, "Parameters\WDF","ForceLogsInMiniDump", 0x00010001, 1

; --------- Windows .NTamd64 -----------------

[Asio_DDI.NTamd64]
CopyFiles=Asio_Files_Driver,Asio_Files_W32_64,Asio_Files_W64
;,AsioMK_Files_W32_64,AsioMK_Files_W64

[Asio_DDIAIR.NTamd64]
CopyFiles=Asio_Files_Driver,Asio_Files_W32_64,Asio_Files_W64
;,AsioMK_Files_W32_64,AsioMK_Files_W64

[Asio_DDIAIR.NTamd64.HW]
AddReg=Asio_AIR_AddReg

[Asio_DDI.NTamd64.Services]
Addservice = HDJAsioK, 0x00000002, Asio_AddService

[Asio_DDIAIR.NTamd64.Services]
Addservice = HDJAsioK, 0x00000002, Asio_AddService

[Asio_DDIINSTINCT.NTamd64]
CopyFiles=Asio_Files_Driver,Asio_Files_W32_64,Asio_Files_W64
;,AsioMK_Files_W32

[Asio_DDIINSTINCT.NTamd64.HW]
AddReg=Asio_INSTINCT_AddReg

[Asio_DDIINSTINCT.NTamd64.Services]
Addservice = HDJAsioK, 0x00000002, Asio_AddService

[Asio_DDIAIRPLUS.NTamd64]
CopyFiles=Asio_Files_Driver,Asio_Files_W32_64,Asio_Files_W64
;,AsioMK_Files_W32

[Asio_DDIAIRPLUS.NTamd64.HW]
AddReg=Asio_DDIAIRPLUS_AddReg

[Asio_DDIAIRPLUS.NTamd64.Services]
Addservice = HDJAsioK, 0x00000002, Asio_AddService

[Asio_DDIUniversal.NTamd64]
CopyFiles=Asio_Files_Driver,Asio_Files_W32_64,Asio_Files_W64
;,AsioMK_Files_W32

[Asio_DDIUniversal.NTamd64.HW]
AddReg=Asio_DDIUniversal_AddReg

[Asio_DDIUniversal.NTamd64.Services]
Addservice = HDJAsioK, 0x00000002, Asio_AddService

;
;--- ASIO DJ Console NTx86 Device Co-installer installation ------
;
[Asio_DDI.NTx86.CoInstallers]
AddReg=ASIODevice_CoInstaller_AddReg
CopyFiles=ASIODevice_CoInstaller_CopyFiles

[Asio_DDI.NTx86.Wdf]
KmdfService = HDJAsioK, ASIODevice_wdfsect
[ASIODevice_wdfsect]
KmdfLibraryVersion = 1.9

;
;--- ASIO DJ Console NTamd64 Device Co-installer installation ------
;
[Asio_DDI.NTamd64.CoInstallers]
AddReg=ASIODevice_CoInstaller_AddReg
CopyFiles=ASIODevice_CoInstaller_CopyFiles

[Asio_DDI.NTamd64.Wdf]
KmdfService = HDJAsioK, ASIODevice_wdfsect
[ASIODevice_wdfsect]
KmdfLibraryVersion = 1.9

;
;--- ASIO kernel driver Common Device Co-installer installation ------
;
[ASIODevice_CoInstaller_AddReg]
HKR,,CoInstallers32,0x00010000, "WdfCoInstaller01009.dll,WdfCoInstaller"

[ASIODevice_CoInstaller_CopyFiles]
WdfCoInstaller01009.dll

; --------- Files (common) -------------

[Asio_Files_Driver]
HDJAsioK.sys
HDJBulk.sys
HDJMidi.sys
HDJCtrl.sys

[Asio_Files_W32]
HDJAsioCpl.dll
HDJAsiou.dll 

[Asio_Files_W32_64]
HDJAsioCpl.dll
HDJAsiou.dll 

[Asio_Files_W64]
HDJAsioCpl.dll,HDJAsioCpl64.dll,,
HDJAsiou.dll,HDJAsiou64.dll,,

;[AsioMK_Files_W32]
;HDJAPI.dll
;HRFDongle.dll
;HDJSAPI.dll 

;[AsioMK_Files_W32_64]
;HDJAPI.dll
;HRFDongle.dll
;HDJSAPI.dll 

;[AsioMK_Files_W64]
;HDJAPI.dll,HDJAPI64.dll,,
;HRFDongle.dll,HRFDongle64.dll,,

;--------- Strings Section ---------------------------------------------------

[Strings]
ProviderName="Hercules DJ Console ASIO"
DeviceDesc="Hercules DJ Console ASIO"
DeviceDesc2="Hercules DJ Console Mk2 ASIO"
DeviceDescRMX="Hercules DJ Console Rmx ASIO"
DeviceDescTRIM46="Hercules DEEJAY TRIM 4&6 ASIO"
DeviceClassName="Hercules DJ Console"
DeviceDescMk4="Hercules DJ Console Mk4 ASIO"
DeviceDesc4MX="Hercules DJ Console 4-Mx ASIO"
DeviceDesc4SET="Hercules DJ 4Set ASIO"
DeviceDescAIR="Hercules DJ Control Air ASIO"
DeviceDescInstinct="Hercules DJControl Instinct ASIO"
DeviceDescAirPlus="Hercules DJControl AIR+ ASIO"
DeviceDescUniversal="DJHERCULESMIX Universal DJ ASIO"
MfgName="Guillemot Corporation"
SvcDesc="HDJAsioK"
Disk1Name="DJHERCULESMIX DJ Console Series Driver CD 1"
KEY_EVENT="SYSTEM\CurrentControlSet\Services\EventLog\System\HDJAsioK"
ClassName="DJHERCULESMIX Devices"

REG_SZ                 = 0
REG_BINARY             = 1
REG_KEYONLY            = 0x00000010
REG_DWORD              = 0x00010001
REG_EXPAND_SZ          = 0x00020000
REG_MULTI_SZ           = 0x00010000