[wdmaudiodev] Re: Virtual Audio Input Driver

  • From: Nick Bauer <synchronizedobject@xxxxxxxxx>
  • To: wdmaudiodev@xxxxxxxxxxxxx
  • Date: Sat, 2 Feb 2019 14:56:36 -0600

To close the loop on this, I ended up building a new Windows 10 VM from
scratch, installing VS 2017, win SDK10 via individual components, and then
install the latest WDK10.  On a clean install like this, the sysvad sample
builds without issue (as it should, as expected).  I am now able to tweak
and play around with the WriteBytes on CMiniportWaveRTStream
Thanks for pointing me to this function.

On Tue, Jan 29, 2019 at 8:44 PM Nick Bauer <synchronizedobject@xxxxxxxxx>
wrote:

Tim-
For this linker error, i have Visual Studio 2017 community 15.9.6, and WDK
10.0.17740.1000
I got it to compile once, without modding the sample code.  the then
famous "something happened" and no longer.  Hate to have to un/reinstall
everything.  Any tips here on how to "reset" the paths and libs would be
great.

I definitely had my eyes set on CMiniportWaveRTStream::WriteBytes.  I
suppose if i can get the dang thing to compile, combined with the other
suggestions on how to strip out some of the garbage, i might have something
feasible to play with.

On Mon, Jan 28, 2019 at 8:06 PM Tim Roberts <timr@xxxxxxxxx> wrote:

Nick Bauer wrote:

Thank you for the response.  The SYSVAD example from MS is definitely
something i've spent several hours mucking around with already.  The
biggest issue i am facing right now is the inability to compile it for
x64.  Please see this:
https://stackoverflow.com/questions/54393271/linker-error-when-compiling-windows-kernel-mode-driver-x64
.. I might just need to reinstall everything and get a clean config setup.
Note: when i remove all of the calls to RtlStringCbPrintfW, it will
compile, but i haven't figured out yet how to replace that call to get
around whatever linker issue i am having. Ideally, i could resolve the
linker issue.

What version of Visual Studio and the WDK are you using?  The two of them
have to be appropriately paired.  You can't use the very latest WDK with an
older Visual Studio; the holes don't line up.

Any advice on how I might proceed is greatly appreciated.

Well, as you dig in, you'll see that the rubber meets the road in
CMiniportWaveRTStream::ReadBytes and CMiniportWaveRTStream::WriteBytes.
Those are the routines that do the actual data transfer, and it's kind of a
shame that it takes 54,000 lines of essentially boilerplate code to support
those two functions.

--
Tim Roberts, timr@xxxxxxxxx
Providenza & Boekelheide, Inc.


Other related posts: