Hello all,
I am attempting to add an APO into an existing driver.
Starting point is the SWAPAPO from the SYSVAD example from MSDN. I added lots
of debug into it, which I can see in the debugview tool. At least, when I use
the audio endpoints from the virtual device driver. As far as I can judge, the
MSDN example is working correct on my Windows 10 test machine. Including
showing the expected debug output, especially from the APO APOProcess function.
I want to use the APO in the audio path of other devices, like a RME device
(just as that was available and allows feeding defined audio from another
machine and optical cables between 2 of those devices). For that device, I do
have the original installer, which is an executable. That leaves no real option
to tweak the .inf file.
I was able to kind of reverse engineer that installer. The .inf file is found
in the driver store, other files in other locations. From that I created an
.inf file based installer, which has proven to be able to install the driver
for the RME device.
Then I tweaked the .inf file, to add the registrations needed to patch the
SWAPAPO into the audio path of the audio endpoints of the RME device. This last
step is however not working. I can see in the debug view output that the dll
that belongs to the SWAPAPO is loaded and unloaded upon attempting to play or
record audio from the RME audio endpoints (using Audacity). But there seems to
be no more activity from the SWAPAPO dll.
I am quite confident that the .inf is processed. Upon opening the properties of
the end points from the RME device I can see the added GUI pages from the
SYSVAD example. That part seems to work correct. I also added writing some
totally not relevant registry items. These are written and suggest to me that
the relevant parts of my patched file are processed.
First of all, is it possible in your opinion to tweak an existing driver
package to include an additional APO as described above ?
If yes, how could I investigate this, find the reason for not using the SWAPAPO
?
Is there any tooling to visualize the audio graph, including the use of any
APOs ?
One aspect that may play a role here is the fact that the SYSVAD example
produces a driver that is digitally (test) signed. That seems to work. For my
patched RME installer, there is no more a valid signature. So I use the test
machine in "not driver signature enforcing" mode. I assume that should work. Is
that correct ?
If this procedure of adding an APO into an existing driver is not able to work,
how would achieve this otherwise?
Are there procedures to add APOs into a system without having full control on
the driver sources? Can it be done without even using .inf files?
Kind regards
Rob Koll
________________________________
The information contained in this message may be confidential and legally
protected under applicable law. The message is intended solely for the
addressee(s). If you are not the intended recipient, you are hereby notified
that any use, forwarding, dissemination, or reproduction of this message is
strictly prohibited and may be unlawful. If you are not the intended recipient,
please contact the sender by return e-mail and destroy all copies of the
original message.