In order to make these changes for 8.1, I've updated to build the APOs with Visual Studio 2013 updated with WDK 8.1, instead of building with WDK 7.1. Without any changes to the code, it builds and runs on Win 7. However, on 8.1 Windows will not load the APO. Even after making the changes for SFX/MFX, they still do not load on 8.1, but load on 7. I've experimented with lots of things, but still cannot get 8.1 to load the APOs. But, if I build with WDK 7.1, they load with no issues on 8.1. Any ideas? Is 8.1 looking for something I'm not supporting when I build with WDK 8.1? Leonard From: wdmaudiodev-bounce@xxxxxxxxxxxxx [mailto:wdmaudiodev-bounce@xxxxxxxxxxxxx] On Behalf Of Matthew van Eerde Sent: Friday, May 9, 2014 3:01 PM To: wdmaudiodev@xxxxxxxxxxxxx Subject: [wdmaudiodev] Re: SFX, MFX, EFX You can have a single .inf + .dll + .sys that work on both Windows 8.1-and-later and Windows 8.0-and-earlier. .inf: Include PKEY_FX_PreMixCLSID and PKEY_FX_PostMixCLSID. Windows 8.0 and before will use these. Also include the correct combination of PKEY_FX_(Stream|Mode|Endpoint)EffectClsId and PKEY_(SFX|MFX|EFX)_ProcessingModes_Supported_For_Streaming. Windows 8.1 and later will use these. APO: Accept both an APOInitSystemEffects and an APOInitSystemEffects2. You can expect to receive only an APOInitSystemEffects on Windows 8.0 and before, and only an APOInitSystemEffects2 on Windows 8.1 and later. Implement IAudioSystemEffects2. You will only ever be QI'd for this on Windows 8.1 and later, and then only when an app queries the list of active audio effects. It is also important to confirm that the .sys you're packaged with supports KSPROPERTY_AUDIOSIGNALPROCESSING_MODES. The inbox drivers were all updated: (hdaudio.sys, usbaudio.sys, btha2dp.sys, bthhfaud.sys.) You can manually stimulate the IAudioSystemEffects2 path by using the HLK test, or by using the "Audio effects discovery" sample from the SDK: http://code.msdn.microsoft.com/windowsapps/Audio-effects-discovery-5fd65c15