[wdmaudiodev] Re: Specifying KSPIN_FLAG_DISPATCH_LEVEL_PROCESSING on audio render pin

  • From: Jeff Claar <JClaar@xxxxxxxxxxx>
  • To: "wdmaudiodev@xxxxxxxxxxxxx" <wdmaudiodev@xxxxxxxxxxxxx>
  • Date: Mon, 5 Dec 2011 17:58:50 -0800

I ran into this once too...in the docs for AvStrMiniPinProcess, it states this:

"The process dispatch is either made at the default IRQL = PASSIVE_LEVEL, or 
possibly at DISPATCH_LEVEL if the minidriver has specified 
KSPIN_FLAG_DISPATCH_LEVEL_PROCESSING in the relevant 
KSPIN_DESCRIPTOR_EX<http://technet.microsoft.com/es-es/query/ff563534>."

So, I finally concluded that KSPIN_FLAG_DISPATCH_LEVEL_PROCESSING does not mean 
that the processing WILL happen at DISPATCH_LEVEL, just that it may. If you 
don't specify the flag, you're guaranteed that the processing will occur at 
PASSIVE_LEVEL.

Jeff



From: wdmaudiodev-bounce@xxxxxxxxxxxxx 
[mailto:wdmaudiodev-bounce@xxxxxxxxxxxxx] On Behalf Of Mike Horgan
Sent: Monday, December 05, 2011 10:12 AM
To: wdmaudiodev@xxxxxxxxxxxxx
Subject: [wdmaudiodev] Specifying KSPIN_FLAG_DISPATCH_LEVEL_PROCESSING on audio 
render pin

I am specifying this flag as one of many in the pin descriptor 
(KSPIN_DESCRIPTOR_EX) for an audio render pin.  On invocations of my pin's 
Process() method, I call KeGetCurrentIrql() which returns PASSIVE_LEVEL (value 
of "0") which seems contrary to what the flag should've done.

Other related posts: