;/*++
;
;Copyright (c) Microsoft Corporation.  All rights reserved.
;
;   THIS CODE AND INFORMATION IS PROVIDED "AS IS" WITHOUT WARRANTY OF ANY
;   KIND, EITHER EXPRESSED OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE
;   IMPLIED WARRANTIES OF MERCHANTABILITY AND/OR FITNESS FOR A PARTICULAR
;   PURPOSE.
;
;Module Name:
;
;    voiceclarityep_audio_component.INF
;
;--*/

[Version]
Signature   = "$WINDOWS NT$"
Class       = AudioProcessingObject
ClassGuid   = {5989fce8-9cd0-467d-8a6a-5419e31529d4}
Provider    = %ProviderName%
DriverVer = 06/16/2026,1.0.4.7057
CatalogFile = voiceclarityep_audio_component.cat
PnpLockDown = 1

[Manufacturer]
%MfgName% = MSVoiceClarityComponentAPO,NTamd64.10.0...26100

[MSVoiceClarityComponentAPO.NTamd64.10.0...26100]
%Apo.ComponentDesc% = MSVoiceClarityComponentAPO_Install, SWC\VEN_MSFT&AUDIO_EFFECTPACK_VOICECLARITY
%Apo.ComponentDesc% = MSVoiceClarityComponentAPO_Install, SWC\VEN_MSFT&AUDIO_EFFECTPACK_VOICECLARITY_V2

[MSVoiceClarityComponentAPO_Install.NTamd64]
AddReg    = MSVoiceClarityComponentAPO_AddReg
CopyFiles = MSVoiceClarityComponentAPO_CopyFiles

[MSVoiceClarityComponentAPO_CopyFiles]
voiceclaritycpuapo.dll

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

[MSVoiceClarityComponentAPO_AddReg]
; VoiceClarity Mode effect APO COM registration
HKR,Classes\CLSID\%VOICECLARITY_EFFECTPACK_FX_MODE_CLSID%,,,%APO_MFX_FriendlyName%
HKR,Classes\CLSID\%VOICECLARITY_EFFECTPACK_FX_MODE_CLSID%\InProcServer32,,%REG_EXPAND_SZ%,%13%\voiceclaritycpuapo.dll
HKR,Classes\CLSID\%VOICECLARITY_EFFECTPACK_FX_MODE_CLSID%\InProcServer32,ThreadingModel,,"Both"

; VoiceClarity Mode effect APO registration
HKR,AudioEngine\AudioProcessingObjects\%VOICECLARITY_EFFECTPACK_FX_MODE_CLSID%,"FriendlyName",,%APO_MFX_FriendlyName%
HKR,AudioEngine\AudioProcessingObjects\%VOICECLARITY_EFFECTPACK_FX_MODE_CLSID%,"Copyright",,%Copyright%
HKR,AudioEngine\AudioProcessingObjects\%VOICECLARITY_EFFECTPACK_FX_MODE_CLSID%,"MajorVersion",%REG_DWORD%,1
HKR,AudioEngine\AudioProcessingObjects\%VOICECLARITY_EFFECTPACK_FX_MODE_CLSID%,"MinorVersion",%REG_DWORD%,1
HKR,AudioEngine\AudioProcessingObjects\%VOICECLARITY_EFFECTPACK_FX_MODE_CLSID%,"Flags", %REG_DWORD%,%APO_FLAG_AEC%
HKR,AudioEngine\AudioProcessingObjects\%VOICECLARITY_EFFECTPACK_FX_MODE_CLSID%,"MinInputConnections",%REG_DWORD%,1
HKR,AudioEngine\AudioProcessingObjects\%VOICECLARITY_EFFECTPACK_FX_MODE_CLSID%,"MaxInputConnections",%REG_DWORD%,1
HKR,AudioEngine\AudioProcessingObjects\%VOICECLARITY_EFFECTPACK_FX_MODE_CLSID%,"MinOutputConnections",%REG_DWORD%,1
HKR,AudioEngine\AudioProcessingObjects\%VOICECLARITY_EFFECTPACK_FX_MODE_CLSID%,"MaxOutputConnections",%REG_DWORD%,1
HKR,AudioEngine\AudioProcessingObjects\%VOICECLARITY_EFFECTPACK_FX_MODE_CLSID%,"MaxInstances",%REG_DWORD%,0xffffffff
HKR,AudioEngine\AudioProcessingObjects\%VOICECLARITY_EFFECTPACK_FX_MODE_CLSID%,"NumAPOInterfaces",%REG_DWORD%,1
HKR,AudioEngine\AudioProcessingObjects\%VOICECLARITY_EFFECTPACK_FX_MODE_CLSID%,"APOInterface0",,"{FD7F2B29-24D0-4B5C-B177-592C39F9CA10}"

; Friendly Name
HKR,,FriendlyName,,%Apo.ComponentDesc%

; Effect pack registration
HKR,EffectPackRegistration\%EFFECT_CLSID%,%PKEY_FX_EffectPackSchema_Version%, ,%PKEY_FX_EffectPack_Schema_Internal_V1%
HKR,EffectPackRegistration\%EFFECT_CLSID%,%PKEY_ItemNameDisplay%, ,%Effect_Pack_FriendlyName%
HKR,EffectPackRegistration\%EFFECT_CLSID%,%PKEY_FX_Author%, ,%Effect_Pack_Author%
HKR,EffectPackRegistration\%EFFECT_CLSID%,%PKEY_FX_MEP_UserInterfaceClsid%,%REG_SZ%,%HSA_COM_CLASS_CLSID%
HKR,EffectPackRegistration\%EFFECT_CLSID%,%PKEY_FX_VersionMajor%, %REG_DWORD%, 1
HKR,EffectPackRegistration\%EFFECT_CLSID%,%PKEY_FX_VersionMinor%, %REG_DWORD%, 2
HKR,EffectPackRegistration\%EFFECT_CLSID%\FxProperties,%PKEY_FX_ApplyToCapture%, %REG_DWORD%, 1
HKR,EffectPackRegistration\%EFFECT_CLSID%\FxProperties,%PKEY_FX_Enumerator%,%REG_MULTI_SZ%,"*"
HKR,EffectPackRegistration\%EFFECT_CLSID%\FxProperties,%PKEY_FX_Association%,%REG_MULTI_SZ%,%KSNODETYPE_MICROPHONE%,%KSNODETYPE_DESKTOP_MICROPHONE%,%KSNODETYPE_PERSONAL_MICROPHONE%,%KSNODETYPE_OMNI_DIRECTIONAL_MICROPHONE%,%KSNODETYPE_MICROPHONE_ARRAY%,%KSNODETYPE_PROCESSING_MICROPHONE_ARRAY%,%KSNODETYPE_HEADSET%,%KSNODETYPE_HFP_SIDEBAND_HEADSET%,%KSNODETYPE_HEADSET_MICROPHONE%,%KSNODETYPE_ECHO_CANCELING_SPEAKERPHONE%,%KSNODETYPE_ECHO_SUPPRESSING_SPEAKERPHONE%, %KSNODETYPE_SPEAKERPHONE_NO_ECHO_REDUCTION%
HKR,EffectPackRegistration\%EFFECT_CLSID%\FxProperties\FX\0\%VOICECLARITY_EFFECTPACK_APO_MFX_CONTEXT%\Default,%PKEY_MFX_VoiceClarity_Effect_State%,%REG_DWORD%,0xffffffff
HKR,EffectPackRegistration\%EFFECT_CLSID%\FxProperties\FX\0\%VOICECLARITY_EFFECTPACK_APO_MFX_CONTEXT%\Default,%PKEY_MFX_VoiceClarity_Default_Effect_Description%,%REG_SZ%,"Reduces background noise to help your voice stand out more clearly by using AI"
HKR,EffectPackRegistration\%EFFECT_CLSID%\FxProperties\FX\0\%VOICECLARITY_EFFECTPACK_APO_MFX_CONTEXT%\User
HKR,EffectPackRegistration\%EFFECT_CLSID%\FxProperties,%PKEY_FX_ModeEffectClsid%,,%VOICECLARITY_EFFECTPACK_FX_MODE_CLSID%
HKR,EffectPackRegistration\%EFFECT_CLSID%\FxProperties,%PKEY_CompositeFX_ModeEffectClsid%,%REG_MULTI_SZ%,%VOICECLARITY_EFFECTPACK_FX_MODE_CLSID%
HKR,EffectPackRegistration\%EFFECT_CLSID%\FxProperties,%PKEY_MFX_ProcessingModes_Supported_For_Streaming%,%REG_MULTI_SZ%,%AUDIO_SIGNALPROCESSINGMODE_DEFAULT%,%AUDIO_SIGNALPROCESSINGMODE_COMMUNICATIONS%,%AUDIO_SIGNALPROCESSINGMODE_SPEECH%,%AUDIO_SIGNALPROCESSINGMODE_RAW%
HKR,EffectPackRegistration\%EFFECT_CLSID%\FxProperties,%PKEY_FX_ExcludeForHWIDs%,%REG_MULTI_SZ%,"ROOT\*","*VirtualAudio*","*Virtual_Audio*","*VirtualDevice*","Camo_e070661c-ac3f-4aae-aa3f-7d4e8ded5142",".ScreamingBAudio",".WOMic","USB_VID_045E&PID_095A&MI_00\AUDIO_AGGREGATOR","USB_VID_045E&PID_0C0C&MI_00\AUDIO_AGGREGATOR"
;HKR,EffectPackRegistration\%EFFECT_CLSID%\FxProperties,%PKEY_FX_ExcludeForHWIDs%,%FLG_ADDREG_DELVAL%

HKR,Classes\CLSID\%HSA_COM_CLASS_CLSID%,,,%HSA_FriendlyName%
HKR,Classes\CLSID\%HSA_COM_CLASS_CLSID%\InProcServer32,,%REG_EXPAND_SZ%,%13%\voiceclaritycpuapo.dll
HKR,Classes\CLSID\%HSA_COM_CLASS_CLSID%\InProcServer32,ThreadingModel,,"Both"
HKR,Classes\CLSID\%HSA_COM_CLASS_CLSID%\Version,,,"1.0"

[SourceDisksNames]
1 = Disk

[SourceDisksFiles]
voiceclaritycpuapo.dll = 1

[DestinationDirs]
MSVoiceClarityComponentAPO_CopyFiles = 13 ; 13=Package's DriverStore directory

[SignatureAttributes]
voiceclaritycpuapo.dll  = SignatureAttributes.PETrust

[SignatureAttributes.PETrust]
PETrust = true

[Strings]
MfgName                     = "Microsoft Corporation"
ProviderName                = "Microsoft Corporation"
Apo.ComponentDesc           = "Voice Clarity"
VoiceClarityDriverStore     = "VoiceClarityDriverStore"

; VoiceClarity EffectPack and APO CLSID
EFFECT_CLSID                            = "{348C62B2-0B77-466D-A7DB-E2AB84498212}"
VOICECLARITY_EFFECTPACK_FX_MODE_CLSID   = "{9E6136E0-57AB-4949-B57A-3627BE142855}"
VOICECLARITY_EFFECTPACK_APO_MFX_CONTEXT = "{EC58D46D-DB28-4FD3-BFC2-051C5A3738FC}"
HSA_COM_CLASS_CLSID                     = "{ABF44FFB-F53B-4BD5-8B5F-30E5F2D78920}"

; see audioenginebaseapo.idl for APO_FLAG enum values
APO_FLAG_AEC                                             = 0x0000000c
APO_MFX_FriendlyName                                     = "Voice Clarity APO"
HSA_FriendlyName                                         = "Voice Clarity Settings manager"
Copyright                                                = "Microsoft"
Effect_Pack_FriendlyName                                 = "Voice Clarity"
Effect_Pack_Author                                       = "Microsoft Corporation"

KSNODETYPE_MICROPHONE                                    = "{DFF21BE1-F70F-11D0-B917-00A0C9223196}"
KSNODETYPE_DESKTOP_MICROPHONE                            = "{DFF21BE2-F70F-11D0-B917-00A0C9223196}"
KSNODETYPE_PERSONAL_MICROPHONE                           = "{DFF21BE3-F70F-11D0-B917-00A0C9223196}"
KSNODETYPE_OMNI_DIRECTIONAL_MICROPHONE                   = "{DFF21BE4-F70F-11D0-B917-00A0C9223196}"
KSNODETYPE_MICROPHONE_ARRAY                              = "{DFF21BE5-F70F-11D0-B917-00A0C9223196}"
KSNODETYPE_PROCESSING_MICROPHONE_ARRAY                   = "{DFF21BE6-F70F-11D0-B917-00A0C9223196}"
KSNODETYPE_HEADSET                                       = "{DFF21DE2-F70F-11D0-B917-00A0C9223196}"
KSNODETYPE_HFP_SIDEBAND_HEADSET                          = "{A79D957D-5CD5-458A-B3F1-AF8E789B1F3B}"
KSNODETYPE_HEADSET_MICROPHONE                            = "{DFF21BE3-F70F-11D0-B917-00A0C9223196}" 
KSNODETYPE_ECHO_CANCELING_SPEAKERPHONE                   = "{DFF21DE5-F70F-11D0-B917-00A0C9223196}"
KSNODETYPE_ECHO_SUPPRESSING_SPEAKERPHONE                 = "{DFF21DE4-F70F-11D0-B917-00A0C9223196}"
KSNODETYPE_SPEAKERPHONE_NO_ECHO_REDUCTION                = "{DFF21DE3-F70F-11D0-B917-00A0C9223196}"

PKEY_ItemNameDisplay	                                 = "{B725F130-47EF-101A-A5F1-02608C9EEBAC},10"
PKEY_AudioEndpoint_Association                           = "{1DA5D803-D492-4EDD-8C23-E0C0FFEE7F0E},2"
PKEY_FX_Association                                      = "{D04E05A6-594B-4fb6-A80D-01AF5EED7D1D},0"
PKEY_FX_Enumerator                                       = "{D04E05A6-594B-4FB6-A80D-01AF5EED7D1D},23"
PKEY_FX_VersionMajor                                     = "{D04E05A6-594B-4FB6-A80D-01AF5EED7D1D},24" 
PKEY_FX_VersionMinor                                     = "{D04E05A6-594B-4FB6-A80D-01AF5EED7D1D},25"
PKEY_FX_Author                                           = "{D04E05A6-594B-4FB6-A80D-01AF5EED7D1D},26"
PKEY_FX_EffectPackSchema_Version                         = "{D04E05A6-594B-4FB6-A80D-01AF5EED7D1D},29"
PKEY_FX_ApplyToCapture                                   = "{D04E05A6-594B-4FB6-A80D-01AF5EED7D1D},33"
PKEY_FX_EffectPack_Schema_Internal_V1                    = "{7abf23d9-727e-4d0b-86a3-dd501d260101}"
PKEY_FX_MEP_UserInterfaceClsid                           = "{54B4320D-B63A-43AC-B1F0-6D26FCC6EDE8},0"
PKEY_FX_ModeEffectClsid                                  = "{D04E05A6-594B-4FB6-A80D-01AF5EED7D1D},6"
PKEY_FX_ExcludeForHWIDs                                  = "{6473F77A-DF09-41C9-B608-2D2420EA634F},2"
PKEY_CompositeFX_ModeEffectClsid                         = "{D04E05A6-594B-4fb6-A80D-01AF5EED7D1D},14"
PKEY_MFX_ProcessingModes_Supported_For_Streaming         = "{D3993A3F-99C2-4402-B5EC-A92A0367664B},6"
PKEY_MFX_VoiceClarity_Default_Effect_Description         = "{C050F28D-E127-4336-8DC5-E65320C09DFE},2"
PKEY_MFX_VoiceClarity_Effect_State                       = "{C050F28D-E127-4336-8DC5-E65320C09DFE},1"
AUDIO_SIGNALPROCESSINGMODE_DEFAULT                       = "{C18E2F7E-933D-4965-B7D1-1EEF228D2AF3}"
AUDIO_SIGNALPROCESSINGMODE_COMMUNICATIONS                = "{98951333-B9CD-48B1-A0A3-FF40682D73F7}"
AUDIO_SIGNALPROCESSINGMODE_SPEECH                        = "{FC1CFC9B-B9D6-4CFA-B5E0-4BB2166878B2}"
AUDIO_SIGNALPROCESSINGMODE_RAW                           = "{9E90EA20-B493-4FD1-A1A8-7E1361A956CF}"

; reg type strings
REG_SZ                      = 0x00000000 ; FLG_ADDREG_TYPE_SZ
REG_MULTI_SZ                = 0x00010000 ; FLG_ADDREG_TYPE_MULTI_SZ
REG_DWORD                   = 0x00010001 ; FLG_ADDREG_TYPE_DWORD
REG_EXPAND_SZ               = 0x00020000 ; FLG_ADDREG_TYPE_EXPAND_SZ
FLG_ADDREG_DELVAL           = 0x00000004
