I have a client who needs to deliver a general-purpose application-neutral AEC solution, which works with their microphones and whatever speakers happen to be installed. We have a very good solution for XP-style drivers using a pair of filter drivers.
For Vista WaveRT devices, we believe the only practical solution is to implement a GFX APO at the speaker end. After a few experiments, I am now convinced this can be implemented. However, this is counter to Microsoft's stated philosophy in several ways. For one thing, Microsoft believes AEC should be implemented in a DMO, under the control of the application. This position is not realistic in today's world; there are just far too many applications in the wild that have no idea what a DMO is. This client wants those applications to have the benefit of AEC, and that is NOT an unreasonable desire. For another thing, we would need to apply this APO to arbitrary WaveRT hardware, not one specific device. That necessarily means a non-INF-based installation.
This raises the question of how to get such an APO signed by WHQL. WHQL ordinarily signs the .cat file, not the individual .sys files. How does the APO signature check work? Does it only care that the APO came from a digitally-signed .cat file? I can create an INF that installs a media class filter with a co-installer that does the real APO installation work, if that's the case. Or does it really want the individual DLL to be WHQL-signed?
-- Tim Roberts, timr@xxxxxxxxx Providenza & Boekelheide, Inc.