;Copyright (c) Microsoft Corporation. All rights reserved.
;
;Module Name:
;    HDAUDIO.INF
;
;Abstract:
;    INF file for installing the Microsoft UAA Function Driver for High
;    Definition Audio
;

[Version]
Signature="$Windows NT$"
Class=MEDIA
ClassGuid={4d36e96c-e325-11ce-bfc1-08002be10318}
Provider=Microsoft
DriverVer=03/05/2004,5.10.00.5010

[DestinationDirs]
DefaultDestDir      =10; dirid = \system32\drivers
HdAudModel.CopyList =10,system32\drivers
HdAudProp.CopyList  =10,system32
HdAudShortCut.CopyList =10,system32

[SourceDisksNames]
222 = %DiskId1%,"",222,"I386"

[SourceDisksFiles]
HdAudio.sys=222
HdAProp.dll=222
HdAudRes.dll=222
HdAShCut.exe=222

[Manufacturer]
Microsoft=Microsoft

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

[ControlFlags]
ExcludeFromSelect = *

[Microsoft]
%HdAudioFunctionDriver.Realtek880.DeviceDesc% = HdAudModel, HDAUDIO\FUNC_01&VEN_10EC&DEV_0880
%HdAudioFunctionDriver.CMedia9880.DeviceDesc% = HdAudModel, HDAUDIO\FUNC_01&VEN_434D&DEV_4980
%HdAudioFunctionDriver.CMedia9880.DeviceDesc% = HdAudModel, HDAUDIO\FUNC_01&VEN_13F6&DEV_9880
%HdAudioFunctionDriver.Realtek280.DeviceDesc% = HdAudModel, HDAUDIO\FUNC_01&VEN_10EC&DEV_0280
%HdAudioFunctionDriver.Realtek260.DeviceDesc% = HdAudModel, HDAUDIO\FUNC_01&VEN_10EC&DEV_0260
%HdAudioFunctionDriver.Realtek261.DeviceDesc% = HdAudModel, HDAUDIO\FUNC_01&VEN_10EC&DEV_0261
%HdAudioFunctionDriver.Sigma9772.DeviceDesc%  = HdAudModel, HDAUDIO\FUNC_01&VEN_8384&DEV_7672
%HdAudioFunctionDriver.Sigma9770.DeviceDesc%  = HdAudModel, HDAUDIO\FUNC_01&VEN_8384&DEV_7670
%HdAudioFunctionDriver.ConexantWaikiki.DeviceDesc%  = HdAudModel, HDAUDIO\FUNC_01&VEN_14F1&DEV_5047
%HdAudioFunctionDriver.Adi1986.DeviceDesc%  = HdAudModel, HDAUDIO\FUNC_01&VEN_11D4&DEV_0078
%HdAudioFunctionDriver.Adi1986.DeviceDesc%  = HdAudModel, HDAUDIO\FUNC_01&VEN_11D4&DEV_1986
%HdAudioFunctionDriver.Adi1983.DeviceDesc%  = HdAudModel, HDAUDIO\FUNC_01&VEN_11D4&DEV_1983

;For DDKCodec
%HdAudioFunctionDriver.DDKCodec.DeviceDesc% = HdAudModel,   HDAUDIO\FUNC_01&VEN_2003&DEV_5678&SUBSYS_00000000&REV_0000

[HdAudModel]
Include=ks.inf,wdmaudio.inf
Needs=KS.Registration,WDMAUDIO.Registration
CopyFiles = HdAudModel.CopyList, HdAudProp.CopyList, HdAudShortCut.CopyList
AddReg    = HdAudModel.AddReg, HdAudProp.AddReg, HdAudInit.AddReg, HdAudShortCut.AddReg, HdAudBranding.AddReg

[HdAudModel.HW]
AddReg = HdAudSecurity.AddReg

[HdAudModel.Services]
AddService=HdAudAddService, 0x00000002, HdAud_Service_Install

[HdAud_Service_Install]
DisplayName   = %UAAFunctionDriverForHdAudio.SvcDesc%
ServiceType   = 1
StartType     = 3
ErrorControl  = 1
ServiceBinary = %10%\system32\drivers\HdAudio.sys

[HdAudModel.CopyList]
HdAudio.sys

[HdAudInit.AddReg]
;; Sample Section to Illustrate the format for Initialization verbs.
;; Uncomment and add appropriate verbs as needed.
;; Note that the top nibble of the verb (Codec Address) must be '0'.
;HKR,InitVerbs,NumVerbs,0x00010001, 0x00000004 ; Example: Number of verbs in the init section
;HKR,InitVerbs,0000,    0x00010001, 0x01E71C01 ; Sets first byte of pin config info
;HKR,InitVerbs,0001,    0x00010001, 0x01E71D44 ; Sets second byte of pin config info
;HKR,InitVerbs,0002,    0x00010001, 0x01E71E21 ; Sets third byte of pin config info
;HKR,InitVerbs,0003,    0x00010001, 0x01E71F00 ; Sets fourth byte of pin config info

[HdAudShortCut.CopyList]
HDAShCut.exe

[HdAudShortCut.AddReg]
HKLM,Software\Microsoft\Windows\CurrentVersion\Run,%RunDisplayName%,,HDAShCut.exe

[HdAudModel.AddReg]
HKR,,AssociatedFilters,,"wdmaud,swmidi,redbook"
HKR,,Driver,,HdAudio.sys

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,,%HdAudioDeviceDescription%
HKR,Drivers\midi\wdmaud.drv,Description,,%HdAudioDeviceDescription%
HKR,Drivers\mixer\wdmaud.drv,Description,,%HdAudioDeviceDescription%
HKR,Drivers\aux\wdmaud.drv,Description,,%HdAudioDeviceDescription%

HKR,,SetupPreferredAudioDevices,3,01,00,00,00
HKR,,DisableSetupDiChangeState,1,00,00,00,00 ; Set to 01,00,00,00 to disable proppage restarting of driver on policy change
; Driver global settings
HKR,GlobalSettings,DcOffsetWorkaround,1,01,00,00,00 ; Applies workaround for recording DC offset issue
HKR,GlobalSettings,ResetAudioFgOnStart,1,01,00,00,00 ; Enables resetting of audio FG on driver start
HKR,GlobalSettings,SysAudioTopoMiniportWorkaround,1,01,00,00,00 ; Enables holding ref on topo port & miniport when device is uninstantiated

HKR,GlobalSettings,ValidateCodecWrites,1,00,00,00,00 ; Enables readback of writes to codec registers
HKR,GlobalSettings,SendFakePcxCfgDefVerbs,1,00,00,00,00 ; Enables sending fake pin config default table
HKR,GlobalSettings,SpdifOutputEchosRearRenderWhenNoAc3,1,01,00,00,00 ; Slaves rear panel front channels to SPDIF
HKR,GlobalSettings,HpShutsOffRearSpeaker,1,00,00,00,00 ; Headphone does not mute rear speakers
HKR,GlobalSettings,HpMode,1,01,00,00,00 ; Headphone is slaved to rear panel front channels
HKR,GlobalSettings,EnableDynamicDevices,1,01,00,00,00 ; Headphone will come and go dynamically.
HKR,GlobalSettings,SetSpdifVCfg,1,01,00,00,00 ;  VCfg bit will be set on SPDIF out

HKR,GlobalSettings\\SpdifOut,ExternalSpdifReceiverSupportedSampleRates44100,1,00,00,00,00 ; By default, not supported
HKR,GlobalSettings\\SpdifOut,ExternalSpdifReceiverSupportedSampleRates48000,1,01,00,00,00 ; By default, only one supported
HKR,GlobalSettings\\SpdifOut,ExternalSpdifReceiverSupportedSampleRates96000,1,00,00,00,00 ; By default, not supported

HKR,GlobalSettings\\SpdifOut,ExternalSpdifReceiverSupportedBitDepths16,1,01,00,00,00 ; By default, only one supported
HKR,GlobalSettings\\SpdifOut,ExternalSpdifReceiverSupportedBitDepths20,1,00,00,00,00 ; By default, not supported
HKR,GlobalSettings\\SpdifOut,ExternalSpdifReceiverSupportedBitDepths24,1,00,00,00,00 ; By default, not supported
HKR,GlobalSettings\\SpdifOut,ExternalSpdifReceiverSupportedBitDepths32,1,00,00,00,00 ; By default, not supported

HKR,GlobalSettings\\SpdifIn,SpdifInputBitDepth,1,00,00,00,00 ; By default, 16 bit digital capture
HKR,GlobalSettings\\SpdifIn,SpdifInputSampleRate,1,01,00,00,00; By default, 48KHz digital capture

[HdAudProp.CopyList]
HdAProp.dll
HdAudRes.dll

[HdAudProp.AddReg]
HKR,,EnumPropPages32,,"HdAProp.dll,HDAudPropPageProvider"

[HdAudBranding.AddReg]
HKR,Branding,icon,,"HdAShCut.exe,203"
HKR,Branding,bitmap,,"HdAShCut.exe,204"
HKR,Branding,url,,"http://www.microsoft.com"

[HdAudModel.Interfaces]
; Primary line out interfaces
AddInterface=%KSCATEGORY_AUDIO%,%KSNAME_PrimaryLineOutWave%, HdAudModel.PrimaryLineOutWave
AddInterface=%KSCATEGORY_RENDER%,%KSNAME_PrimaryLineOutWave%, HdAudModel.PrimaryLineOutWave
AddInterface=%KSCATEGORY_AUDIO%,%KSNAME_PrimaryLineOutTopo%, HdAudModel.PrimaryLineOutTopo
AddInterface=%KSCATEGORY_TOPOLOGY%,%KSNAME_PrimaryLineOutTopo%, HdAudModel.PrimaryLineOutTopo
; Primary line in interfaces with slaved headphone
AddInterface=%KSCATEGORY_AUDIO%,%KSNAME_PrimaryLineOutWaveSlavedHp%, HdAudModel.PrimaryLineOutWave
AddInterface=%KSCATEGORY_RENDER%,%KSNAME_PrimaryLineOutWaveSlavedHp%, HdAudModel.PrimaryLineOutWave
AddInterface=%KSCATEGORY_AUDIO%,%KSNAME_PrimaryLineOutTopoSlavedHp%, HdAudModel.PrimaryLineOutTopo
AddInterface=%KSCATEGORY_TOPOLOGY%,%KSNAME_PrimaryLineOutTopoSlavedHp%, HdAudModel.PrimaryLineOutTopo
; Primary line in interfaces
AddInterface=%KSCATEGORY_AUDIO%,%KSNAME_PrimaryLineInWave%, HdAudModel.PrimaryLineInWave
AddInterface=%KSCATEGORY_CAPTURE%,%KSNAME_PrimaryLineInWave%, HdAudModel.PrimaryLineInWave
AddInterface=%KSCATEGORY_AUDIO%,%KSNAME_PrimaryLineInTopo%, HdAudModel.PrimaryLineInTopo
AddInterface=%KSCATEGORY_TOPOLOGY%,%KSNAME_PrimaryLineInTopo%, HdAudModel.PrimaryLineInTopo
; Independent Headphone interfaces. This can be front, side, or independent
AddInterface=%KSCATEGORY_AUDIO%,%KSNAME_IndependentHeadphoneWave%, HdAudModel.IndependentHeadphoneWave
AddInterface=%KSCATEGORY_RENDER%,%KSNAME_IndependentHeadphoneWave%, HdAudModel.IndependentHeadphoneWave
AddInterface=%KSCATEGORY_AUDIO%,%KSNAME_IndependentHeadphoneTopo%, HdAudModel.IndependentHeadphoneTopo
AddInterface=%KSCATEGORY_TOPOLOGY%,%KSNAME_IndependentHeadphoneTopo%, HdAudModel.IndependentHeadphoneTopo

AddInterface=%KSCATEGORY_AUDIO%,%KSNAME_FrontHeadphoneWave%, HdAudModel.FrontHeadphoneWave
AddInterface=%KSCATEGORY_RENDER%,%KSNAME_FrontHeadphoneWave%, HdAudModel.FrontHeadphoneWave
AddInterface=%KSCATEGORY_AUDIO%,%KSNAME_FrontHeadphoneTopo%, HdAudModel.FrontHeadphoneTopo
AddInterface=%KSCATEGORY_TOPOLOGY%,%KSNAME_FrontHeadphoneTopo%, HdAudModel.FrontHeadphoneTopo

AddInterface=%KSCATEGORY_AUDIO%,%KSNAME_SideHeadphoneWave%, HdAudModel.SideHeadphoneWave
AddInterface=%KSCATEGORY_RENDER%,%KSNAME_SideHeadphoneWave%, HdAudModel.SideHeadphoneWave
AddInterface=%KSCATEGORY_AUDIO%,%KSNAME_SideHeadphoneTopo%, HdAudModel.SideHeadphoneTopo
AddInterface=%KSCATEGORY_TOPOLOGY%,%KSNAME_SideHeadphoneTopo%, HdAudModel.SideHeadphoneTopo

; Independent microphone interfaces. This can be front, sode or independent

AddInterface=%KSCATEGORY_AUDIO%,%KSNAME_IndependentMicWave%, HdAudModel.IndependentMicWave
AddInterface=%KSCATEGORY_CAPTURE%,%KSNAME_IndependentMicWave%, HdAudModel.IndependentMicWave
AddInterface=%KSCATEGORY_AUDIO%,%KSNAME_IndependentMicTopo%, HdAudModel.IndependentMicTopo
AddInterface=%KSCATEGORY_TOPOLOGY%,%KSNAME_IndependentMicTopo%, HdAudModel.IndependentMicTopo


AddInterface=%KSCATEGORY_AUDIO%,%KSNAME_FrontMicWave%, HdAudModel.FrontMicWave
AddInterface=%KSCATEGORY_CAPTURE%,%KSNAME_FrontMicWave%, HdAudModel.FrontMicWave
AddInterface=%KSCATEGORY_AUDIO%,%KSNAME_FrontMicTopo%, HdAudModel.FrontMicTopo
AddInterface=%KSCATEGORY_TOPOLOGY%,%KSNAME_FrontMicTopo%, HdAudModel.FrontMicTopo

AddInterface=%KSCATEGORY_AUDIO%,%KSNAME_SideMicWave%, HdAudModel.SideMicWave
AddInterface=%KSCATEGORY_CAPTURE%,%KSNAME_SideMicWave%, HdAudModel.SideMicWave
AddInterface=%KSCATEGORY_AUDIO%,%KSNAME_SideMicTopo%, HdAudModel.SideMicTopo
AddInterface=%KSCATEGORY_TOPOLOGY%,%KSNAME_SideMicTopo%, HdAudModel.SideMicTopo

; Digital output interfaces. Currently not used, since Ks requires an ac3 pin
; to be on an exisiting filter factory with a pcm pin
AddInterface=%KSCATEGORY_AUDIO%,%KSNAME_DigitalOutputWave%, HdAudModel.DigitalOutputWave
AddInterface=%KSCATEGORY_RENDER%,%KSNAME_DigitalOutputWave%, HdAudModel.DigitalOutputWave
AddInterface=%KSCATEGORY_AUDIO%,%KSNAME_DigitalOutputTopo%, HdAudModel.DigitalOutputTopo
AddInterface=%KSCATEGORY_TOPOLOGY%,%KSNAME_DigitalOutputTopo%, HdAudModel.DigitalOutputTopo

; Digital input interfaces

AddInterface=%KSCATEGORY_AUDIO%,%KSNAME_DigitalInputWave%, HdAudModel.DigitalInputWave
AddInterface=%KSCATEGORY_CAPTURE%,%KSNAME_DigitalInputWave%, HdAudModel.DigitalInputWave
AddInterface=%KSCATEGORY_AUDIO%,%KSNAME_DigitalInputTopo%, HdAudModel.DigitalInputTopo
AddInterface=%KSCATEGORY_TOPOLOGY%,%KSNAME_DigitalInputTopo%, HdAudModel.DigitalInputTopo

AddInterface=%KSCATEGORY_AUDIO%,%KSNAME_MicArrayWave%, HdAudModel.MicArrayWave
AddInterface=%KSCATEGORY_CAPTURE%,%KSNAME_MicArrayWave%, HdAudModel.MicArrayWave
AddInterface=%KSCATEGORY_AUDIO%,%KSNAME_MicArrayTopo%, HdAudModel.MicArrayTopo
AddInterface=%KSCATEGORY_TOPOLOGY%,%KSNAME_MicArrayTopo%, HdAudModel.MicArrayTopo

; Aux (CD) interfaces

AddInterface=%KSCATEGORY_AUDIO%,%KSNAME_AuxInWave%, AzAudModel.AuxInWave
AddInterface=%KSCATEGORY_CAPTURE%,%KSNAME_AuxInWave%, AzAudModel.AuxInWave
AddInterface=%KSCATEGORY_AUDIO%,%KSNAME_AuxInTopo%, AzAudModel.AuxInTopo
AddInterface=%KSCATEGORY_TOPOLOGY%,%KSNAME_AuxInTopo%, AzAudModel.AuxInTopo


; Primary line out no location information exposed
[HdAudModel.PrimaryLineOutWave]
AddReg = HdAudModel.PrimaryLineOutWave.AddReg

[HdAudModel.PrimaryLineOutWave.AddReg]
HKR,,FriendlyName,,%PrimaryLineOutWaveDeviceName%
HKR,,CLSID,,%Proxy.CLSID%

;HKR,,FriendlyName,,%PrimaryLineOutDacName%

;IntHdAudGuid.PrimaryLineOutDac
HKLM,SYSTEM\CurrentControlSet\Control\MediaCategories\%HdAudGuidPrimaryLineOutDac%,Name,,%PrimaryLineOutDacName%
HKLM,SYSTEM\CurrentControlSet\Control\MediaCategories\%HdAudGuidPrimaryLineOutDac%,Display,1,00,00,00,00
HKLM,SYSTEM\CurrentControlSet\Control\MediaCategories\%HdAudGuidDisableDigitalOutput%,Name,,%DisableDigitalOutputName%
HKLM,SYSTEM\CurrentControlSet\Control\MediaCategories\%HdAudGuidDisableDigitalOutput%,Display,1,00,00,00,00
HKLM,SYSTEM\CurrentControlSet\Control\MediaCategories\%HdAudGuidFrontHPOutDac%,Name,,%FrontHPOutDacName%
HKLM,SYSTEM\CurrentControlSet\Control\MediaCategories\%HdAudGuidFrontHPOutDac%,Display,1,00,00,00,00

; Primary line out. No location information exposed

[HdAudModel.PrimaryLineOutTopo]
AddReg = HdAudModel.PrimaryLineOutTopo.AddReg

[HdAudModel.PrimaryLineOutTopo.AddReg]
HKR,,FriendlyName,,%PrimaryLineOutTopoDeviceName%
HKR,,CLSID,,%Proxy.CLSID%

; Primary line in. Np location information exposed

[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%

; Independent headphone. Location info is exposed as front, side or just independent (if location not determined)
; Independent (no lococation info used)
[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%

; Front headphone (used when hp pin config indicates geo loc = front gen loc = Primary box)
[HdAudModel.FrontHeadphoneWave]
AddReg = HdAudModel.FrontHeadphoneWave.AddReg

[HdAudModel.FrontHeadphoneWave.AddReg]
HKR,,FriendlyName,,%FrontHeadphoneWaveDeviceName%
HKR,,CLSID,,%Proxy.CLSID%

[HdAudModel.FrontHeadphoneTopo]
AddReg = HdAudModel.FrontHeadphoneTopo.AddReg

[HdAudModel.FrontHeadphoneTopo.AddReg]
HKR,,FriendlyName,,%FrontHeadphoneTopoDeviceName%
HKR,,CLSID,,%Proxy.CLSID%

; Side headphone (used when hp pin config indicates left or right on primary box )
[HdAudModel.SideHeadphoneWave]
AddReg = HdAudModel.SideHeadphoneWave.AddReg

[HdAudModel.SideHeadphoneWave.AddReg]
HKR,,FriendlyName,,%SideHeadphoneWaveDeviceName%
HKR,,CLSID,,%Proxy.CLSID%

[HdAudModel.SideHeadphoneTopo]
AddReg = HdAudModel.SideHeadphoneTopo.AddReg

[HdAudModel.SideHeadphoneTopo.AddReg]
HKR,,FriendlyName,,%SideHeadphoneTopoDeviceName%
HKR,,CLSID,,%Proxy.CLSID%

; Independent microphone. Location info is exposed as front, side or just independent (if location not determined)

[HdAudModel.IndependentMicWave]
AddReg = HdAudModel.IndependentMicWave.AddReg

[HdAudModel.IndependentMicWave.AddReg]
HKR,,FriendlyName,,%IndependentMicWaveDeviceName%
HKR,,CLSID,,%Proxy.CLSID%

[HdAudModel.IndependentMicTopo]
AddReg = HdAudModel.IndependentMicTopo.AddReg

[HdAudModel.IndependentMicTopo.AddReg]
HKR,,FriendlyName,,%IndependentMicTopoDeviceName%
HKR,,CLSID,,%Proxy.CLSID%

; Front panel mic

[HdAudModel.FrontMicWave]
AddReg = HdAudModel.FrontMicWave.AddReg

[HdAudModel.FrontMicWave.AddReg]
HKR,,FriendlyName,,%FrontMicWaveDeviceName%
HKR,,CLSID,,%Proxy.CLSID%

[HdAudModel.FrontMicTopo]
AddReg = HdAudModel.FrontMicTopo.AddReg

[HdAudModel.FrontMicTopo.AddReg]
HKR,,FriendlyName,,%FrontMicTopoDeviceName%
HKR,,CLSID,,%Proxy.CLSID%

; Side panel mic

[HdAudModel.SideMicWave]
AddReg = HdAudModel.SideMicWave.AddReg

[HdAudModel.SideMicWave.AddReg]
HKR,,FriendlyName,,%SideMicWaveDeviceName%
HKR,,CLSID,,%Proxy.CLSID%

[HdAudModel.SideMicTopo]
AddReg = HdAudModel.SideMicTopo.AddReg

[HdAudModel.SideMicTopo.AddReg]
HKR,,FriendlyName,,%SideMicTopoDeviceName%
HKR,,CLSID,,%Proxy.CLSID%

; Digital output. Not this is not used currently, since ac3 has to be exposed on a filter factory
; with a pcm out pin.

[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%

; Digital input

[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%

; Microphone Array

[HdAudModel.MicArrayWave]
AddReg = HdAudModel.MicArrayWave.AddReg

[HdAudModel.MicArrayWave.AddReg]
HKR,,FriendlyName,,%MicArrayWaveDeviceName%
HKR,,CLSID,,%Proxy.CLSID%

[HdAudModel.MicArrayTopo]
AddReg = HdAudModel.MicArrayTopo.AddReg

[HdAudModel.MicArrayTopo.AddReg]
HKR,,FriendlyName,,%MicArrayTopoDeviceName%
HKR,,CLSID,,%Proxy.CLSID%

; Auxiliary Input

[AzAudModel.AuxInWave]
AddReg = AzAudModel.AuxInWave.AddReg

[AzAudModel.AuxInWave.AddReg]
HKR,,FriendlyName,,%AuxInWaveDeviceName%
HKR,,CLSID,,%Proxy.CLSID%

[AzAudModel.AuxInTopo]
AddReg = AzAudModel.AuxInTopo.AddReg

[AzAudModel.AuxInTopo.AddReg]
HKR,,FriendlyName,,%AuxInTopoDeviceName%
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;;GRGWGX;;;BA)(A;;GRGWGX;;;WD)(A;;GRGWGX;;;RC)"

[Strings]
RunDisplayName="High Definition Audio Property Page Shortcut" ; {PlaceHolder="High Definition Audio"}
DiskId1 = "UAA Function Driver for High Definition Audio. Installation Disk" ; {PlaceHolder="UAA","High Definition Audio"}
HdAudioFunctionDriver.CMedia9880.DeviceDesc = "Microsoft UAA Function Driver for High Definition Audio - CMedia 9880" ; {PlaceHolder="UAA","High Definition Audio"}
HdAudioFunctionDriver.Realtek880.DeviceDesc = "Microsoft UAA Function Driver for High Definition Audio - Realtek 880/860" ; {PlaceHolder="UAA","High Definition Audio"}
HdAudioFunctionDriver.Realtek280.DeviceDesc = "Microsoft UAA Function Driver for High Definition Audio - Realtek 280" ; {PlaceHolder="UAA","High Definition Audio"}
HdAudioFunctionDriver.Realtek260.DeviceDesc = "Microsoft UAA Function Driver for High Definition Audio - Realtek 260" ; {PlaceHolder="UAA","High Definition Audio"}
HdAudioFunctionDriver.Realtek261.DeviceDesc = "Microsoft UAA Function Driver for High Definition Audio - Realtek 261" ; {PlaceHolder="UAA","High Definition Audio"}
HdAudioFunctionDriver.DDKCodec.DeviceDesc = "Microsoft UAA Function Driver for High Definition Audio - DDKCodec" ; {PlaceHolder="UAA","High Definition Audio"}
HdAudioFunctionDriver.Sigma9770.DeviceDesc= "Microsoft UAA Function Driver for High Definition Audio - Sigmatel 9770" ; {PlaceHolder="UAA","High Definition Audio"}
HdAudioFunctionDriver.Sigma9772.DeviceDesc= "Microsoft UAA Function Driver for High Definition Audio - Sigmatel 9772" ; {PlaceHolder="UAA","High Definition Audio"}
HdAudioFunctionDriver.ConexantWaikiki.DeviceDesc= "Microsoft UAA Function Driver for High Definition Audio - Conexant Waikiki" ; {PlaceHolder="UAA","High Definition Audio"}
HdAudioFunctionDriver.Adi1986.DeviceDesc= "Microsoft UAA Function Driver for High Definition Audio - Adi 1986" ; {PlaceHolder="UAA","High Definition Audio"}
HdAudioFunctionDriver.Adi1983.DeviceDesc= "Microsoft UAA Function Driver for High Definition Audio - Adi 1983" ; {PlaceHolder="UAA","High Definition Audio"}
UAAFunctionDriverForHdAudio.SvcDesc = "Microsoft UAA Function Driver for High Definition Audio Service" ; {PlaceHolder="UAA","High Definition Audio"}

; These are the name strings for the wave miniports displayed in mmsys.cpl
PrimaryLineOutWaveDeviceName =        "HD Audio render" ; {PlaceHolder="HD Audio"}
PrimaryLineInWaveDeviceName =         "HD Audio capture" ; {PlaceHolder="HD Audio"}
IndependentHeadphoneWaveDeviceName =  "HD Audio independent headphone" ; {PlaceHolder="HD Audio"}
FrontHeadphoneWaveDeviceName =        "HD Audio front headphone" ; {PlaceHolder="HD Audio"}
SideHeadphoneWaveDeviceName =         "HD Audio side headphone" ; {PlaceHolder="HD Audio"}
IndependentMicWaveDeviceName =        "HD Audio independent microphone" ; {PlaceHolder="HD Audio"}
FrontMicWaveDeviceName =              "HD Audio front microphone" ; {PlaceHolder="HD Audio"}
SideMicWaveDeviceName =               "HD Audio side microphone" ; {PlaceHolder="HD Audio"}
DigitalOutputWaveDeviceName =         "HD Audio digital out" ; {PlaceHolder="HD Audio"}
DigitalInputWaveDeviceName =          "HD Audio digital in" ; {PlaceHolder="HD Audio"}
MicArrayWaveDeviceName =              "HD Audio microphone array" ; {PlaceHolder="HD Audio"}
AuxInWaveDeviceName =                 "HD Audio aux in" ; {PlaceHolder="HD Audio"}

; These are the dac names, probably only displayed by ksstudio
PrimaryLineOutDacName =               "HD Audio line out" ; {PlaceHolder="HD Audio"}
FrontHPOutDacName =                   "HD Audio headphone" ; {PlaceHolder="HD Audio"}
 
; These are the name strings for the topo miniports displayed in mmsys.cpl
PrimaryLineOutTopoDeviceName =        "HD Audio render mixer" ; {PlaceHolder="HD Audio"}
PrimaryLineInTopoDeviceName =         "HD Audio capture mixer" ; {PlaceHolder="HD Audio"}
RearMicInTopoDeviceName =             "HD Audio microphone mixer" ; {PlaceHolder="HD Audio"} USED?
IndependentHeadphoneTopoDeviceName =  "HD Audio independent out mixer" ; {PlaceHolder="HD Audio"}
FrontHeadphoneTopoDeviceName =        "HD Audio front out mixer" ; {PlaceHolder="HD Audio"}
SideHeadphoneTopoDeviceName =         "HD Audio side out mixer" ; {PlaceHolder="HD Audio"}
IndependentMicTopoDeviceName =        "HD Audio independent in mixer" ; {PlaceHolder="HD Audio"}
FrontMicTopoDeviceName =              "HD Audio front in mixer" ; {PlaceHolder="HD Audio"}
SideMicTopoDeviceName =               "HD Audio side in mixer" ; {PlaceHolder="HD Audio"}
DigitalOutputTopoDeviceName =         "HD Audio digital out mixer" ; {PlaceHolder="HD Audio"}
DigitalInputTopoDeviceName =          "HD Audio digital in mixer" ; {PlaceHolder="HD Audio"}
MicArrayTopoDeviceName =              "HD Audio mic array mixer" ; {PlaceHolder="HD Audio"}
AuxInTopoDeviceName =                 "HD Audio aux in mixer" ; {PlaceHolder="HD Audio"}



DisableDigitalOutputName = "Disable Digital Output"
HdAudioDeviceDescription = "Microsoft UAA Function Driver for High Definition Audio" ; {PlaceHolder="UAA","High Definition Audio"}

; These are the strings passed to PcRegisterSubdevice for wave ports

KSNAME_PrimaryLineOutWave = "PrimaryLineOutWave" ; non-localizable
KSNAME_PrimaryLineOutWaveSlavedHp= "PrimaryLineOutWaveSlavedHp" ; non-localizable
KSNAME_PrimaryLineInWave = "PrimaryLineInWave" ; non-localizable
KSNAME_IndependentHeadphoneWave ="IndependentHeadphoneWave" ; non-localizable
KSNAME_FrontHeadphoneWave ="FrontHeadphoneWave" ; non-localizable
KSNAME_SideHeadphoneWave ="SideHeadphoneWave" ; non-localizable
KSNAME_IndependentMicWave = "IndependentMicWave" ; non-localizable
KSNAME_FrontMicWave = "FrontMicWave" ; non-localizable
KSNAME_SideMicWave = "SideMicWave" ; non-localizable
KSNAME_DigitalOutputWave = "DigitalOutputWave" ; non-localizable
KSNAME_DigitalInputWave = "DigitalInputWave" ; non-localizable
KSNAME_MicArrayWave = "MicArrayWave" ; non-localizable
KSNAME_AuxInWave = "AuxInputWave" ; non-localizable

; These are the strings passed to PcRegisterSubdevice for topo ports

KSNAME_PrimaryLineOutTopo = "PrimaryLineOutTopo" ; non-localizable
KSNAME_PrimaryLineOutTopoSlavedHp= "PrimaryLineOutTopoSlavedHp" ; non-localizable
KSNAME_PrimaryLineInTopo = "PrimaryLineInTopo" ; non-localizable
KSNAME_IndependentHeadphoneTopo = "IndependentHeadphoneTopo" ; non-localizable
KSNAME_FrontHeadphoneTopo = "FrontHeadphoneTopo" ; non-localizable
KSNAME_SideHeadphoneTopo = "SideHeadphoneTopo" ; non-localizable
KSNAME_IndependentMicTopo = "IndependentMicTopo" ; non-localizable
KSNAME_FrontMicTopo = "FrontMicTopo" ; non-localizable
KSNAME_SideMicTopo = "SideMicTopo" ; non-localizable
KSNAME_DigitalOutputTopo = "DigitalOutputTopo" ; non-localizable
KSNAME_DigitalInputTopo = "DigitalInputTopo" ; non-localizable
KSNAME_MicArrayTopo = "MicArrayTopo" ; non-localizable
KSNAME_AuxInTopo = "AuxInputTopo" ; non-localizable

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
Proxy.CLSID = "{17CCA71B-ECD7-11D0-B908-00A0C9223196}" ; non-localizable

HdAudGuidPrimaryLineOutDac = "{EEF86A90-3742-4974-B8D2-5370E1C540F6}" ; non-localizable
HdAudGuidFrontHPOutDac = "{497B34AD-D67F-411c-8076-80D5B4250D67}" ; non-localizable
HdAudGuidDisableDigitalOutput = "{F06BB67D-5C2F-48ad-A307-B449E3B217D6}" ; non-localizable

