;Copyright (c) C-Media Electronics Inc. All rights reserved.

[SourceDisksNames]
111=%DiskDescription%

[SourceDisksFiles]
CMHDAudioX.sys = 111
CMHDAudioX64.sys = 111

[Version]
Signature="$Windows NT$"
Class=MEDIA
ClassGuid={4d36e96c-e325-11ce-bfc1-08002be10318}
Provider=%ProviderName%
DriverVer=10/15/2013,5.12.1.158
CatalogFile=CMHDAudioX.cat

[DestinationDirs]
DefaultDestDir = 12

[Manufacturer]
ASUSTeK Computer Inc. = CMIHDA, ntamd64

;============================================================================

[ControlFlags]
ExcludeFromSelect = *

[CMIHDA]
%HdAudioFunctionDriver.Generic.DeviceDesc%  = HdAudModel, HDAUDIO\FUNC_01&VEN_13F6&DEV_8888&SUBSYS_104384D5

[CMIHDA.ntamd64]
%HdAudioFunctionDriver.Generic.DeviceDesc%  = HdAudModel64, HDAUDIO\FUNC_01&VEN_13F6&DEV_8888&SUBSYS_104384D5

[HdAudModel]
Include=ks.inf,wdmaudio.inf
Needs=KS.Registration,WDMAUDIO.Registration
CopyFiles = @CMHDAudioX.sys
AddReg    = HdAudCommon.AddReg, HdAudModel.AddReg
AddProperty = HdAudBranding.AddProperty, HdAudModel.AddProperty

[HdAudModel64.ntamd64]
Include=ks.inf,wdmaudio.inf
Needs=KS.Registration,WDMAUDIO.Registration
CopyFiles = @CMHDAudioX64.sys
AddReg    = HdAudCommon.AddReg, HdAudModel64.AddReg
AddProperty = HdAudBranding64.AddProperty, HdAudModel.AddProperty

; Enable driver to do its own volume persistence
[HdAudModel.AddProperty]
{F3E80BEF-1723-4FF2-BCC4-7F83DC5E46D4},2,7,,1

[HdAudModel.HW]
AddReg = HdAudSecurity.AddReg

[HdAudModel64.ntamd64.HW]
AddReg = HdAudSecurity.AddReg

; Called by needs entry in oem inf -- DO NOT REMOVE
[HdAudModel.Services]
AddService=CmHdAudAddService, 0x00000002, HdAud_Service_Install

[HdAudModel64.ntamd64.Services]
AddService=CmHdAudAddService, 0x00000002, HdAud_Service_Install64

[HdAud_Service_Install]
DisplayName   = %CMFunctionDriverForHdAudio.SvcDesc%
ServiceType   = 1
StartType     = 3
ErrorControl  = 1
ServiceBinary = %12%\CMHDAudioX.sys

[HdAud_Service_Install64]
DisplayName   = %CMFunctionDriverForHdAudio.SvcDesc%
ServiceType   = 1
StartType     = 3
ErrorControl  = 1
ServiceBinary = %12%\CMHDAudioX64.sys

[HdAudModel.AddReg]
HKR,,Driver,,CMHDAudioX.sys

[HdAudModel64.AddReg]
HKR,,Driver,,CMHDAudioX64.sys

[HdAudCommon.AddReg]
HKR,Drivers,SubClasses,,"wave,midi,mixer,aux"
HKR,,SetupPreferredAudioDevices,3,01,00,00,00
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,,%HdAudioDeviceDescription%
HKR,Drivers\midi\wdmaud.drv,Description,,%HdAudioDeviceDescription%
HKR,Drivers\mixer\wdmaud.drv,Description,,%HdAudioDeviceDescription%
HKR,Drivers\aux\wdmaud.drv,Description,,%HdAudioDeviceDescription%

; Registry key to enable waveRT by default
HKR,GlobalSettings,EnableWaveRT,1,01,00,00,00
HKR,PowerSettings,ConservationIdleTime,1,1e,00,00,0     ; 10 seconds for idle power management when on battery
HKR,PowerSettings,PerformanceIdleTime,1,00,00,00,00     ; Not doing idle power management when on AC power
HKR,PowerSettings,IdlePowerState,1,03,00,00,00          ; go to D3 for idle power management

[HdAudBranding.AddProperty]
DeviceBrandingIcon,,,,"%1%\CMHDAudioX.sys,-203"
DeviceVendorWebSite,,,,"http://www.cmedia.com.tw"

[HdAudBranding64.AddProperty]
DeviceBrandingIcon,,,,"%1%\CMHDAudioX64.sys,-203"
DeviceVendorWebSite,,,,"http://www.cmedia.com.tw"

;
; Add Interface sections. These refer to various model sections below.
;

[HdAudModel.Interfaces]
;
; Primary line out interfaces.
;
AddInterface=%KSCATEGORY_AUDIO%,%KSNAME_eLineOutWave%, HdAudModel.PrimaryLineOutWave
AddInterface=%KSCATEGORY_RENDER%,%KSNAME_eLineOutWave%, HdAudModel.PrimaryLineOutWave
AddInterface=%KSCATEGORY_REALTIME%,%KSNAME_eLineOutWave%, HdAudModel.PrimaryLineOutWave
AddInterface=%KSCATEGORY_AUDIO%,%KSNAME_eLineOutTopo%, HdAudModel.PrimaryLineOutTopo
AddInterface=%KSCATEGORY_TOPOLOGY%,%KSNAME_eLineOutTopo%, HdAudModel.PrimaryLineOutTopo
;
; Independent headphone interfaces.
;
AddInterface=%KSCATEGORY_AUDIO%,%KSNAME_eHeadphoneWave%, HdAudModel.IndependentHeadphoneWave
AddInterface=%KSCATEGORY_RENDER%,%KSNAME_eHeadphoneWave%, HdAudModel.IndependentHeadphoneWave
AddInterface=%KSCATEGORY_REALTIME%,%KSNAME_eHeadphoneWave%, HdAudModel.IndependentHeadphoneWave
AddInterface=%KSCATEGORY_AUDIO%,%KSNAME_eHeadphoneTopo%, HdAudModel.IndependentHeadphoneTopo
AddInterface=%KSCATEGORY_TOPOLOGY%,%KSNAME_eHeadphoneTopo%, HdAudModel.IndependentHeadphoneTopo

AddInterface=%KSCATEGORY_AUDIO%,%KSNAME_eHeadphone2Wave%, HdAudModel.IndependentHeadphone2Wave
AddInterface=%KSCATEGORY_RENDER%,%KSNAME_eHeadphone2Wave%, HdAudModel.IndependentHeadphone2Wave
AddInterface=%KSCATEGORY_REALTIME%,%KSNAME_eHeadphone2Wave%, HdAudModel.IndependentHeadphone2Wave
AddInterface=%KSCATEGORY_AUDIO%,%KSNAME_eHeadphone2Topo%, HdAudModel.IndependentHeadphone2Topo
AddInterface=%KSCATEGORY_TOPOLOGY%,%KSNAME_eHeadphone2Topo%, HdAudModel.IndependentHeadphone2Topo
;
; Primary line in interfaces.
;
AddInterface=%KSCATEGORY_AUDIO%,%KSNAME_eLineInWave%, HdAudModel.PrimaryLineInWave
AddInterface=%KSCATEGORY_CAPTURE%,%KSNAME_eLineInWave%, HdAudModel.PrimaryLineInWave
AddInterface=%KSCATEGORY_REALTIME%,%KSNAME_eLineInWave%, HdAudModel.PrimaryLineInWave
AddInterface=%KSCATEGORY_AUDIO%,%KSNAME_eLineInTopo%, HdAudModel.PrimaryLineInTopo
AddInterface=%KSCATEGORY_TOPOLOGY%,%KSNAME_eLineInTopo%, HdAudModel.PrimaryLineInTopo
;
; SPDIF Out interfaces.
;
AddInterface=%KSCATEGORY_AUDIO%,%KSNAME_eSpdifOutWave%, HdAudModel.DigitalOutputWave
AddInterface=%KSCATEGORY_RENDER%,%KSNAME_eSpdifOutWave%, HdAudModel.DigitalOutputWave
AddInterface=%KSCATEGORY_REALTIME%,%KSNAME_eSpdifOutWave%, HdAudModel.DigitalOutputWave
AddInterface=%KSCATEGORY_AUDIO%,%KSNAME_eSpdifOutTopo%, HdAudModel.DigitalOutputTopo
AddInterface=%KSCATEGORY_TOPOLOGY%,%KSNAME_eSpdifOutTopo%, HdAudModel.DigitalOutputTopo
;
; Primary microphone interfaces.
;
AddInterface=%KSCATEGORY_AUDIO%,%KSNAME_eMicInWave%, HdAudModel.PrimaryMicInWave
AddInterface=%KSCATEGORY_CAPTURE%,%KSNAME_eMicInWave%, HdAudModel.PrimaryMicInWave
AddInterface=%KSCATEGORY_REALTIME%,%KSNAME_eMicInWave%, HdAudModel.PrimaryMicInWave
AddInterface=%KSCATEGORY_AUDIO%,%KSNAME_eMicInTopo%, HdAudModel.PrimaryMicInTopo
AddInterface=%KSCATEGORY_TOPOLOGY%,%KSNAME_eMicInTopo%, HdAudModel.PrimaryMicInTopo

; Primary front microphone interfaces.
;
AddInterface=%KSCATEGORY_AUDIO%,%KSNAME_efMicInWave%, HdAudModel.PrimaryfMicInWave
AddInterface=%KSCATEGORY_CAPTURE%,%KSNAME_efMicInWave%, HdAudModel.PrimaryfMicInWave
AddInterface=%KSCATEGORY_REALTIME%,%KSNAME_efMicInWave%, HdAudModel.PrimaryfMicInWave
AddInterface=%KSCATEGORY_AUDIO%,%KSNAME_efMicInTopo%, HdAudModel.PrimaryfMicInTopo
AddInterface=%KSCATEGORY_TOPOLOGY%,%KSNAME_efMicInTopo%, HdAudModel.PrimaryfMicInTopo
;
; CD in interfaces.
;
AddInterface=%KSCATEGORY_AUDIO%,%KSNAME_eCDInWave%, HdAudModel.CDInWave
AddInterface=%KSCATEGORY_CAPTURE%,%KSNAME_eCDInWave%, HdAudModel.CDInWave
AddInterface=%KSCATEGORY_REALTIME%,%KSNAME_eCDInWave%, HdAudModel.CDInWave
AddInterface=%KSCATEGORY_AUDIO%,%KSNAME_eCDInTopo%, HdAudModel.CDInTopo
AddInterface=%KSCATEGORY_TOPOLOGY%,%KSNAME_eCDInTopo%, HdAudModel.CDInTopo
;
; Aux in interfaces.
;
AddInterface=%KSCATEGORY_AUDIO%,%KSNAME_eAuxInWave%, HdAudModel.AuxInWave
AddInterface=%KSCATEGORY_CAPTURE%,%KSNAME_eAuxInWave%, HdAudModel.AuxInWave
AddInterface=%KSCATEGORY_REALTIME%,%KSNAME_eAuxInWave%, HdAudModel.AuxInWave
AddInterface=%KSCATEGORY_AUDIO%,%KSNAME_eAuxInTopo%, HdAudModel.AuxInTopo
AddInterface=%KSCATEGORY_TOPOLOGY%,%KSNAME_eAuxInTopo%, HdAudModel.AuxInTopo
;
; Stereo mix interfaces.
;
AddInterface=%KSCATEGORY_AUDIO%,%KSNAME_eStereoMixWave%, HdAudModel.StereoMixWave
AddInterface=%KSCATEGORY_CAPTURE%,%KSNAME_eStereoMixWave%, HdAudModel.StereoMixWave
AddInterface=%KSCATEGORY_REALTIME%,%KSNAME_eStereoMixWave%, HdAudModel.StereoMixWave
AddInterface=%KSCATEGORY_AUDIO%,%KSNAME_eStereoMixTopo%, HdAudModel.StereoMixTopo
AddInterface=%KSCATEGORY_TOPOLOGY%,%KSNAME_eStereoMixTopo%, HdAudModel.StereoMixTopo
;
; Digital input interfaces.
;
AddInterface=%KSCATEGORY_AUDIO%,%KSNAME_eSpdifInWave%, HdAudModel.DigitalInputWave
AddInterface=%KSCATEGORY_RENDER%,%KSNAME_eSpdifInWave%, HdAudModel.DigitalInputWave
AddInterface=%KSCATEGORY_REALTIME%,%KSNAME_eSpdifInWave%, HdAudModel.DigitalInputWave
AddInterface=%KSCATEGORY_AUDIO%,%KSNAME_eSpdifInTopo%, HdAudModel.DigitalInputTopo
AddInterface=%KSCATEGORY_TOPOLOGY%,%KSNAME_eSpdifInTopo%, HdAudModel.DigitalInputTopo

[HdAudModel64.ntamd64.Interfaces]
;
; Primary line out interfaces.
;
AddInterface=%KSCATEGORY_AUDIO%,%KSNAME_eLineOutWave%, HdAudModel.PrimaryLineOutWave
AddInterface=%KSCATEGORY_RENDER%,%KSNAME_eLineOutWave%, HdAudModel.PrimaryLineOutWave
AddInterface=%KSCATEGORY_REALTIME%,%KSNAME_eLineOutWave%, HdAudModel.PrimaryLineOutWave
AddInterface=%KSCATEGORY_AUDIO%,%KSNAME_eLineOutTopo%, HdAudModel.PrimaryLineOutTopo
AddInterface=%KSCATEGORY_TOPOLOGY%,%KSNAME_eLineOutTopo%, HdAudModel.PrimaryLineOutTopo
;
; Independent headphone interfaces.
;
AddInterface=%KSCATEGORY_AUDIO%,%KSNAME_eHeadphoneWave%, HdAudModel.IndependentHeadphoneWave
AddInterface=%KSCATEGORY_RENDER%,%KSNAME_eHeadphoneWave%, HdAudModel.IndependentHeadphoneWave
AddInterface=%KSCATEGORY_REALTIME%,%KSNAME_eHeadphoneWave%, HdAudModel.IndependentHeadphoneWave
AddInterface=%KSCATEGORY_AUDIO%,%KSNAME_eHeadphoneTopo%, HdAudModel.IndependentHeadphoneTopo
AddInterface=%KSCATEGORY_TOPOLOGY%,%KSNAME_eHeadphoneTopo%, HdAudModel.IndependentHeadphoneTopo

AddInterface=%KSCATEGORY_AUDIO%,%KSNAME_eHeadphone2Wave%, HdAudModel.IndependentHeadphone2Wave
AddInterface=%KSCATEGORY_RENDER%,%KSNAME_eHeadphone2Wave%, HdAudModel.IndependentHeadphone2Wave
AddInterface=%KSCATEGORY_REALTIME%,%KSNAME_eHeadphone2Wave%, HdAudModel.IndependentHeadphone2Wave
AddInterface=%KSCATEGORY_AUDIO%,%KSNAME_eHeadphone2Topo%, HdAudModel.IndependentHeadphone2Topo
AddInterface=%KSCATEGORY_TOPOLOGY%,%KSNAME_eHeadphone2Topo%, HdAudModel.IndependentHeadphone2Topo
;
; Primary line in interfaces.
;
AddInterface=%KSCATEGORY_AUDIO%,%KSNAME_eLineInWave%, HdAudModel.PrimaryLineInWave
AddInterface=%KSCATEGORY_CAPTURE%,%KSNAME_eLineInWave%, HdAudModel.PrimaryLineInWave
AddInterface=%KSCATEGORY_REALTIME%,%KSNAME_eLineInWave%, HdAudModel.PrimaryLineInWave
AddInterface=%KSCATEGORY_AUDIO%,%KSNAME_eLineInTopo%, HdAudModel.PrimaryLineInTopo
AddInterface=%KSCATEGORY_TOPOLOGY%,%KSNAME_eLineInTopo%, HdAudModel.PrimaryLineInTopo
;
; SPDIF Out interfaces.
;
AddInterface=%KSCATEGORY_AUDIO%,%KSNAME_eSpdifOutWave%, HdAudModel.DigitalOutputWave
AddInterface=%KSCATEGORY_RENDER%,%KSNAME_eSpdifOutWave%, HdAudModel.DigitalOutputWave
AddInterface=%KSCATEGORY_REALTIME%,%KSNAME_eSpdifOutWave%, HdAudModel.DigitalOutputWave
AddInterface=%KSCATEGORY_AUDIO%,%KSNAME_eSpdifOutTopo%, HdAudModel.DigitalOutputTopo
AddInterface=%KSCATEGORY_TOPOLOGY%,%KSNAME_eSpdifOutTopo%, HdAudModel.DigitalOutputTopo
;
; Primary microphone interfaces.
;
AddInterface=%KSCATEGORY_AUDIO%,%KSNAME_eMicInWave%, HdAudModel.PrimaryMicInWave
AddInterface=%KSCATEGORY_CAPTURE%,%KSNAME_eMicInWave%, HdAudModel.PrimaryMicInWave
AddInterface=%KSCATEGORY_REALTIME%,%KSNAME_eMicInWave%, HdAudModel.PrimaryMicInWave
AddInterface=%KSCATEGORY_AUDIO%,%KSNAME_eMicInTopo%, HdAudModel.PrimaryMicInTopo
AddInterface=%KSCATEGORY_TOPOLOGY%,%KSNAME_eMicInTopo%, HdAudModel.PrimaryMicInTopo
;
; Primary front microphone interfaces.
;
AddInterface=%KSCATEGORY_AUDIO%,%KSNAME_efMicInWave%, HdAudModel.PrimaryfMicInWave
AddInterface=%KSCATEGORY_CAPTURE%,%KSNAME_efMicInWave%, HdAudModel.PrimaryfMicInWave
AddInterface=%KSCATEGORY_REALTIME%,%KSNAME_efMicInWave%, HdAudModel.PrimaryfMicInWave
AddInterface=%KSCATEGORY_AUDIO%,%KSNAME_efMicInTopo%, HdAudModel.PrimaryfMicInTopo
AddInterface=%KSCATEGORY_TOPOLOGY%,%KSNAME_efMicInTopo%, HdAudModel.PrimaryfMicInTopo
;
; CD in interfaces.
;
AddInterface=%KSCATEGORY_AUDIO%,%KSNAME_eCDInWave%, HdAudModel.CDInWave
AddInterface=%KSCATEGORY_CAPTURE%,%KSNAME_eCDInWave%, HdAudModel.CDInWave
AddInterface=%KSCATEGORY_REALTIME%,%KSNAME_eCDInWave%, HdAudModel.CDInWave
AddInterface=%KSCATEGORY_AUDIO%,%KSNAME_eCDInTopo%, HdAudModel.CDInTopo
AddInterface=%KSCATEGORY_TOPOLOGY%,%KSNAME_eCDInTopo%, HdAudModel.CDInTopo
;
; Aux in interfaces.
;
AddInterface=%KSCATEGORY_AUDIO%,%KSNAME_eAuxInWave%, HdAudModel.AuxInWave
AddInterface=%KSCATEGORY_CAPTURE%,%KSNAME_eAuxInWave%, HdAudModel.AuxInWave
AddInterface=%KSCATEGORY_REALTIME%,%KSNAME_eAuxInWave%, HdAudModel.AuxInWave
AddInterface=%KSCATEGORY_AUDIO%,%KSNAME_eAuxInTopo%, HdAudModel.AuxInTopo
AddInterface=%KSCATEGORY_TOPOLOGY%,%KSNAME_eAuxInTopo%, HdAudModel.AuxInTopo
;
; Stereo mix interfaces.
;
AddInterface=%KSCATEGORY_AUDIO%,%KSNAME_eStereoMixWave%, HdAudModel.StereoMixWave
AddInterface=%KSCATEGORY_CAPTURE%,%KSNAME_eStereoMixWave%, HdAudModel.StereoMixWave
AddInterface=%KSCATEGORY_REALTIME%,%KSNAME_eStereoMixWave%, HdAudModel.StereoMixWave
AddInterface=%KSCATEGORY_AUDIO%,%KSNAME_eStereoMixTopo%, HdAudModel.StereoMixTopo
AddInterface=%KSCATEGORY_TOPOLOGY%,%KSNAME_eStereoMixTopo%, HdAudModel.StereoMixTopo
;
; Digital input interfaces.
;
AddInterface=%KSCATEGORY_AUDIO%,%KSNAME_eSpdifInWave%, HdAudModel.DigitalInputWave
AddInterface=%KSCATEGORY_RENDER%,%KSNAME_eSpdifInWave%, HdAudModel.DigitalInputWave
AddInterface=%KSCATEGORY_REALTIME%,%KSNAME_eSpdifInWave%, HdAudModel.DigitalInputWave
AddInterface=%KSCATEGORY_AUDIO%,%KSNAME_eSpdifInTopo%, HdAudModel.DigitalInputTopo
AddInterface=%KSCATEGORY_TOPOLOGY%,%KSNAME_eSpdifInTopo%, HdAudModel.DigitalInputTopo

;
; Primary line out Model and AddRegs.
;
[HdAudModel.PrimaryLineOutWave]
AddReg = HdAudModel.PrimaryLineOutWave.AddReg
[HdAudModel.PrimaryLineOutWave.AddReg]
HKR,,FriendlyName,,%PrimarySpeakerWaveDeviceName%
HKR,,CLSID,,%Proxy.CLSID%
[HdAudModel.PrimaryLineOutTopo]
AddReg = HdAudModel.PrimaryLineOutTopo.AddReg
[HdAudModel.PrimaryLineOutTopo.AddReg]
HKR,,FriendlyName,,%PrimarySpeakerTopoDeviceName%
HKR,,CLSID,,%Proxy.CLSID%

;
; Independent headphone Model and AddRegs.
;
[HdAudModel.IndependentHeadphoneWave]
AddReg = HdAudModel.IndependentHeadphoneWave.AddReg
[HdAudModel.IndependentHeadphoneWave.AddReg]
HKR,,FriendlyName,,%IndependentHeadphoneWaveDeviceName%
HKR,,CLSID,,%Proxy.CLSID%
[HdAudModel.IndependentHeadphoneTopo]
AddReg = HdAudModel.IndependentHeadphoneTopo.AddReg
[HdAudModel.IndependentHeadphoneTopo.AddReg]
HKR,,FriendlyName,,%IndependentHeadphoneTopoDeviceName%
HKR,,CLSID,,%Proxy.CLSID%

[HdAudModel.IndependentHeadphone2Wave]
AddReg = HdAudModel.IndependentHeadphone2Wave.AddReg
[HdAudModel.IndependentHeadphone2Wave.AddReg]
HKR,,FriendlyName,,%IndependentHeadphone2WaveDeviceName%
HKR,,CLSID,,%Proxy.CLSID%
[HdAudModel.IndependentHeadphone2Topo]
AddReg = HdAudModel.IndependentHeadphone2Topo.AddReg
[HdAudModel.IndependentHeadphone2Topo.AddReg]
HKR,,FriendlyName,,%IndependentHeadphone2TopoDeviceName%
HKR,,CLSID,,%Proxy.CLSID%

;
; Primary line in Model and AddReg.
;
[HdAudModel.PrimaryLineInWave]
AddReg = HdAudModel.PrimaryLineInWave.AddReg
[HdAudModel.PrimaryLineInWave.AddReg]
HKR,,FriendlyName,,%PrimaryLineInWaveDeviceName%
HKR,,CLSID,,%Proxy.CLSID%
[HdAudModel.PrimaryLineInTopo]
AddReg = HdAudModel.PrimaryLineInTopo.AddReg
[HdAudModel.PrimaryLineInTopo.AddReg]
HKR,,FriendlyName,,%PrimaryLineInTopoDeviceName%
HKR,,CLSID,,%Proxy.CLSID%

;
; Digital output Model and AddRegs.
;
[HdAudModel.DigitalOutputWave]
AddReg = HdAudModel.DigitalOutputWave.AddReg
[HdAudModel.DigitalOutputWave.AddReg]
HKR,,FriendlyName,,%DigitalOutputWaveDeviceName%
HKR,,CLSID,,%Proxy.CLSID%
[HdAudModel.DigitalOutputTopo]
AddReg = HdAudModel.DigitalOutputTopo.AddReg
[HdAudModel.DigitalOutputTopo.AddReg]
HKR,,FriendlyName,,%DigitalOutputTopoDeviceName%
HKR,,CLSID,,%Proxy.CLSID%

;
; Primary microphone Model and AddReg.
;
[HdAudModel.PrimaryMicInWave]
AddReg = HdAudModel.PrimaryMicInWave.AddReg
[HdAudModel.PrimaryMicInWave.AddReg]
HKR,,FriendlyName,,%PrimaryMicInWaveDeviceName%
HKR,,CLSID,,%Proxy.CLSID%
[HdAudModel.PrimaryMicInTopo]
AddReg = HdAudModel.PrimaryMicInTopo.AddReg
[HdAudModel.PrimaryMicInTopo.AddReg]
HKR,,FriendlyName,,%PrimaryMicInTopoDeviceName%
HKR,,CLSID,,%Proxy.CLSID%

;
; Primary front microphone Model and AddReg.
;
[HdAudModel.PrimaryfMicInWave]
AddReg = HdAudModel.PrimaryfMicInWave.AddReg
[HdAudModel.PrimaryfMicInWave.AddReg]
HKR,,FriendlyName,,%PrimaryfMicInWaveDeviceName%
HKR,,CLSID,,%Proxy.CLSID%
[HdAudModel.PrimaryfMicInTopo]
AddReg = HdAudModel.PrimaryfMicInTopo.AddReg
[HdAudModel.PrimaryfMicInTopo.AddReg]
HKR,,FriendlyName,,%PrimaryfMicInTopoDeviceName%
HKR,,CLSID,,%Proxy.CLSID%

;
; CD in Model and AddReg.
;
[HdAudModel.CDInWave]
AddReg = HdAudModel.CDInWave.AddReg
[HdAudModel.CDInWave.AddReg]
HKR,,FriendlyName,,%CDInWaveDeviceName%
HKR,,CLSID,,%Proxy.CLSID%
[HdAudModel.CDInTopo]
AddReg = HdAudModel.CDInTopo.AddReg
[HdAudModel.CDInTopo.AddReg]
HKR,,FriendlyName,,%CDInTopoDeviceName%
HKR,,CLSID,,%Proxy.CLSID%

;
; Aux in Model and AddReg.
;
[HdAudModel.AuxInWave]
AddReg = HdAudModel.AuxInWave.AddReg
[HdAudModel.AuxInWave.AddReg]
HKR,,FriendlyName,,%AuxInWaveDeviceName%
HKR,,CLSID,,%Proxy.CLSID%
[HdAudModel.AuxInTopo]
AddReg = HdAudModel.AuxInTopo.AddReg
[HdAudModel.AuxInTopo.AddReg]
HKR,,FriendlyName,,%AuxInTopoDeviceName%
HKR,,CLSID,,%Proxy.CLSID%

;
; Stereo mix Model and AddReg.
;
[HdAudModel.StereoMixWave]
AddReg = HdAudModel.StereoMixWave.AddReg
[HdAudModel.StereoMixWave.AddReg]
HKR,,FriendlyName,,%StereoMixWaveDeviceName%
HKR,,CLSID,,%Proxy.CLSID%
[HdAudModel.StereoMixTopo]
AddReg = HdAudModel.StereoMixTopo.AddReg
[HdAudModel.StereoMixTopo.AddReg]
HKR,,FriendlyName,,%StereoMixTopoDeviceName%
HKR,,CLSID,,%Proxy.CLSID%

;
; Digital input Model and AddRegs.
;
[HdAudModel.DigitalInputWave]
AddReg = HdAudModel.DigitalInputWave.AddReg
[HdAudModel.DigitalInputWave.AddReg]
HKR,,FriendlyName,,%DigitalInputWaveDeviceName%
HKR,,CLSID,,%Proxy.CLSID%
[HdAudModel.DigitalInputTopo]
AddReg = HdAudModel.DigitalInputTopo.AddReg
[HdAudModel.DigitalInputTopo.AddReg]
HKR,,FriendlyName,,%DigitalInputTopoDeviceName%
HKR,,CLSID,,%Proxy.CLSID%

[HdAudSecurity.AddReg]
; FILE_DEVICE_SOUND
HKR,,DeviceType,0x10001,0x0000001D
; SDDL_DEVOBJ_SYS_ALL_ADM_RWX_WORLD_RWX_RES_RWX
;HKR,,Security,,"D:P(A;;GA;;;SY)(A;;GA;;;BA)"
HKR,,Security,,"D:P(A;;GA;;;SY)(A;;GRGWGX;;;BA)(A;;GRGWGX;;;WD)(A;;GRGWGX;;;RC)"


[Strings]
ProviderName="C-Media Electronics Inc."
DiskDescription="ASUS XONAR PHOEBUS High Definition Audio Driver"

HdAudioFunctionDriver.Generic.DeviceDesc = "ASUS XONAR PHOEBUS Audio Device"
CMFunctionDriverForHdAudio.SvcDesc = "C-Media Function Driver for High Definition Audio Service"

; These are the name strings for the wave miniports displayed in mmsys.cpl
PrimarySpeakerWaveDeviceName = "ASUS Xonar Phoebus Speaker"
PrimarySpeakerTopoDeviceName = "ASUS Xonar Phoebus Speaker mixer"
IndependentHeadphoneWaveDeviceName = "ASUS Xonar Phoebus Headphone"
IndependentHeadphoneTopoDeviceName = "ASUS Xonar Phoebus Headphone mixer"
IndependentHeadphone2WaveDeviceName = "ASUS Xonar Phoebus Headphone 2"
IndependentHeadphone2TopoDeviceName = "ASUS Xonar Phoebus Headphone 2 mixer"
PrimaryLineInWaveDeviceName  = "ASUS Xonar Phoebus Line in"
PrimaryLineInTopoDeviceName  = "ASUS Xonar Phoebus Line in mixer"
DigitalOutputWaveDeviceName = "ASUS Xonar Phoebus SPDIF Out"
DigitalOutputTopoDeviceName = "ASUS Xonar Phoebus SPDIF Out mixer"
PrimaryMicInWaveDeviceName  = "ASUS Xonar Phoebus Microphone"
PrimaryMicInTopoDeviceName  = "ASUS Xonar Phoebus Microphone mixer"
PrimaryfMicInWaveDeviceName  = "ASUS Xonar Phoebus Desktop Microphone"
PrimaryfMicInTopoDeviceName  = "ASUS Xonar Phoebus Desktop Microphone mixer"
CDInWaveDeviceName  = "ASUS Xonar Phoebus CD in capture"
CDInTopoDeviceName  = "ASUS Xonar Phoebus CD in capture mixer"
AuxInWaveDeviceName  = "ASUS Xonar Phoebus Aux in"
AuxInTopoDeviceName  = "ASUS Xonar Phoebus Aux in mixer"
StereoMixWaveDeviceName  = "ASUS Xonar Phoebus Stereo mix"
StereoMixTopoDeviceName  = "ASUS Xonar Phoebus Stereo mix mixer"
DigitalInputWaveDeviceName = "ASUS Xonar Phoebus Digital in"
DigitalInputTopoDeviceName = "ASUS Xonar Phoebus Digital in mixer"

; These are the strings passed to PcRegisterSubdevice for wave ports
;KSNAME_eLineOutWave = "eLineOutWave"   ; non-localizable
;KSNAME_eLineOutTopo = "eLineOutTopo"   ; non-localizable
KSNAME_eLineOutWave = "SpkOut00Wave"   ; non-localizable
KSNAME_eLineOutTopo = "SpkOut00Topo"   ; non-localizable
;KSNAME_eHeadphoneWave = "eHPOutWave"   ; non-localizable
;KSNAME_eHeadphoneTopo = "eHPOutTopo"   ; non-localizable
KSNAME_eHeadphoneWave = "HPOut00Wave"   ; non-localizable
KSNAME_eHeadphoneTopo = "HPOut00Topo"   ; non-localizable
KSNAME_eHeadphone2Wave = "eHPOut2Wave"   ; non-localizable
KSNAME_eHeadphone2Topo = "eHPOut2Topo"   ; non-localizable
;KSNAME_eLineInWave = "eLineInWave"   ; non-localizable
;KSNAME_eLineInTopo = "eLineInTopo"   ; non-localizable
KSNAME_eLineInWave = "LineIn00Wave"   ; non-localizable
KSNAME_eLineInTopo = "LineIn00Topo"   ; non-localizable
;KSNAME_eSpdifOutWave = "eSpdifOutWave"
;KSNAME_eSpdifOutTopo = "eSpdifOutTopo"
KSNAME_eSpdifOutWave = "SpdifOut00Wave"
KSNAME_eSpdifOutTopo = "SpdifOut00Topo"
;KSNAME_eMicInWave = "eMicInWave"   ; non-localizable
;KSNAME_eMicInTopo = "eMicInTopo"   ; non-localizable
KSNAME_eMicInWave = "MicIn00Wave"   ; non-localizable
KSNAME_eMicInTopo = "MicIn00Topo"   ; non-localizable
KSNAME_efMicInWave = "fMicIn00Wave"   ; non-localizable
KSNAME_efMicInTopo = "fMicIn00Topo"   ; non-localizable
KSNAME_eCDInWave = "eCDInWave"   ; non-localizable
KSNAME_eCDInTopo = "eCDInTopo"   ; non-localizable
;KSNAME_eAuxInWave = "eAuxInWave"   ; non-localizable
;KSNAME_eAuxInTopo = "eAuxInTopo"   ; non-localizable
KSNAME_eAuxInWave = "AuxIn00Wave"   ; non-localizable
KSNAME_eAuxInTopo = "AuxIn00Topo"   ; non-localizable
KSNAME_eStereoMixWave = "eStereoMixWave"   ; non-localizable
KSNAME_eStereoMixTopo = "eStereoMixTopo"   ; non-localizable
KSNAME_eSpdifInWave = "eSpdifInWave"
KSNAME_eSpdifInTopo = "eSpdifInTopo"

;
; KSCategory Guids
; 
KSCATEGORY_AUDIO = "{6994AD04-93EF-11D0-A3CC-00A0C9223196}"    ; non-localizable
KSCATEGORY_RENDER = "{65E8773E-8F56-11D0-A3B9-00A0C9223196}"   ; non-localizable
KSCATEGORY_CAPTURE = "{65E8773D-8F56-11D0-A3B9-00A0C9223196}"  ; non-localizable
KSCATEGORY_TOPOLOGY = "{DDA54A40-1E4C-11D1-A050-405705C10000}" ; non-localizable
KSCATEGORY_REALTIME = "{EB115FFC-10C8-4964-831D-6DCB02E6F23F}" ; non-localizable
Proxy.CLSID = "{17CCA71B-ECD7-11D0-B908-00A0C9223196}"         ; non-localizable

HdAudioDeviceDescription = "C-Media Function Driver for High Definition Audio" ; {PlaceHolder="UAA","High Definition Audio"}

;Information for FX
; PropertyKeys
PKEY_FX_Association  = "{D04E05A6-594B-4fb6-A80D-01AF5EED7D1D},0"
PKEY_FX_PreMixClsid  = "{D04E05A6-594B-4fb6-A80D-01AF5EED7D1D},1"
PKEY_FX_PostMixClsid = "{D04E05A6-594B-4fb6-A80D-01AF5EED7D1D},2"
PKEY_FX_UiClsid      = "{D04E05A6-594B-4fb6-A80D-01AF5EED7D1D},3"
PKEY_ItemNameDisplay = "{B725F130-47EF-101A-A5F1-02608C9EEBAC},10"

FX_UI_CLSID      = "{5860E1C5-F95C-4a7a-8EC8-8AEF24F379A1}"

KSNODETYPE_ANY   			= "{00000000-0000-0000-0000-000000000000}"
KSNODETYPE_SPEAKER			= "{DFF21CE1-F70F-11D0-B917-00A0C9223196}"
KSNODETYPE_HEADPHONES                   = "{DFF21CE2-F70F-11D0-B917-00A0C9223196}"
KSNODETYPE_SPDIF_INTERFACE              = "{DFF21FE5-F70F-11D0-B917-00A0C9223196}"
KSNODETYPE_MICROPHONE 			= "{DFF21BE1-F70F-11D0-B917-00A0C9223196}"


