Yes, it’s OK to register your APO as both an LFX and an SFX.
You can tell whether you were invoked as an LFX or as a GFX by looking at the
payload to IAudioProcessingObject::Initialize; in particular, whether
APOInitBaseStruct.cbSize is sizeof(APOInitSystemEffects) or
sizeof(APOInitSystemEffects2).
From: Culann mac Cabe<mailto:culann@xxxxxxxxxx>
Sent: Thursday, January 24, 2019 12:18 PM
To: wdmaudiodev@xxxxxxxxxxxxx<mailto:wdmaudiodev@xxxxxxxxxxxxx>
Subject: [wdmaudiodev] Registering APO as both LFX and SFX
Hello wdmaudiodev people!
I am developing an APO and, because I need it to be compatible back to Windows
7, I need to register it as an LFX on Win7.
On the other hand, it will mostly be used on Win10 in which case I'd like it to
load/run as an SFX (in order to take advantage of SFX-specific features it can
offer to Apps).
In my Installer .inf I have 2 relevant entries: one which registers my APO as
LFX, and the other as SFX. I am testing on Win10 and I see both (LFX, SFX)
registry keys. I can also see/hear that my APO is functioning fine but I can't
be sure whether on this Win10 machine my APO is running as SFX (as I would
like) ... and so to my compound question:
* Is it ok to have mutliple registrations (eg LFX, SFX) for my APO in a
single .inf
* Should that single .inf work on Win7 thru Win10 and:
* Register my APO as LFX on Win7
* Register my APO as SFX for Win 8.1 and above
* Is there some handy debugger/utility that I can use to tell at runtime
whether my APO is loading as an LFX or SFX?
Thanks!
Culann