;/******************************************************************************
;*  File Name:   amdsdws.inf
;*  Project:     AMD SoundWire Streaming Driver
;*
;*  Copyright (c) 2021-2026 Advanced Micro Devices, Inc. All rights reserved.
;******************************************************************************/

[Version]
Signature="$WINDOWS NT$"
Class=MEDIA
ClassGuid={4d36e96c-e325-11ce-bfc1-08002be10318}
Provider=%ManufacturerName%
CatalogFile=amdsdws.cat
DriverVer= 07/15/2026,7.2610.1.2
PnpLockdown=1

[DestinationDirs]
DefaultDestDir = 13

;*****************************************
; Audio Device Install Section
;*****************************************
[ControlFlags]
ExcludeFromSelect = {4DCB0606-6415-4A36-BDC5-9B1792117DC9}\Speaker
ExcludeFromSelect = {4DCB0606-6415-4A36-BDC5-9B1792117DC9}\Microphone
ExcludeFromSelect = {4DCB0606-6415-4A36-BDC5-9B1792117DC9}\UajLineOut
ExcludeFromSelect = {4DCB0606-6415-4A36-BDC5-9B1792117DC9}\UajLineIn
ExcludeFromSelect = {4DCB0606-6415-4A36-BDC5-9B1792117DC9}\UajHeadsetSpk
ExcludeFromSelect = {4DCB0606-6415-4A36-BDC5-9B1792117DC9}\UajHeadsetMic
ExcludeFromSelect = {4DCB0606-6415-4A36-BDC5-9B1792117DC9}\UajHeadphone
ExcludeFromSelect = {4DCB0606-6415-4A36-BDC5-9B1792117DC9}\UajMicrophone
ExcludeFromSelect = {4DCB0606-6415-4A36-BDC5-9B1792117DC9}\RjLineOut
ExcludeFromSelect = {4DCB0606-6415-4A36-BDC5-9B1792117DC9}\RjLineIn
ExcludeFromSelect = {4DCB0606-6415-4A36-BDC5-9B1792117DC9}\RjHeadsetSpk
ExcludeFromSelect = {4DCB0606-6415-4A36-BDC5-9B1792117DC9}\RjHeadsetMic
ExcludeFromSelect = {4DCB0606-6415-4A36-BDC5-9B1792117DC9}\RjHeadphone
ExcludeFromSelect = {4DCB0606-6415-4A36-BDC5-9B1792117DC9}\RjMicrophone
; Legacy hardware IDs
ExcludeFromSelect = {4DCB0606-6415-4A36-BDC5-9B1792117DC9}\Render
ExcludeFromSelect = {4DCB0606-6415-4A36-BDC5-9B1792117DC9}\Capture
ExcludeFromSelect = {4DCB0606-6415-4A36-BDC5-9B1792117DC9}\UajRender
ExcludeFromSelect = {4DCB0606-6415-4A36-BDC5-9B1792117DC9}\UajCapture

[Manufacturer]
%ManufacturerName%=AMD,NTAMD64.10.0...16299

[AMD.NTAMD64.10.0...16299]
%AmdStreamingDevice.DeviceDesc%=Audio_Device,ACP\DEVTYPE_0006&DEVREV_0000&VEN_1022&DEV_15E2&REV_63
%AmdStreamingDevice.DeviceDesc%=Audio_Device,ACP\DEVTYPE_0006&DEVREV_0000&VEN_1022&DEV_15E2&REV_70
%AmdStreamingDevice.DeviceDesc%=Audio_Device,ACP\DEVTYPE_0006&DEVREV_0000&VEN_1022&DEV_15E2&REV_71
%AmdStreamingDevice.DeviceDesc%=Audio_Device,ACP\DEVTYPE_0006&DEVREV_0000&VEN_1022&DEV_15E2&REV_72
%AmdStreamingDevice.DeviceDesc%=Audio_Device,ACP\DEVTYPE_0006&DEVREV_0000&VEN_1022&DEV_15E2&REV_73
%AmdStreamingDevice.DeviceDesc%=Audio_Device,ACP\DEVTYPE_0006&DEVREV_0000&VEN_1022&DEV_15E2&REV_7F

%AmdStreamingDevice.DeviceDesc%=Audio_Device,ACP\DEVTYPE_0006&DEVREV_0001&VEN_1022&DEV_15E2&REV_70
%AmdStreamingDevice.DeviceDesc%=Audio_Device,ACP\DEVTYPE_0006&DEVREV_0001&VEN_1022&DEV_15E2&REV_71
%AmdStreamingDevice.DeviceDesc%=Audio_Device,ACP\DEVTYPE_0006&DEVREV_0001&VEN_1022&DEV_15E2&REV_72
%AmdStreamingDevice.DeviceDesc%=Audio_Device,ACP\DEVTYPE_0006&DEVREV_0001&VEN_1022&DEV_15E2&REV_73
%AmdStreamingDevice.DeviceDesc%=Audio_Device,ACP\DEVTYPE_0006&DEVREV_0001&VEN_1022&DEV_15E2&REV_7F

%AmdStreamingSpeakerDevice.DeviceDesc%=Audio_Child_Speaker,          {4DCB0606-6415-4A36-BDC5-9B1792117DC9}\Speaker
%AmdStreamingMicDevice.DeviceDesc%=Audio_Child_Mic,                  {4DCB0606-6415-4A36-BDC5-9B1792117DC9}\Microphone
%AmdStreamingUajLineOutDevice.DeviceDesc%=Audio_Child_UajLineOut,   {4DCB0606-6415-4A36-BDC5-9B1792117DC9}\UajLineOut
%AmdStreamingUajLineInDevice.DeviceDesc%=Audio_Child_UajLineIn,     {4DCB0606-6415-4A36-BDC5-9B1792117DC9}\UajLineIn
%AmdStreamingUajHeadsetSpkDevice.DeviceDesc%=Audio_Child_UajHsSpk,  {4DCB0606-6415-4A36-BDC5-9B1792117DC9}\UajHeadsetSpk
%AmdStreamingUajHeadsetMicDevice.DeviceDesc%=Audio_Child_UajHsMic,  {4DCB0606-6415-4A36-BDC5-9B1792117DC9}\UajHeadsetMic
%AmdStreamingUajHeadphoneDevice.DeviceDesc%=Audio_Child_UajHp,      {4DCB0606-6415-4A36-BDC5-9B1792117DC9}\UajHeadphone
%AmdStreamingUajMicDevice.DeviceDesc%=Audio_Child_UajMic,           {4DCB0606-6415-4A36-BDC5-9B1792117DC9}\UajMicrophone
%AmdStreamingRjLineOutDevice.DeviceDesc%=Audio_Child_RjLineOut,     {4DCB0606-6415-4A36-BDC5-9B1792117DC9}\RjLineOut
%AmdStreamingRjLineInDevice.DeviceDesc%=Audio_Child_RjLineIn,       {4DCB0606-6415-4A36-BDC5-9B1792117DC9}\RjLineIn
%AmdStreamingRjHeadsetSpkDevice.DeviceDesc%=Audio_Child_RjHsSpk,    {4DCB0606-6415-4A36-BDC5-9B1792117DC9}\RjHeadsetSpk
%AmdStreamingRjHeadsetMicDevice.DeviceDesc%=Audio_Child_RjHsMic,    {4DCB0606-6415-4A36-BDC5-9B1792117DC9}\RjHeadsetMic
%AmdStreamingRjHeadphoneDevice.DeviceDesc%=Audio_Child_RjHp,        {4DCB0606-6415-4A36-BDC5-9B1792117DC9}\RjHeadphone
%AmdStreamingRjMicDevice.DeviceDesc%=Audio_Child_RjMic,             {4DCB0606-6415-4A36-BDC5-9B1792117DC9}\RjMicrophone
; Legacy HWIDs
%AmdStreamingSpeakerDevice.DeviceDesc%=Audio_Child_Speaker,         {4DCB0606-6415-4A36-BDC5-9B1792117DC9}\Render
%AmdStreamingMicDevice.DeviceDesc%=Audio_Child_Mic,                 {4DCB0606-6415-4A36-BDC5-9B1792117DC9}\Capture
%AmdStreamingLegacyUajSpkDevice.DeviceDesc%=Audio_Child_UajHsSpk,   {4DCB0606-6415-4A36-BDC5-9B1792117DC9}\UajRender
%AmdStreamingLegacyUajMicDevice.DeviceDesc%=Audio_Child_UajHsMic,   {4DCB0606-6415-4A36-BDC5-9B1792117DC9}\UajCapture

[Audio_Device.NT]
CopyINF = .\amdsdwsext\amdsdwsext.inf
CopyFiles=Audio_Device.NT.Copy
AddReg=AMDKEYWORDDETECTORADAPTER.AddReg
FeatureScore = FE

;*****************************************
; Child Device Install Sections
;*****************************************

; Render (Speaker)
[Audio_Child_Speaker.NT]
CopyFiles=Audio_Device.NT.Copy

[Audio_Child_Speaker.NT.Services]
AddService = , %SPSVCINST_ASSOCSERVICE%

; Capture (Microphone)
[Audio_Child_Mic.NT]
CopyFiles=Audio_Device.NT.Copy

[Audio_Child_Mic.NT.Services]
AddService = , %SPSVCINST_ASSOCSERVICE%

; UAJ Line Out
[Audio_Child_UajLineOut.NT]
CopyFiles=Audio_Device.NT.Copy

[Audio_Child_UajLineOut.NT.Services]
AddService = , %SPSVCINST_ASSOCSERVICE%

; UAJ Line In
[Audio_Child_UajLineIn.NT]
CopyFiles=Audio_Device.NT.Copy

[Audio_Child_UajLineIn.NT.Services]
AddService = , %SPSVCINST_ASSOCSERVICE%

; UAJ Headset Speaker
[Audio_Child_UajHsSpk.NT]
CopyFiles=Audio_Device.NT.Copy

[Audio_Child_UajHsSpk.NT.Services]
AddService = , %SPSVCINST_ASSOCSERVICE%

; UAJ Headset Mic
[Audio_Child_UajHsMic.NT]
CopyFiles=Audio_Device.NT.Copy

[Audio_Child_UajHsMic.NT.Services]
AddService = , %SPSVCINST_ASSOCSERVICE%

; UAJ Headphones
[Audio_Child_UajHp.NT]
CopyFiles=Audio_Device.NT.Copy

[Audio_Child_UajHp.NT.Services]
AddService = , %SPSVCINST_ASSOCSERVICE%

; UAJ Microphone
[Audio_Child_UajMic.NT]
CopyFiles=Audio_Device.NT.Copy

[Audio_Child_UajMic.NT.Services]
AddService = , %SPSVCINST_ASSOCSERVICE%

; RJ Line Out
[Audio_Child_RjLineOut.NT]
CopyFiles=Audio_Device.NT.Copy

[Audio_Child_RjLineOut.NT.Services]
AddService = , %SPSVCINST_ASSOCSERVICE%

; RJ Line In
[Audio_Child_RjLineIn.NT]
CopyFiles=Audio_Device.NT.Copy

[Audio_Child_RjLineIn.NT.Services]
AddService = , %SPSVCINST_ASSOCSERVICE%

; RJ Headset Speaker
[Audio_Child_RjHsSpk.NT]
CopyFiles=Audio_Device.NT.Copy

[Audio_Child_RjHsSpk.NT.Services]
AddService = , %SPSVCINST_ASSOCSERVICE%

; RJ Headset Mic
[Audio_Child_RjHsMic.NT]
CopyFiles=Audio_Device.NT.Copy

[Audio_Child_RjHsMic.NT.Services]
AddService = , %SPSVCINST_ASSOCSERVICE%

; RJ Microphone
[Audio_Child_RjMic.NT]
CopyFiles=Audio_Device.NT.Copy

[Audio_Child_RjMic.NT.Services]
AddService = , %SPSVCINST_ASSOCSERVICE%

; RJ Headphones
[Audio_Child_RjHp.NT]
CopyFiles=Audio_Device.NT.Copy

[Audio_Child_RjHp.NT.Services]
AddService = , %SPSVCINST_ASSOCSERVICE%

[Audio_Device.NT.Copy]
amdsdws.sys
AmdMvaOem.dll

;-------------- Service installation

[Audio_Device.NT.Services]
AddService = amdsdws, %SPSVCINST_ASSOCSERVICE%, Audio_Service_Inst

[Audio_Service_Inst]
DisplayName    = %AmdStreamingDevice.DeviceDesc%
ServiceType    = 1               ; SERVICE_KERNEL_DRIVER
StartType      = 3               ; SERVICE_DEMAND_START
ErrorControl   = 1               ; SERVICE_ERROR_NORMAL
ServiceBinary  = %13%\amdsdws.sys

[SourceDisksNames]
1 = %DiskId1%,,,""

[SourceDisksFiles]
amdsdws.sys  = 1,,
AmdMvaOem.dll = 1,,

[Audio_Device.NT.Wdf]
KmdfService = amdsdws, Audio_wdfsect

[Audio_wdfsect]
KmdfLibraryVersion = 1.31

[AMDKEYWORDDETECTORADAPTER.AddReg]
HKCR,CLSID\%AMDKEYWORDDETECTORADAPTER_CLSID2%,,,"AmdMvaOem Class"
HKCR,CLSID\%AMDKEYWORDDETECTORADAPTER_CLSID2%\InProcServer32,,0x00020000,%13%\AmdMvaOem.dll
HKCR,CLSID\%AMDKEYWORDDETECTORADAPTER_CLSID2%\InProcServer32,ThreadingModel,,"Apartment"
HKCR,CLSID\%AMDKEYWORDDETECTORADAPTER_CLSID2%\Version,,,"1.0"

;
; render interfaces: speaker
;
[Audio_Device.I.Speaker]
AddReg=Audio_Device.I.Speaker.AddReg
[Audio_Device.I.Speaker.AddReg]
HKR,,CLSID,,%Proxy.CLSID%
HKR,,FriendlyName,,%Audio_Device.Speaker.szPname%
; The following lines opt-in to pull mode.
HKR,EP\0,%PKEY_AudioEndpoint_Association%,,%KSNODETYPE_ANY%
HKR,EP\0,%PKEY_AudioEndpoint_Supports_EventDriven_Mode%,0x00010001,0x1

[Audio_Device.I.UajLineOut]
AddReg=Audio_Device.I.UajLineOut.AddReg
[Audio_Device.I.UajLineOut.AddReg]
HKR,,CLSID,,%Proxy.CLSID%
HKR,,FriendlyName,,%Audio_Device.UajLineOut.szPname%
; The following lines opt-in to pull mode.
HKR,EP\0,%PKEY_AudioEndpoint_Association%,,%KSNODETYPE_ANY%
HKR,EP\0,%PKEY_AudioEndpoint_Supports_EventDriven_Mode%,0x00010001,0x1

[Audio_Device.I.UajHeadsetSpk]
AddReg=Audio_Device.I.UajHeadsetSpk.AddReg
[Audio_Device.I.UajHeadsetSpk.AddReg]
HKR,,CLSID,,%Proxy.CLSID%
HKR,,FriendlyName,,%Audio_Device.UajHeadsetSpk.szPname%
; The following lines opt-in to pull mode.
HKR,EP\0,%PKEY_AudioEndpoint_Association%,,%KSNODETYPE_ANY%
HKR,EP\0,%PKEY_AudioEndpoint_Supports_EventDriven_Mode%,0x00010001,0x1

[Audio_Device.I.UajHeadphone]
AddReg=Audio_Device.I.UajHeadphone.AddReg
[Audio_Device.I.UajHeadphone.AddReg]
HKR,,CLSID,,%Proxy.CLSID%
HKR,,FriendlyName,,%Audio_Device.UajHeadphone.szPname%
; The following lines opt-in to pull mode.
HKR,EP\0,%PKEY_AudioEndpoint_Association%,,%KSNODETYPE_ANY%
HKR,EP\0,%PKEY_AudioEndpoint_Supports_EventDriven_Mode%,0x00010001,0x1

[Audio_Device.I.RjLineOut]
AddReg=Audio_Device.I.RjLineOut.AddReg
[Audio_Device.I.RjLineOut.AddReg]
HKR,,CLSID,,%Proxy.CLSID%
HKR,,FriendlyName,,%Audio_Device.RjLineOut.szPname%
; The following lines opt-in to pull mode.
HKR,EP\0,%PKEY_AudioEndpoint_Association%,,%KSNODETYPE_ANY%
HKR,EP\0,%PKEY_AudioEndpoint_Supports_EventDriven_Mode%,0x00010001,0x1

[Audio_Device.I.RjHeadsetSpk]
AddReg=Audio_Device.I.RjHeadsetSpk.AddReg
[Audio_Device.I.RjHeadsetSpk.AddReg]
HKR,,CLSID,,%Proxy.CLSID%
HKR,,FriendlyName,,%Audio_Device.RjHeadsetSpk.szPname%
; The following lines opt-in to pull mode.
HKR,EP\0,%PKEY_AudioEndpoint_Association%,,%KSNODETYPE_ANY%
HKR,EP\0,%PKEY_AudioEndpoint_Supports_EventDriven_Mode%,0x00010001,0x1

[Audio_Device.I.RjHeadphone]
AddReg=Audio_Device.I.RjHeadphone.AddReg
[Audio_Device.I.RjHeadphone.AddReg]
HKR,,CLSID,,%Proxy.CLSID%
HKR,,FriendlyName,,%Audio_Device.RjHeadphone.szPname%
; The following lines opt-in to pull mode.
HKR,EP\0,%PKEY_AudioEndpoint_Association%,,%KSNODETYPE_ANY%
HKR,EP\0,%PKEY_AudioEndpoint_Supports_EventDriven_Mode%,0x00010001,0x1

;
; capture interfaces: microphone
;
[Audio_Device.I.Microphone]
AddReg=Audio_Device.I.Microphone.AddReg
[Audio_Device.I.Microphone.AddReg]
HKR,,CLSID,,%Proxy.CLSID%
HKR,,FriendlyName,,%Audio_Device.Microphone.szPname%
; The following lines opt-in to pull mode.
HKR,EP\0,%PKEY_AudioEndpoint_Association%,,%KSNODETYPE_ANY%
HKR,EP\0,%PKEY_AudioEndpoint_Supports_EventDriven_Mode%,0x00010001,0x1

[Audio_Device.I.UajLineIn]
AddReg=Audio_Device.I.UajLineIn.AddReg
[Audio_Device.I.UajLineIn.AddReg]
HKR,,CLSID,,%Proxy.CLSID%
HKR,,FriendlyName,,%Audio_Device.UajLineIn.szPname%
; The following lines opt-in to pull mode.
HKR,EP\0,%PKEY_AudioEndpoint_Association%,,%KSNODETYPE_ANY%
HKR,EP\0,%PKEY_AudioEndpoint_Supports_EventDriven_Mode%,0x00010001,0x1

[Audio_Device.I.UajHeadsetMic]
AddReg=Audio_Device.I.UajHeadsetMic.AddReg
[Audio_Device.I.UajHeadsetMic.AddReg]
HKR,,CLSID,,%Proxy.CLSID%
HKR,,FriendlyName,,%Audio_Device.UajHeadsetMic.szPname%
; The following lines opt-in to pull mode.
HKR,EP\0,%PKEY_AudioEndpoint_Association%,,%KSNODETYPE_ANY%
HKR,EP\0,%PKEY_AudioEndpoint_Supports_EventDriven_Mode%,0x00010001,0x1

[Audio_Device.I.UajMicrophone]
AddReg=Audio_Device.I.UajMicrophone.AddReg
[Audio_Device.I.UajMicrophone.AddReg]
HKR,,CLSID,,%Proxy.CLSID%
HKR,,FriendlyName,,%Audio_Device.UajMicrophone.szPname%
; The following lines opt-in to pull mode.
HKR,EP\0,%PKEY_AudioEndpoint_Association%,,%KSNODETYPE_ANY%
HKR,EP\0,%PKEY_AudioEndpoint_Supports_EventDriven_Mode%,0x00010001,0x1

[Audio_Device.I.RjLineIn]
AddReg=Audio_Device.I.RjLineIn.AddReg
[Audio_Device.I.RjLineIn.AddReg]
HKR,,CLSID,,%Proxy.CLSID%
HKR,,FriendlyName,,%Audio_Device.RjLineIn.szPname%
; The following lines opt-in to pull mode.
HKR,EP\0,%PKEY_AudioEndpoint_Association%,,%KSNODETYPE_ANY%
HKR,EP\0,%PKEY_AudioEndpoint_Supports_EventDriven_Mode%,0x00010001,0x1

[Audio_Device.I.RjHeadsetMic]
AddReg=Audio_Device.I.RjHeadsetMic.AddReg
[Audio_Device.I.RjHeadsetMic.AddReg]
HKR,,CLSID,,%Proxy.CLSID%
HKR,,FriendlyName,,%Audio_Device.RjHeadsetMic.szPname%
; The following lines opt-in to pull mode.
HKR,EP\0,%PKEY_AudioEndpoint_Association%,,%KSNODETYPE_ANY%
HKR,EP\0,%PKEY_AudioEndpoint_Supports_EventDriven_Mode%,0x00010001,0x1

[Audio_Device.I.RjMicrophone]
AddReg=Audio_Device.I.RjMicrophone.AddReg
[Audio_Device.I.RjMicrophone.AddReg]
HKR,,CLSID,,%Proxy.CLSID%
HKR,,FriendlyName,,%Audio_Device.RjMicrophone.szPname%
; The following lines opt-in to pull mode.
HKR,EP\0,%PKEY_AudioEndpoint_Association%,,%KSNODETYPE_ANY%
HKR,EP\0,%PKEY_AudioEndpoint_Supports_EventDriven_Mode%,0x00010001,0x1

;*****************************************
; PnP add interface directives for dynamic enumerated audio endpoints.
;*****************************************

; Speaker (Render)
[Audio_Child_Speaker.NT.Interfaces]
AddInterface=%KSCATEGORY_AUDIO%,    %KSNAME_Speaker%,  Audio_Device.I.Speaker
AddInterface=%KSCATEGORY_RENDER%,   %KSNAME_Speaker%,  Audio_Device.I.Speaker
AddInterface=%KSCATEGORY_REALTIME%, %KSNAME_Speaker%,  Audio_Device.I.Speaker

; Microphone (Capture)
[Audio_Child_Mic.NT.Interfaces]
AddInterface=%KSCATEGORY_AUDIO%,    %KSNAME_Microphone%, Audio_Device.I.Microphone
AddInterface=%KSCATEGORY_CAPTURE%,  %KSNAME_Microphone%, Audio_Device.I.Microphone
AddInterface=%KSCATEGORY_REALTIME%, %KSNAME_Microphone%, Audio_Device.I.Microphone

; UAJ Line Out
[Audio_Child_UajLineOut.NT.Interfaces]
AddInterface=%KSCATEGORY_AUDIO%,    %KSNAME_UajLineOut%,  Audio_Device.I.UajLineOut
AddInterface=%KSCATEGORY_RENDER%,   %KSNAME_UajLineOut%,  Audio_Device.I.UajLineOut
AddInterface=%KSCATEGORY_REALTIME%, %KSNAME_UajLineOut%,  Audio_Device.I.UajLineOut

; UAJ Headset Speaker
[Audio_Child_UajHsSpk.NT.Interfaces]
AddInterface=%KSCATEGORY_AUDIO%,    %KSNAME_UajHeadsetSpk%,  Audio_Device.I.UajHeadsetSpk
AddInterface=%KSCATEGORY_RENDER%,   %KSNAME_UajHeadsetSpk%,  Audio_Device.I.UajHeadsetSpk
AddInterface=%KSCATEGORY_REALTIME%, %KSNAME_UajHeadsetSpk%,  Audio_Device.I.UajHeadsetSpk

; UAJ Headphones
[Audio_Child_UajHp.NT.Interfaces]
AddInterface=%KSCATEGORY_AUDIO%,    %KSNAME_UajHeadphone%,  Audio_Device.I.UajHeadphone
AddInterface=%KSCATEGORY_RENDER%,   %KSNAME_UajHeadphone%,  Audio_Device.I.UajHeadphone
AddInterface=%KSCATEGORY_REALTIME%, %KSNAME_UajHeadphone%,  Audio_Device.I.UajHeadphone

; UAJ Line In
[Audio_Child_UajLineIn.NT.Interfaces]
AddInterface=%KSCATEGORY_AUDIO%,    %KSNAME_UajLineIn%, Audio_Device.I.UajLineIn
AddInterface=%KSCATEGORY_CAPTURE%,  %KSNAME_UajLineIn%, Audio_Device.I.UajLineIn
AddInterface=%KSCATEGORY_REALTIME%, %KSNAME_UajLineIn%, Audio_Device.I.UajLineIn

; UAJ Headset Mic
[Audio_Child_UajHsMic.NT.Interfaces]
AddInterface=%KSCATEGORY_AUDIO%,    %KSNAME_UajHeadsetMic%, Audio_Device.I.UajHeadsetMic
AddInterface=%KSCATEGORY_CAPTURE%,  %KSNAME_UajHeadsetMic%, Audio_Device.I.UajHeadsetMic
AddInterface=%KSCATEGORY_REALTIME%, %KSNAME_UajHeadsetMic%, Audio_Device.I.UajHeadsetMic

; UAJ Microphone
[Audio_Child_UajMic.NT.Interfaces]
AddInterface=%KSCATEGORY_AUDIO%,    %KSNAME_UajMicrophone%, Audio_Device.I.UajMicrophone
AddInterface=%KSCATEGORY_CAPTURE%,  %KSNAME_UajMicrophone%, Audio_Device.I.UajMicrophone
AddInterface=%KSCATEGORY_REALTIME%, %KSNAME_UajMicrophone%, Audio_Device.I.UajMicrophone

; RJ Line Out
[Audio_Child_RjLineOut.NT.Interfaces]
AddInterface=%KSCATEGORY_AUDIO%,    %KSNAME_RjLineOut%,  Audio_Device.I.RjLineOut
AddInterface=%KSCATEGORY_RENDER%,   %KSNAME_RjLineOut%,  Audio_Device.I.RjLineOut
AddInterface=%KSCATEGORY_REALTIME%, %KSNAME_RjLineOut%,  Audio_Device.I.RjLineOut

; RJ Headset Speaker
[Audio_Child_RjHsSpk.NT.Interfaces]
AddInterface=%KSCATEGORY_AUDIO%,    %KSNAME_RjHeadsetSpk%,  Audio_Device.I.RjHeadsetSpk
AddInterface=%KSCATEGORY_RENDER%,   %KSNAME_RjHeadsetSpk%,  Audio_Device.I.RjHeadsetSpk
AddInterface=%KSCATEGORY_REALTIME%, %KSNAME_RjHeadsetSpk%,  Audio_Device.I.RjHeadsetSpk

; RJ Headphones
[Audio_Child_RjHp.NT.Interfaces]
AddInterface=%KSCATEGORY_AUDIO%,    %KSNAME_RjHeadphone%,  Audio_Device.I.RjHeadphone
AddInterface=%KSCATEGORY_RENDER%,   %KSNAME_RjHeadphone%,  Audio_Device.I.RjHeadphone
AddInterface=%KSCATEGORY_REALTIME%, %KSNAME_RjHeadphone%,  Audio_Device.I.RjHeadphone

; RJ Line In
[Audio_Child_RjLineIn.NT.Interfaces]
AddInterface=%KSCATEGORY_AUDIO%,    %KSNAME_RjLineIn%, Audio_Device.I.RjLineIn
AddInterface=%KSCATEGORY_CAPTURE%,  %KSNAME_RjLineIn%, Audio_Device.I.RjLineIn
AddInterface=%KSCATEGORY_REALTIME%, %KSNAME_RjLineIn%, Audio_Device.I.RjLineIn

; RJ Headset Mic
[Audio_Child_RjHsMic.NT.Interfaces]
AddInterface=%KSCATEGORY_AUDIO%,    %KSNAME_RjHeadsetMic%, Audio_Device.I.RjHeadsetMic
AddInterface=%KSCATEGORY_CAPTURE%,  %KSNAME_RjHeadsetMic%, Audio_Device.I.RjHeadsetMic
AddInterface=%KSCATEGORY_REALTIME%, %KSNAME_RjHeadsetMic%, Audio_Device.I.RjHeadsetMic

; RJ Microphone
[Audio_Child_RjMic.NT.Interfaces]
AddInterface=%KSCATEGORY_AUDIO%,    %KSNAME_RjMicrophone%, Audio_Device.I.RjMicrophone
AddInterface=%KSCATEGORY_CAPTURE%,  %KSNAME_RjMicrophone%, Audio_Device.I.RjMicrophone
AddInterface=%KSCATEGORY_REALTIME%, %KSNAME_RjMicrophone%, Audio_Device.I.RjMicrophone

[Strings]
;
;Non-localizable
;
KSNAME_Speaker="Speaker0"
KSNAME_Microphone="Microphone0"
KSNAME_UajLineOut="UajLineout0"
KSNAME_UajLineIn="UajLineIn0"
KSNAME_UajHeadsetSpk="UajHeadsetSpk0"
KSNAME_UajHeadsetMic="UajHeadsetMic0"
KSNAME_UajHeadphone="UajHeadphone0"
KSNAME_UajMicrophone="UajMicrophone0"
KSNAME_RjLineOut="RjLineout0"
KSNAME_RjLineIn="RjLineIn0"
KSNAME_RjHeadsetSpk="RjHeadsetSpk0"
KSNAME_RjHeadsetMic="RjHeadsetMic0"
KSNAME_RjHeadphone="RjHeadphone0"
KSNAME_RjMicrophone="RjMicrophone0"

SPSVCINST_ASSOCSERVICE = 0x00000002

Proxy.CLSID         = "{17CCA71B-ECD7-11D0-B908-00A0C9223196}"
KSCATEGORY_AUDIO    = "{6994AD04-93EF-11D0-A3CC-00A0C9223196}"
KSCATEGORY_RENDER   = "{65E8773E-8F56-11D0-A3B9-00A0C9223196}"
KSCATEGORY_CAPTURE  = "{65E8773D-8F56-11D0-A3B9-00A0C9223196}"
KSCATEGORY_REALTIME = "{EB115FFC-10C8-4964-831D-6DCB02E6F23F}"

MediaCategories="SYSTEM\CurrentControlSet\Control\MediaCategories"
KSNODETYPE_ANY      = "{00000000-0000-0000-0000-000000000000}"

PKEY_AudioEndpoint_ControlPanelPageProvider  = "{1DA5D803-D492-4EDD-8C23-E0C0FFEE7F0E},1"
PKEY_AudioEndpoint_Association               = "{1DA5D803-D492-4EDD-8C23-E0C0FFEE7F0E},2"
PKEY_AudioEndpoint_Supports_EventDriven_Mode = "{1DA5D803-D492-4EDD-8C23-E0C0FFEE7F0E},7"
PKEY_AudioEndpoint_Default_VolumeInDb        = "{1DA5D803-D492-4EDD-8C23-E0C0FFEE7F0E},9"

AMDKEYWORDDETECTORADAPTER_CLSID2             = "{98E8610E-F5FE-4B82-9E7A-7D727805D66D}"

;
;Localizable
;
ManufacturerName = "AMD"
DiskId1 = "AMD Streaming Audio Driver Installation Disk"
AmdStreamingDevice.DeviceDesc = "AMD SoundWire Audio Streaming Device"
AmdStreamingSpeakerDevice.DeviceDesc = "AMD SoundWire Audio Streaming Speaker Device"
AmdStreamingMicDevice.DeviceDesc = "AMD SoundWire Audio Streaming Microphone Device"

AmdStreamingUajLineOutDevice.DeviceDesc = "AMD SoundWire Audio Streaming UAJ Line Out Device"
AmdStreamingUajHeadsetSpkDevice.DeviceDesc = "AMD SoundWire Audio Streaming UAJ Headset Earphone Device"
AmdStreamingUajHeadphoneDevice.DeviceDesc = "AMD SoundWire Audio Streaming UAJ Headphones Device"
AmdStreamingRjLineOutDevice.DeviceDesc = "AMD SoundWire Audio Streaming RJ Line Out Device"
AmdStreamingRjHeadsetSpkDevice.DeviceDesc = "AMD SoundWire Audio Streaming RJ Headset Earphone Device"
AmdStreamingRjHeadphoneDevice.DeviceDesc = "AMD SoundWire Audio Streaming RJ Headphones Device"

AmdStreamingUajLineInDevice.DeviceDesc = "AMD SoundWire Audio Streaming UAJ Line In Device"
AmdStreamingUajHeadsetMicDevice.DeviceDesc = "AMD SoundWire Audio Streaming UAJ Headset Microphone Device"
AmdStreamingUajMicDevice.DeviceDesc = "AMD SoundWire Audio Streaming UAJ Microphone Device"
AmdStreamingRjLineInDevice.DeviceDesc = "AMD SoundWire Audio Streaming RJ Line In Device"
AmdStreamingRjHeadsetMicDevice.DeviceDesc = "AMD SoundWire Audio Streaming RJ Headset Microphone Device"
AmdStreamingRjMicDevice.DeviceDesc = "AMD SoundWire Audio Streaming RJ Microphone Device"

AmdStreamingLegacyUajSpkDevice.DeviceDesc = "AMD SoundWire Audio Streaming UAJ Speaker Device"
AmdStreamingLegacyUajMicDevice.DeviceDesc = "AMD SoundWire Audio Streaming UAJ Microphone Device"

;; friendly names
Audio_Device.Speaker.szPname="AMD SoundWire Streaming Speaker"
Audio_Device.Microphone.szPname="AMD SoundWire Streaming Microphone"

;; friendly names for Universal Audio Jack
Audio_Device.UajLineOut.szPname="AMD SoundWire Streaming UAJ Line Out"
Audio_Device.UajHeadsetSpk.szPname="AMD SoundWire Streaming UAJ Headset Earphone"
Audio_Device.UajHeadphone.szPname="AMD SoundWire Streaming UAJ Headphones"
Audio_Device.UajLineIn.szPname="AMD SoundWire Streaming UAJ Line In"
Audio_Device.UajHeadsetMic.szPname="AMD SoundWire Streaming UAJ Headset Microphone"
Audio_Device.UajMicrophone.szPname="AMD SoundWire Streaming UAJ Microphone"

;; friendly names for RJ
Audio_Device.RjLineOut.szPname="AMD SoundWire Streaming RJ Line Out"
Audio_Device.RjHeadsetSpk.szPname="AMD SoundWire Streaming RJ Headset Earphone"
Audio_Device.RjHeadphone.szPname="AMD SoundWire Streaming RJ Headphones"
Audio_Device.RjLineIn.szPname="AMD SoundWire Streaming RJ Line In"
Audio_Device.RjHeadsetMic.szPname="AMD SoundWire Streaming RJ Headset Microphone"
Audio_Device.RjMicrophone.szPname="AMD SoundWire Streaming RJ Microphone"