[wdmaudiodev] Re: Accumulated delay in MSVAD based virtual audio driver

  • From: Robert Bielik <robert.bielik@xxxxxxxxxx>
  • To: wdmaudiodev@xxxxxxxxxxxxx
  • Date: Thu, 28 Apr 2011 15:59:01 +0200

Anton Shpakovsky skrev 2011-04-28 15:17:
According to your comments, I guess I'm using the second approach. But unfortunately, I 
do not understand what do "pending IRPs" stand for..

Your situation is perfectly suited to be solved by pending IRPs (there is 
another way, via shared memory between your user application and your driver 
(where you
could store your driver ring buffer pointer), but that's a solution I'm 
hesitant to recommend having tried it myself :)

I guess you'll need to read up on IRPs in general 
(http://msdn.microsoft.com/en-us/library/ms810023.aspx) .

Pending IRPs are a way of sending your driver data (via DeviceIoControl using overlapped mode) whilst 
allowing the driver to let your application know when its "done" with the data (so it can send more 
data). That way you can "pull" data from your application, instead of pushing as you do now. This 
is also called the "inverted call model" (http://www.osronline.com/article.cfm?id=94)

Also, a good place to ask questions that are more driver-general is the ntdev 
list: http://www.osronline.com/showlists.cfm?list=ntdev

Make sure to search the ntdev archives for "inverted call", you'll get a lot of 
interesting info.

Anyway, be prepared for a lot of blue screens during development, which is why 
I'd recommend doing the debugging in a Virtual Machine (f.i. in VirtualBox 
using VirtualKD)

Regards,
/Rob
******************

WDMAUDIODEV addresses:
Post message: mailto:wdmaudiodev@xxxxxxxxxxxxx
Subscribe:    mailto:wdmaudiodev-request@xxxxxxxxxxxxx?subject=subscribe
Unsubscribe:  mailto:wdmaudiodev-request@xxxxxxxxxxxxx?subject=unsubscribe
Moderator:    mailto:wdmaudiodev-moderators@xxxxxxxxxxxxx

URL to WDMAUDIODEV page:
http://www.wdmaudiodev.com/

Other related posts: