[Version]
Signature="$Windows NT$"
Class=AudioProcessingObject
ClassGUID={5989fce8-9cd0-467d-8a6a-5419e31529d4}
Provider=%MSFT%
DriverVer = 05/06/2022,10.0.22621.1
PnPLockdown=1

[Manufacturer]
%MfgName% = MicrosoftApoComponents,NTamd64

[MicrosoftApoComponents.NTamd64]
%Apo.ComponentDesc% = ApoComponent_Install,SWC\VEN_MSFT&CID_PROXYAPO

[ApoComponent_Install]
Include   = wdmaudio.inf
Needs     = WDMAUDIO.CopyFilesOnly
AddReg    = Apo_AddReg, mssysfx.RegisterCapXAPOs

[Apo_AddReg]
; APO registration for state seperation compliance.
HKR,Classes\CLSID\%FX_DISCOVER_EFFECTS_APO_CLSID%,,,%FX_DiscoverEffectsApo_FriendlyName%
HKR,Classes\CLSID\%FX_DISCOVER_EFFECTS_APO_CLSID%\InProcServer32,,0x00020000,%%SystemRoot%%\System32\MsApoFxProxy.dll
HKR,Classes\CLSID\%FX_DISCOVER_EFFECTS_APO_CLSID%\InProcServer32,ThreadingModel,,"Both"

; Discover Effects APO registration
HKR,AudioEngine\AudioProcessingObjects\%FX_DISCOVER_EFFECTS_APO_CLSID%, "FriendlyName", ,%FX_DiscoverEffectsApo_FriendlyName%
HKR,AudioEngine\AudioProcessingObjects\%FX_DISCOVER_EFFECTS_APO_CLSID%, "Copyright", ,%MsCopyRight%
HKR,AudioEngine\AudioProcessingObjects\%FX_DISCOVER_EFFECTS_APO_CLSID%, "MajorVersion", 0x00010001, 1
HKR,AudioEngine\AudioProcessingObjects\%FX_DISCOVER_EFFECTS_APO_CLSID%, "MinorVersion", 0x00010001, 1
HKR,AudioEngine\AudioProcessingObjects\%FX_DISCOVER_EFFECTS_APO_CLSID%, "Flags", 0x00010001, 0x0000000d
HKR,AudioEngine\AudioProcessingObjects\%FX_DISCOVER_EFFECTS_APO_CLSID%, "MinInputConnections", 0x00010001, 1
HKR,AudioEngine\AudioProcessingObjects\%FX_DISCOVER_EFFECTS_APO_CLSID%, "MaxInputConnections", 0x00010001, 1
HKR,AudioEngine\AudioProcessingObjects\%FX_DISCOVER_EFFECTS_APO_CLSID%, "MinOutputConnections", 0x00010001, 1
HKR,AudioEngine\AudioProcessingObjects\%FX_DISCOVER_EFFECTS_APO_CLSID%, "MaxOutputConnections", 0x00010001, 1
HKR,AudioEngine\AudioProcessingObjects\%FX_DISCOVER_EFFECTS_APO_CLSID%, "MaxInstances", 0x00010001, 0xffffffff
HKR,AudioEngine\AudioProcessingObjects\%FX_DISCOVER_EFFECTS_APO_CLSID%, "NumAPOInterfaces", 0x00010001, 1
HKR,AudioEngine\AudioProcessingObjects\%FX_DISCOVER_EFFECTS_APO_CLSID%, "APOInterface0", ,"{FD7F2B29-24D0-4B5C-B177-592C39F9CA10}"

[mssysfx.RegisterCapXAPOs]

; Settings for device relative system effect begins

; adding CAPX LFX COM registrations 

HKR,Classes\CLSID\{C9453E73-8C5C-4463-9984-AF8BAB2F5447},,,%WM_LFX_APO%
HKR,Classes\CLSID\{C9453E73-8C5C-4463-9984-AF8BAB2F5447}\InProcServer32,,0x00020000,%%SystemRoot%%\System32\WMALFXGFXDSP.dll
HKR,Classes\CLSID\{C9453E73-8C5C-4463-9984-AF8BAB2F5447}\InProcServer32,ThreadingModel,,"Both"

; adding CAPX LFX APO registrations 

HKR,AudioEngine\AudioProcessingObjects\{C9453E73-8C5C-4463-9984-AF8BAB2F5447}, "FriendlyName", ,%MsLfxApoFriendlyName%

; Settings for system effect ends

HKR,AudioEngine\AudioProcessingObjects\{C9453E73-8C5C-4463-9984-AF8BAB2F5447}, "Copyright", ,%MsCopyRight%
HKR,AudioEngine\AudioProcessingObjects\{C9453E73-8C5C-4463-9984-AF8BAB2F5447}, "MajorVersion", 0x00010001, 1
HKR,AudioEngine\AudioProcessingObjects\{C9453E73-8C5C-4463-9984-AF8BAB2F5447}, "MinorVersion", 0x00010001, 1
HKR,AudioEngine\AudioProcessingObjects\{C9453E73-8C5C-4463-9984-AF8BAB2F5447}, "Flags", 0x00010001, 0x0000000d
HKR,AudioEngine\AudioProcessingObjects\{C9453E73-8C5C-4463-9984-AF8BAB2F5447}, "MinInputConnections", 0x00010001, 1
HKR,AudioEngine\AudioProcessingObjects\{C9453E73-8C5C-4463-9984-AF8BAB2F5447}, "MaxInputConnections", 0x00010001, 1
HKR,AudioEngine\AudioProcessingObjects\{C9453E73-8C5C-4463-9984-AF8BAB2F5447}, "MinOutputConnections", 0x00010001, 1
HKR,AudioEngine\AudioProcessingObjects\{C9453E73-8C5C-4463-9984-AF8BAB2F5447}, "MaxOutputConnections", 0x00010001, 1
HKR,AudioEngine\AudioProcessingObjects\{C9453E73-8C5C-4463-9984-AF8BAB2F5447}, "MaxInstances", 0x00010001, 0xffffffff
HKR,AudioEngine\AudioProcessingObjects\{C9453E73-8C5C-4463-9984-AF8BAB2F5447}, "NumAPOInterfaces", 0x00010001, 1
HKR,AudioEngine\AudioProcessingObjects\{C9453E73-8C5C-4463-9984-AF8BAB2F5447}, "APOInterface0", ,"{FD7F2B29-24D0-4B5C-B177-592C39F9CA10}"

; adding CAPX GFX COM registrations 
HKR,Classes\CLSID\{13AB3EBD-137E-4903-9D89-60BE8277FD17},,,%WM_GFX_APO%
HKR,Classes\CLSID\{13AB3EBD-137E-4903-9D89-60BE8277FD17}\InProcServer32,,0x00020000,%%SystemRoot%%\System32\WMALFXGFXDSP.dll
HKR,Classes\CLSID\{13AB3EBD-137E-4903-9D89-60BE8277FD17}\InProcServer32,ThreadingModel,,"Both"

; adding CAPX GFX APO registrations 

HKR,AudioEngine\AudioProcessingObjects\{13AB3EBD-137E-4903-9D89-60BE8277FD17}, "FriendlyName", ,%MsGfxApoFriendlyName%
HKR,AudioEngine\AudioProcessingObjects\{13AB3EBD-137E-4903-9D89-60BE8277FD17}, "Copyright", ,%MsCopyRight%
HKR,AudioEngine\AudioProcessingObjects\{13AB3EBD-137E-4903-9D89-60BE8277FD17}, "MajorVersion", 0x00010001, 1
HKR,AudioEngine\AudioProcessingObjects\{13AB3EBD-137E-4903-9D89-60BE8277FD17}, "MinorVersion", 0x00010001, 1
HKR,AudioEngine\AudioProcessingObjects\{13AB3EBD-137E-4903-9D89-60BE8277FD17}, "Flags", 0x00010001, 0x0000000d
HKR,AudioEngine\AudioProcessingObjects\{13AB3EBD-137E-4903-9D89-60BE8277FD17}, "MinInputConnections", 0x00010001, 1
HKR,AudioEngine\AudioProcessingObjects\{13AB3EBD-137E-4903-9D89-60BE8277FD17}, "MaxInputConnections", 0x00010001, 1
HKR,AudioEngine\AudioProcessingObjects\{13AB3EBD-137E-4903-9D89-60BE8277FD17}, "MinOutputConnections", 0x00010001, 1
HKR,AudioEngine\AudioProcessingObjects\{13AB3EBD-137E-4903-9D89-60BE8277FD17}, "MaxOutputConnections", 0x00010001, 1
HKR,AudioEngine\AudioProcessingObjects\{13AB3EBD-137E-4903-9D89-60BE8277FD17}, "MaxInstances", 0x00010001, 0xffffffff
HKR,AudioEngine\AudioProcessingObjects\{13AB3EBD-137E-4903-9D89-60BE8277FD17}, "NumAPOInterfaces", 0x00010001, 1
HKR,AudioEngine\AudioProcessingObjects\{13AB3EBD-137E-4903-9D89-60BE8277FD17}, "APOInterface0", ,"{FD7F2B29-24D0-4B5C-B177-592C39F9CA10}"


[ApoComponent_Install.HW]
AddReg = FriendlyName_AddReg

[FriendlyName_AddReg]
HKR,,FriendlyName,,%Apo.ComponentDesc%

[ApoComponent_Install.Services]
AddService=,2    ; no function driver, install a null driver.

[Strings]
;Non-localizable
MSFT="Microsoft"
MfgName="Microsoft"
MsCopyRight = "Copyright Microsoft"
Apo.ComponentDesc = "MSFT Proxy APO"

WM_LFX_APO = "WM LFX APO"
WM_GFX_APO = "WM GFX APO"
MsLfxApoFriendlyName = "WM audio LFX APO"
MsGfxApoFriendlyName = "WM audio GFX APO"

; Discover effects APO class ID.
FX_DISCOVER_EFFECTS_APO_CLSID  = "{889C03C8-ABAD-4004-BF0A-BC7BB825E166}"

; Audio System Effects Property Store context GUID for the WMA LFX GFX APO
WMALFXGFXAPO_Context = "{B13412EE-07AF-4C57-B08B-E327F8DB085B}"

;Localizable
FX_DiscoverEffectsApo_FriendlyName = "Microsoft Audio Proxy Discover Effects APO"
