[Version]
Signature="$Windows NT$"
Class=AudioProcessingObject
ClassGUID={5989fce8-9cd0-467d-8a6a-5419e31529d4}
Provider=%MSFT%
DriverVer = 05/07/2021,10.0.20348.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

[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}"

; Settings for device relative system effect begins

; adding LFX COM registrations 

HKR,Classes\CLSID\{62dc1a93-ae24-464c-a43e-452f824c4250},,,%WM_LFX_APO%
HKR,Classes\CLSID\{62dc1a93-ae24-464c-a43e-452f824c4250}\InProcServer32,,0x00020000,%%SystemRoot%%\System32\WMALFXGFXDSP.dll
HKR,Classes\CLSID\{62dc1a93-ae24-464c-a43e-452f824c4250}\InProcServer32,ThreadingModel,,"Both"

; adding LFX APO registrations 

HKR,AudioEngine\AudioProcessingObjects\{62dc1a93-ae24-464c-a43e-452f824c4250}, "FriendlyName", ,%MsLfxApoFriendlyName%

; Settings for device relative system effect ends

HKR,AudioEngine\AudioProcessingObjects\{62dc1a93-ae24-464c-a43e-452f824c4250}, "Copyright", ,%MsCopyRight%
HKR,AudioEngine\AudioProcessingObjects\{62dc1a93-ae24-464c-a43e-452f824c4250}, "MajorVersion", 0x00010001, 1
HKR,AudioEngine\AudioProcessingObjects\{62dc1a93-ae24-464c-a43e-452f824c4250}, "MinorVersion", 0x00010001, 1
HKR,AudioEngine\AudioProcessingObjects\{62dc1a93-ae24-464c-a43e-452f824c4250}, "Flags", 0x00010001, 0x0000000d
HKR,AudioEngine\AudioProcessingObjects\{62dc1a93-ae24-464c-a43e-452f824c4250}, "MinInputConnections", 0x00010001, 1
HKR,AudioEngine\AudioProcessingObjects\{62dc1a93-ae24-464c-a43e-452f824c4250}, "MaxInputConnections", 0x00010001, 1
HKR,AudioEngine\AudioProcessingObjects\{62dc1a93-ae24-464c-a43e-452f824c4250}, "MinOutputConnections", 0x00010001, 1
HKR,AudioEngine\AudioProcessingObjects\{62dc1a93-ae24-464c-a43e-452f824c4250}, "MaxOutputConnections", 0x00010001, 1
HKR,AudioEngine\AudioProcessingObjects\{62dc1a93-ae24-464c-a43e-452f824c4250}, "MaxInstances", 0x00010001, 0xffffffff
HKR,AudioEngine\AudioProcessingObjects\{62dc1a93-ae24-464c-a43e-452f824c4250}, "NumAPOInterfaces", 0x00010001, 1
HKR,AudioEngine\AudioProcessingObjects\{62dc1a93-ae24-464c-a43e-452f824c4250}, "APOInterface0", ,"{FD7F2B29-24D0-4B5C-B177-592C39F9CA10}"

; adding GFX COM registrations 
HKR,Classes\CLSID\{637c490d-eee3-4c0a-973f-371958802da2},,,%WM_GFX_APO%
HKR,Classes\CLSID\{637c490d-eee3-4c0a-973f-371958802da2}\InProcServer32,,0x00020000,%%SystemRoot%%\System32\WMALFXGFXDSP.dll
HKR,Classes\CLSID\{637c490d-eee3-4c0a-973f-371958802da2}\InProcServer32,ThreadingModel,,"Both"

; adding GFX APO registrations 

HKR,AudioEngine\AudioProcessingObjects\{637c490d-eee3-4c0a-973f-371958802da2}, "FriendlyName", ,%MsGfxApoFriendlyName%
HKR,AudioEngine\AudioProcessingObjects\{637c490d-eee3-4c0a-973f-371958802da2}, "Copyright", ,%MsCopyRight%
HKR,AudioEngine\AudioProcessingObjects\{637c490d-eee3-4c0a-973f-371958802da2}, "MajorVersion", 0x00010001, 1
HKR,AudioEngine\AudioProcessingObjects\{637c490d-eee3-4c0a-973f-371958802da2}, "MinorVersion", 0x00010001, 1
HKR,AudioEngine\AudioProcessingObjects\{637c490d-eee3-4c0a-973f-371958802da2}, "Flags", 0x00010001, 0x0000000d
HKR,AudioEngine\AudioProcessingObjects\{637c490d-eee3-4c0a-973f-371958802da2}, "MinInputConnections", 0x00010001, 1
HKR,AudioEngine\AudioProcessingObjects\{637c490d-eee3-4c0a-973f-371958802da2}, "MaxInputConnections", 0x00010001, 1
HKR,AudioEngine\AudioProcessingObjects\{637c490d-eee3-4c0a-973f-371958802da2}, "MinOutputConnections", 0x00010001, 1
HKR,AudioEngine\AudioProcessingObjects\{637c490d-eee3-4c0a-973f-371958802da2}, "MaxOutputConnections", 0x00010001, 1
HKR,AudioEngine\AudioProcessingObjects\{637c490d-eee3-4c0a-973f-371958802da2}, "MaxInstances", 0x00010001, 0xffffffff
HKR,AudioEngine\AudioProcessingObjects\{637c490d-eee3-4c0a-973f-371958802da2}, "NumAPOInterfaces", 0x00010001, 1
HKR,AudioEngine\AudioProcessingObjects\{637c490d-eee3-4c0a-973f-371958802da2}, "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}"

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