Also, sorry about the poor documentation. I can understand the frustration. We'll try to fix that. Regards, Frank Yerrace Microsoft Corporation From: wdmaudiodev-bounce@xxxxxxxxxxxxx [mailto:wdmaudiodev-bounce@xxxxxxxxxxxxx] On Behalf Of Matthew van Eerde Sent: Friday, May 9, 2014 2: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