; Copyright (c) 2016, Conexant System, Inc. 

[Version]
Signature="$CHICAGO$"
Class=MEDIA
ClassGUID={4d36e96c-e325-11ce-bfc1-08002be10318}
provider=%ProviderName%
DriverVer = 02/03/2017, 1.9.0.0
CatalogFile=SliceComm.cat

[SourceDisksNames]
222=%DiskDescription%,,,

[SourceDisksFiles]
UIU32s.exe=222
UIU64s.exe=222
UCI32S133.dll=222
UCI64S133.dll=222
CxPageMaster32.dll=222
CxPageMaster64.dll=222
CxUSB32.dll=222
CxUSB64.dll=222
;;Cx32APO2.dll=222
;;Cx64APO2.dll=222
;;Cxapo.prop=222

[SignatureAttributes]
;;CX64APO2.dll=SignatureAttributes.PETrust
;;CX32APO2.dll=SignatureAttributes.PETrust

[SignatureAttributes.DRM]
DRMLevel=1300

[SignatureAttributes.PETrust]
PETrust=true
;============================================================================

[DestinationDirs]
SysFx.NTx86.CopyList=10,system32 
SysFx.NTamd64.CopyList=10,system32
Uninstaller.NTx86.CopyFiles=16422,CONEXANT\%DHAudioID%
Uninstaller.NTamd64.CopyFiles=16422,CONEXANT\%DHAudioID%
SysFx.NTx86.CoInstaller.CopyFiles=10,system32
SysFx.NTamd64.CoInstaller.CopyFiles=10,system32

[Manufacturer]
%MfgName%=DolbyLabs, ntx86, ntamd64

;; Uses the generic class driver for now
[DolbyLabs.NTx86]
%ProductName%=USBAudio.SysFx,USB\VID_1394&PID_5268&MI_00
%ProductName%=USBAudio.SysFx,USB\VID_03F0&PID_5268&MI_00
%ProductName%=USBAudio.SysFx,USB\VID_03F0&PID_0756&MI_00

[DolbyLabs.NTamd64]
%ProductName%=USBAudio.SysFx,USB\VID_1394&PID_5268&MI_00
%ProductName%=USBAudio.SysFx,USB\VID_03F0&PID_5268&MI_00
%ProductName%=USBAudio.SysFx,USB\VID_03F0&PID_0756&MI_00

;;
;;  Include/Need sections from OS installed wdma_usb.inf file
;;
[USBAudio.SysFx.NTx86]
Include=ks.inf, wdmaudio.inf, wdma_usb.inf
Needs=KS.Registration, WDMAUDIO.Registration, USBAudioOEM.CopyFiles, USBAudioOEM.AddReg
AddProperty=OEMCustomBranding.AddProperty,SupportedTech.AddProperty
CopyFiles=SysFx.NTx86.CopyList,Uninstaller.NTx86.CopyFiles
RegisterDlls=SysFx.NTx86.RegisterDlls
AddReg=SysFx.NTx86.RunOnceReg,Uninstaller.NTx86.AddReg, USBAudio.AddReg, MicGain.AddReg

[USBAudio.SysFx.NTamd64]
Include=ks.inf, wdmaudio.inf, wdma_usb.inf
Needs=KS.Registration, WDMAUDIO.Registration, USBAudioOEM.CopyFiles, USBAudioOEM.AddReg
AddProperty=OEMCustomBranding.AddProperty,SupportedTech.AddProperty
CopyFiles=SysFx.NTamd64.CopyList,Uninstaller.NTamd64.CopyFiles
RegisterDlls=SysFx.NTamd64.RegisterDlls
AddReg=SysFx.NTamd64.RunOnceReg,Uninstaller.NTamd64.AddReg, USBAudio.AddReg, MicGain.AddReg

;
; These RunOnce keys are critical for proper APO installation. They handle the
; final initialization of the APO. The APO will NOT function correctly until
; the DLL is called.
[SysFx.NTx86.RunOnceReg]

[SysFx.NTamd64.RunOnceReg]

[OEMCustomBranding.AddProperty]

[SupportedTech.AddProperty]

[MicGain.AddReg]
;; Cortana Mic Gain Setting
HKLM,Software\Microsoft\Speech_OneCore\AudioInput\MicWiz,DefaultDefaultMicGain, 0x00010001, 0x00002710

[USBAudio.AddReg]
;; Usb audio specific registry update stuff
HKR,,AssociatedFilters,,"wdmaud,redbook"
HKR,,Driver,,USBAUDIO.sys
HKR,,NTMPDriver,,"USBAUDIO.sys,sbemul.sys"

HKR,,CLSID,,%Proxy.CLSID%

HKR,Drivers,SubClasses,,"wave,midi,mixer,aux"

HKR,Drivers\wave\wdmaud.drv, Driver,,wdmaud.drv
HKR,Drivers\midi\wdmaud.drv, Driver,,wdmaud.drv
HKR,Drivers\mixer\wdmaud.drv,Driver,,wdmaud.drv
HKR,Drivers\aux\wdmaud.drv,Driver,,wdmaud.drv

HKR,Drivers\wave\wdmaud.drv,Description,,%USBGenericDesc%
HKR,Drivers\midi\wdmaud.drv,Description,,%WDM_MIDI%
HKR,Drivers\mixer\wdmaud.drv,Description,,%USBGenericDesc%
HKR,Drivers\aux\wdmaud.drv,Description,,%USBGenericDesc%

[USBAudio.SysFx.NTx86.Interfaces]
AddInterface=%KSCATEGORY_AUDIO%,%KSNAME_eLineOutWave%, USBAudio.SysFx.PrimaryLineOutWave
AddInterface=%KSCATEGORY_RENDER%,%KSNAME_eLineOutWave%, USBAudio.SysFx.PrimaryLineOutWave
;;AddInterface=%KSCATEGORY_AUDIO%,%KSNAME_eLineOutTopo%, USBAudio.SysFx.PrimaryLineOutTopo
;;AddInterface=%KSCATEGORY_TOPOLOGY%,%KSNAME_eLineOutTopo%, USBAudio.SysFx.PrimaryLineOutTopo

[USBAudio.SysFx.NTamd64.Interfaces]
AddInterface=%KSCATEGORY_AUDIO%,%KSNAME_eLineOutWave%, USBAudio.SysFx.PrimaryLineOutWave
AddInterface=%KSCATEGORY_RENDER%,%KSNAME_eLineOutWave%, USBAudio.SysFx.PrimaryLineOutWave
;;AddInterface=%KSCATEGORY_AUDIO%,%KSNAME_eLineOutTopo%, USBAudio.SysFx.PrimaryLineOutTopo
;;AddInterface=%KSCATEGORY_TOPOLOGY%,%KSNAME_eLineOutTopo%, USBAudio.SysFx.PrimaryLineOutTopo

[USBAudio.SysFx.PrimaryLineOutWave]
AddReg = USBAudio.SysFx.PrimaryLineOutWave.AddReg, SysFx.AddReg, ESysFx.AddReg, USBAudio.EPProperties.AddReg

[USBAudio.SysFx.PrimaryLineOutWave.AddReg]
HKR,,FriendlyName,,%PrimarySpeakerWaveDeviceName%
HKR,,CLSID,,%Proxy.CLSID%

[USBAudio.EPProperties.AddReg]
;; Note: MSEP\\n is reserved for Microsoft inbox inf use ONLY. 
;; To avoid undeterminitic result, 3rd party driver INF should use EP\\n instead. 
HKR,"EP\\0",%PKEY_AudioEndpoint_Association%,,%KSNODETYPE_ANY%
HKR,"EP\\0",%PKEY_AudioEndpoint_Supports_EventDriven_Mode%,0x00010001,0x1

;;[USBAudio.SysFx.PrimaryLineOutTopo]
;;AddReg = SysFx.AddReg, OEMSettingsOverride.AddReg

;;[USBAudio.PrimaryLineOutTopo.AddReg]
;;HKR,,FriendlyName,,%PrimarySpeakerTopoDeviceName%
;;HKR,,CLSID,,%Proxy.CLSID%

[USBAudio.SysFx.NTx86.Services]
Include=wdma_usb.inf
Needs=USBAudio.NT.Services

[USBAudio.SysFx.NTamd64.Services]
Include=wdma_usb.inf
Needs=USBAudio.NT.Services

[USBAudio.SysFx.NTx86.CoInstallers]
AddReg=SysFx.NTx86.CoInstaller.AddReg,SysFx.CoInstaller.AddReg,SysFx.CoInstaller.AddReg32
CopyFiles=SysFx.NTx86.CoInstaller.CopyFiles

[SysFx.NTx86.CoInstaller.CopyFiles]
UCI32S133.dll

[SysFx.NTx86.CoInstaller.AddReg]
HKR,,CoInstallers32,0x00010000,"UCI32S133.dll,CAUDCoInstaller"

[USBAudio.SysFx.NTamd64.CoInstallers]
AddReg=SysFx.NTamd64.CoInstaller.AddReg,SysFx.CoInstaller.AddReg,SysFx.CoInstaller.AddReg64
CopyFiles=SysFx.NTamd64.CoInstaller.CopyFiles

[SysFx.NTamd64.CoInstaller.CopyFiles]
UCI64S133.dll

[SysFx.NTamd64.CoInstaller.AddReg]
HKR,,CoInstallers32,0x00010000,"UCI64S133.dll,CAUDCoInstaller"

[SysFx.CoInstaller.AddReg]
HKR,,CompanyName,,%CompanyName%
HKR,,ProductName,,%ProductName%
;;HKLM, SOFTWARE\%CompanyName%\%ProductName%\RegKeys,"Software\Microsoft\Windows\CurrentVersion\Uninstall",,%DHAudioID%

[SysFx.CoInstaller.AddReg32]
;;HKLM, SOFTWARE\%CompanyName%\%ProductName%\Files\DLL,"CX32APO2.dll",,0x01000004

[SysFx.CoInstaller.AddReg64]
;;HKLM, SOFTWARE\%CompanyName%\%ProductName%\Files\DLL,"CX64APO2.dll",,0x01000004

;;
;; All FX\\0 entries in the same grouping
;;
[SysFx.AddReg]
HKR,"FX\\0",%PKEY_DisplayName%,,%SYSFX_FriendlyName%
;;HKR,"FX\\0",%PKEY_SYSFX_PreMixClsid%,,%FX_PREMIX_CLSID%
;;HKR,"FX\\0",%PKEY_SYSFX_PostMixClsid%,,%FX_POSTMIX_CLSID%
HKR,"FX\\0",%PKEY_SYSFX_UiClsid%,,%PAGE_MASTER_UI_CLSID%
;;HKR,"FX\\0",%PKEY_SYSFX_UiClsid%,,%MS_UI_CLSID%
;;HKR,"FX\\0",%PKEY_PAGE_MASTER_PAGE_0%,,%SYSFX_UI_CLSID%
;;HKR,"FX\\0",%PKEY_PAGE_MASTER_PAGE_1%,,%MS_UI_CLSID%
HKR,"FX\\0",%PKEY_Endpoint_ID%, %REG_DWORD%, 0x0080
HKR,"FX\\0",%PKEY_SYSFX_Association%,,%KSNODETYPE_ANY%  ; GUID NULL means install on all endpoints
                                                        ; supply a specific GUID to install on a particular bridge pin node type

;; CNXT EFX keys
HKR,"FX\\0",%PKEY_FX_EndpointEffectClsid%,,%FX_PREMIX_CLSID%
HKR,"FX\\0",%PKEY_EFX_ProcessingModes_Supported_For_Streaming%,0x00010000,%AUDIO_SIGNALPROCESSINGMODE_DEFAULT%

;;
;; All EP\\0 entries in the same grouping
;;
;; Set default format to 48kHz, 16-bit, Stereo
;; Add endpoint extension property page
;;
[OEMSettingsOverride.AddReg]
HKR,"EP\\0", %PKEY_AudioEndpoint_Association%,,%KSNODETYPE_SPEAKER%
HKR,"EP\\0", %PKEY_AudioEngine_OEMFormat%, %REG_BINARY%, 41,00,8C,70,28,00,00,00,FE,FF,02,00,80,BB,00,00,00,EE,02,00,04,00,10,00,16,00,10,00,03,00,00,00,01,00,00,00,00,00,10,00,80,00,00,AA,00,38,9B,71
HKR,"EP\\0", %PKEY_AudioEndpoint_Ext_UiClsid%,,%AUDIOENDPOINT_EXT_UI_CLSID%
HKR,"EP\\0", %PKEY_AudioEndpoint_Disable_SysFx%,%REG_DWORD%,0
HKR,"EP\\0", %PKEY_AudioEndpoint_SRS_UAPO_IsInstalled%,%REG_DWORD%,1
HKR,"EP\\0", %PKEY_Endpoint_ID%, %REG_DWORD%, 0x0080
HKR,"EP\\0", %PKEY_Endpoint_IDIII%, %REG_DWORD%, 0x0080


[ESysFx.AddReg]
HKR,"EP\\0", %PKEY_Endpoint_ID%, %REG_DWORD%, 0x0080
HKR,"EP\\0", %PKEY_Endpoint_IDIII%, %REG_DWORD%, 0x0080
HKR,"EP\\0", %PKEY_PROP_FILENAME%,, "cxapoUSB.prop"
;;
;; Copy custom SYSFX and property page
;;
[SysFx.NTx86.CopyList]
CxPageMaster32.dll,,,
CxUSB32.dll,,,
;;Cx32APO2.dll,,,
;;Cxapo.prop,,,

[SysFx.NTamd64.CopyList]
CxPageMaster64.dll,,,
CxUSB64.dll,,,
;;Cx64APO2.dll,,,
;;Cxapo.prop,,,

;;
;; Uninstaller AddReg
;;
[Uninstaller.NTx86.AddReg]
HKLM, SOFTWARE\Microsoft\Windows\CurrentVersion\Uninstall\%DHAudioID%, VersionMajor,,1
HKLM, SOFTWARE\Microsoft\Windows\CurrentVersion\Uninstall\%DHAudioID%, VersionMinor,,8
HKLM, SOFTWARE\Microsoft\Windows\CurrentVersion\Uninstall\%DHAudioID%, DisplayVersion,,"1.8.0.0"
HKLM, SOFTWARE\Microsoft\Windows\CurrentVersion\Uninstall\%DHAudioID%, Publisher,,%CompanyName%
HKLM,SOFTWARE\Microsoft\Windows\CurrentVersion\Uninstall\%DHAudioID%,DisplayName,,%ProductName%
HKLM,SOFTWARE\Microsoft\Windows\CurrentVersion\Uninstall\%DHAudioID%,DisplayIcon,,%16422%\CONEXANT\%DHAudioID%\UIU32s.exe
HKLM,SOFTWARE\Microsoft\Windows\CurrentVersion\Uninstall\%DHAudioID%,UninstallString,,%16422%\CONEXANT\%DHAudioID%\UIU32s.exe -U  -L -G -ISliceComm.inf
HKLM,SOFTWARE\Microsoft\Windows\CurrentVersion\Run,"HPCommSettings",,"%11%\RunDLL32.exe %11%\CXUSB32.DLL,USB_DisableMicFX"

[Uninstaller.NTamd64.AddReg]
HKLM, SOFTWARE\Microsoft\Windows\CurrentVersion\Uninstall\%DHAudioID%, VersionMajor,,1
HKLM, SOFTWARE\Microsoft\Windows\CurrentVersion\Uninstall\%DHAudioID%, VersionMinor,,8
HKLM, SOFTWARE\Microsoft\Windows\CurrentVersion\Uninstall\%DHAudioID%, DisplayVersion,,"1.8.0.0"
HKLM, SOFTWARE\Microsoft\Windows\CurrentVersion\Uninstall\%DHAudioID%, Publisher,,%CompanyName%
HKLM,SOFTWARE\Microsoft\Windows\CurrentVersion\Uninstall\%DHAudioID%,DisplayName,,%ProductName%
HKLM,SOFTWARE\Microsoft\Windows\CurrentVersion\Uninstall\%DHAudioID%,DisplayIcon,,%16422%\CONEXANT\%DHAudioID%\UIU64s.exe
HKLM,SOFTWARE\Microsoft\Windows\CurrentVersion\Uninstall\%DHAudioID%,UninstallString,,%16422%\CONEXANT\%DHAudioID%\UIU64s.exe -U  -L -G -ISliceComm.inf
HKLM,SOFTWARE\Microsoft\Windows\CurrentVersion\Run,"HPCommSettings",,"%11%\RunDLL32.exe %11%\CXUSB64.DLL,USB_DisableMicFX"

;;
;; Copy Uninstaller File
;;
[Uninstaller.NTx86.CopyFiles]
UIU32s.exe,,,

[Uninstaller.NTamd64.CopyFiles]
UIU64s.exe,,,

;;
;; Register custom SYSFX and property page
;;
[SysFx.NTx86.RegisterDlls]
11,,CxPageMaster32.dll,1
;;11,,Cx32APO2.dll,1

[SysFx.NTamd64.RegisterDlls]
11,,CxPageMaster64.dll,1
;;11,,Cx64APO2.dll,1

[Strings]
ProviderName="Conexant"
MfgName="Conexant"
DiskDescription="HP Bang & Olufsen Audio Module"
DHAudioID="CNXT_AUDIO_USB_COMM"
CompanyName = "Conexant"
ProductName = "HP Bang & Olufsen Audio Module"

;;
;; These are the strings passed to PcRegisterSubdevice for wave ports
;;
KSNAME_eLineOutWave = "GLOBAL"
KSNAME_eLineOutTopo = "GLOBAL"
KSNAME_eLineInWave = "GLOBAL"
KSNAME_eLineInTopo = "GLOBAL"

;;
;; These are the name strings for the wave miniports displayed in mmsys.cpl
;;
PrimarySpeakerWaveDeviceName  = "USB Audio Speaker"
PrimarySpeakerTopoDeviceName  = "USB Audio Speaker mixer"
PrimaryMicWaveDeviceName  = "USB Audio Microphone"

;;
;; PropertyKey GUIDS
;;
PKEY_SYSFX_Association            = "{D04E05A6-594B-4FB6-A80D-01AF5EED7D1D},0"
PKEY_SYSFX_PreMixClsid            = "{D04E05A6-594B-4FB6-A80D-01AF5EED7D1D},1"
PKEY_SYSFX_PostMixClsid           = "{D04E05A6-594B-4FB6-A80D-01AF5EED7D1D},2"
PKEY_SYSFX_UiClsid                = "{D04E05A6-594B-4FB6-A80D-01AF5EED7D1D},3"
PKEY_DisplayName                  = "{B725F130-47EF-101A-A5F1-02608C9EEBAC},10"
PKEY_AudioEndpoint_Ext_UiClsid    = "{1DA5D803-D492-4EDD-8C23-E0C0FFEE7F0E},1"
PKEY_AudioEndpoint_Association    = "{1DA5D803-D492-4EDD-8C23-E0C0FFEE7F0E},2"
PKEY_AudioEndpoint_Disable_SysFx  = "{1DA5D803-D492-4EDD-8C23-E0C0FFEE7F0E},5"
PKEY_AudioEndpoint_SRS_UAPO_IsInstalled = "{59CB4A93-050A-4246-925E-AFD78F2D081A},0"
PKEY_AudioEndpoint_SRS_UAPO_TuningFile  = "{59CB4A93-050A-4246-925E-AFD78F2D081A},1"

; For Windows 8.1 Defines
PKEY_FX_StreamEffectClsid   = "{D04E05A6-594B-4fb6-A80D-01AF5EED7D1D},5"
PKEY_FX_ModeEffectClsid     = "{D04E05A6-594B-4fb6-A80D-01AF5EED7D1D},6"
PKEY_FX_EndpointEffectClsid = "{D04E05A6-594B-4fb6-A80D-01AF5EED7D1D},7"

PKEY_SFX_ProcessingModes_Supported_For_Streaming = "{D3993A3F-99C2-4402-B5EC-A92A0367664B},5"
PKEY_MFX_ProcessingModes_Supported_For_Streaming = "{D3993A3F-99C2-4402-B5EC-A92A0367664B},6"
PKEY_EFX_ProcessingModes_Supported_For_Streaming = "{D3993A3F-99C2-4402-B5EC-A92A0367664B},7"

AUDIO_SIGNALPROCESSINGMODE_DEFAULT = "{C18E2F7E-933D-4965-B7D1-1EEF228D2AF3}"
AUDIO_SIGNALPROCESSINGMODE_RAW     = "{9E90EA20-B493-4FD1-A1A8-7E1361A956CF}"
AUDIO_SIGNALPROCESSINGMODE_SPEECH  = "{FC1CFC9B-B9D6-4CFA-B5E0-4BB2166878B2}"
AUDIO_SIGNALPROCESSINGMODE_COMMUNICATIONS  = "{98951333-B9CD-48B1-A0A3-FF40682D73F7}"

PKEY_AudioEndpoint_Supports_EventDriven_Mode = "{1DA5D803-D492-4EDD-8C23-E0C0FFEE7F0E},7"

PKEY_Endpoint_ID = "{A4A2C5A8-D979-4939-B4D5-AA85D6F08162},0"
PKEY_Endpoint_IDIII = "{A4A2C5A8-D979-4939-B4D5-AA85D6F08162},10"

;;
;; PKEY_AudioEngine_OEMFormat:  Specifies the default format that is used for rendering/capturing.
;; vartype = VT_BLOB
;;
PKEY_AudioEngine_OEMFormat = "{E4870E26-3CC5-4CD2-BA46-CA0A9A70ED04},3"

; Page Master UI Defines
PAGE_MASTER_UI_CLSID	= "{AA747400-B9F8-4D7F-B41C-F8CF3047A0DB}"   ; Page Master UI page
PKEY_PAGE_MASTER_PAGE_0 = "{AA747400-B9F8-4D7F-B41C-F8CF3047A0DB},0" ; First Page
PKEY_PAGE_MASTER_PAGE_1 = "{AA747400-B9F8-4D7F-B41C-F8CF3047A0DB},1" ; Second Page
PKEY_PAGE_MASTER_PAGE_2 = "{AA747400-B9F8-4D7F-B41C-F8CF3047A0DB},2" ; 3rd Page

; cxapo.prop filename define
PKEY_PROP_FILENAME = "{A4A2C5A8-D979-4939-B4D5-AA85D6F08162},11"

MS_UI_CLSID = "{5860E1C5-F95C-4a7a-8EC8-8AEF24F379A1}"
CONTROLLER_EXT_UI_CLSID    = "{EE661557-A649-4cb5-B868-86FCC6251414}"

AUDIOENDPOINT_EXT_UI_CLSID = "{6C57B2A2-91F5-4b90-93D5-FAB82485ECA6}"

SYSFX_UI_CLSID      = "{08FD8A78-64B6-4692-96D2-1A363A7E3B9A}" ; Analog driver Headphone for Netbooks
SYSFX_PREMIX_CLSID  = "{DF76A088-FD7D-4f4e-AAA1-626606B2419F}" ; Analog driver Headphone for Netbooks
SYSFX_POSTMIX_CLSID = "{A8004167-E235-4148-A4E5-7C3108100300}" ; Conexant GFX component for CafAPO 
SYSFX_FriendlyName  = "HP Bang & Olufsen Audio Module"

FX_UI_CLSID      = "{5860E1C5-F95C-4a7a-8EC8-8AEF24F379A1}"
FX_PREMIX_CLSID  = "{62dc1a93-ae24-464c-a43e-452f824c4250}"
FX_POSTMIX_CLSID = "{637c490d-eee3-4c0a-973f-371958802da2}"
FX_FriendlyName  = "Microsoft Audio Home Theater Effects"


KSCATEGORY_AUDIO    = "{6994AD04-93EF-11D0-A3CC-00A0C9223196}"
KSCATEGORY_RENDER   = "{65E8773E-8F56-11D0-A3B9-00A0C9223196}"
KSCATEGORY_CAPTURE  = "{65E8773D-8F56-11D0-A3B9-00A0C9223196}"
KSCATEGORY_TOPOLOGY = "{DDA54A40-1E4C-11D1-A050-405705C10000}"

KSNODETYPE_ANY      = "{00000000-0000-0000-0000-000000000000}"
KSNODETYPE_SPEAKER  = "{DFF21CE1-F70F-11D0-B917-00A0C9223196}"

Proxy.CLSID         = "{17CCA71B-ECD7-11D0-B908-00A0C9223196}"

DisableProtectedAudioKey = "Software\Microsoft\Windows\CurrentVersion\Audio"
DisableProtectedAudioValue = "DisableProtectedAudioDG"

USBGenericDesc="USB Audio Device"
USBGenericMicDesc="USB Audio Microphone"
USBGenericMIDIDesc="USB MIDI Device"

WDM_MIDI="WDM MIDI Device"

REG_BINARY          = 0x00000001
REG_DWORD			= 0x00010001

RunOnce             = "Software\Microsoft\Windows\CurrentVersion\RunOnce"