Windows System Software -- Consulting, Training, Development -- Unique Expertise, Guaranteed Results

Before Posting...
Please check out the Community Guidelines in the Announcements and Administration Category.

More Info on Driver Writing and Debugging

The free OSR Learning Library has more than 50 articles on a wide variety of topics about writing and debugging device drivers and Minifilters. From introductory level to advanced. All the articles have been recently reviewed and updated, and are written using the clear and definitive style you've come to expect from OSR over the years.

Check out The OSR Learning Library at:

IDmaChannel CopyFrom/To synchronization

Dejan_MaksimovicDejan_Maksimovic Member - All Emails Posts: 303
via Email in NTDEV
Hi, all.

(This Q is from a perspective of someone not much acquainted with
audio drivers, and is more of a "I wish to know", so do be gentle :))

I saw a sample, based I believe on Microsoft's MSVAD WDK sample
from earlier releases, that accesses its buffers from CopyFrom/To
callbacks, without any synchronization.
And funny enough, I have never been able to find a bit of corruption.

Does it happen that these two would NEVER be called at the same
time, so the driver need not handle synchronization?


  • Tim_RobertsTim_Roberts Member - All Emails Posts: 13,403
    edited October 2019

    The point is that those two are never used in the same device. CopyFrom is called in a capture device, like a fake microphone. CopyTo is called in a rendering device, like a fake speaker. They won't ever share the same buffer.

    If you were to try to turn this into a loopback device, where the speaker output feeds back to the microphone, then obviously you would have to add synchronization.

    Tim Roberts, [email protected]
    Providenza & Boekelheide, Inc.

Sign In or Register to comment.

Howdy, Stranger!

It looks like you're new here. If you want to get involved, click one of these buttons!

Upcoming OSR Seminars
OSR has suspended in-person seminars due to the Covid-19 outbreak. But, don't miss your training! Attend via the internet instead!
Kernel Debugging 30 Mar 2020 OSR Seminar Space
Developing Minifilters 15 Jun 2020 LIVE ONLINE
Writing WDF Drivers 22 June 2020 LIVE ONLINE
Internals & Software Drivers 28 Sept 2020 Dulles, VA