I am developing a Windows Audio Processing Object (APO) to run with the
inbox USB driver for my USB Headphone. I am having problems with Windows 7
which I believe have to do with my driver package files signing, but my
efforts so far have not solved the issue - please help!
Here's the Issue History:
* My APO worked fine on Windows 10 but not on Windows 7. When I set
DisableProtectedAudioDG registry key = 1, my APO loaded on Win 7 no
problem, so my issue seemed clearly associated with the Protected
Environemnt (PE) enforced by Win 7...
* I got my customer to register for WHQL and get the driver package files
signed and tried again - APO still wouldn't load under Win 7
* I added required directives to my .inf:
- re-submitted to WHQL and tried WHQL-signed again - APO still would not
load under Win 7
* I realised that I should regenerate my .cat file because I had changed
the .inf, so I did, resubmitted to WHQL and tried WHQL-signed package files
again - APO still would not load under Win 7
* I had a look at the setup.api.dev logs for the scenario where my APO
would/should load and run and I noticed errors for each of my package files
of the form:
Drp specified for non NT5 Crypto file 'C:\Windows\system32\MY_LIBRARY.dll'.
!!! cpy: Error 186: The flag passed is not correct.
* I verified with SignTool that my modules are correctly signed, including
page hashes and timestamps - all looks ok.
So that's where I'm at and I'm a little lost and unsure what/how to
investigate from here.
My few thoughts:
* I understand my customer should have signed certain legal agreements
with Microsoft in order for the WHQL qualification to assign the necessary
PETrust Attributes to the WHQL digital signature, but I am unfortunately
not in a position to verify whether they have correctly executed this. Is
there any tool/technique that I can use to doible-check that the signatures
include all the Attributes that Windows 7 needs to see?
* Are there any other debug/log tools/techniques that I may use to look at
how Windows Audio Engine sees my APO and why it won't load it?
* Does anything stand out for you experts out there in terms of
likely/simple/stupid mistakes/assumptions I've made?
Thanks in advance