Re: IoRequestDpc results in IRQ_NOT_LESS_



Oh, okay...

why didn't i saw this...
so use a CustomDpc is the right thing.

Thanks a lot !


Alexander Grigoriev wrote:
From DDK docs:

"Callers of IoRequestDpc must be running at DIRQL."

"chi tai" <chi-tai@xxxxxxxxxxxxxxxxx> wrote in message news:d2nfm6$t2v$04$1@xxxxxxxxxxxxxxxxxxxx

Hello,

first, thanks for the last support. It was a great help to me.

I have the following problem.
A call to IoRequestDpc ( deviceObject, NULL, (PVOID) TRUE ) at the end of a routine running at DISPATCH_LEVEL (returning STATUS_MORE_PROCESSING_REQUIRED) cause a bug check with the parameters indicating 0xA: IRQL_NOT_LESS_OR_EQUAL, and a write access ( 0x...1 parameter 3 ).
According the WinDbg and it's documentation, this is a page fault means a write access to a address actually not mapped in the physical memory.


If i don't queue a dpc, the routine ends up as expected.
I also tried to raise the IRQL to a higher level before queueing a dpc, but it behaves the same.


Whithin the routine i only access data that is in nonpaged memory and even if a return statement at the very beginning of the DPC-Routine is set, it results in this bug check.

I need to queue a dpc to commence a process of several actions, so what's the faulty ?
Isn't this the right way ?


Maybe this is an easy exercise for anyone, but i don't know why this bug check appears. Have someone had this problem before ?

Thanks in advance !

Chi-Tai



.



Relevant Pages

  • Re: IoRequestDpc results in IRQ_NOT_LESS_
    ... > If i don't queue a dpc, the routine ends up as expected. ... > results in this bug check. ...
    (microsoft.public.development.device.drivers)
  • IoRequestDpc results in IRQ_NOT_LESS_
    ... If i don't queue a dpc, the routine ends up as expected. ... I also tried to raise the IRQL to a higher level before queueing a dpc, ... Whithin the routine i only access data that is in nonpaged memory and even if a return statement at the very beginning of the DPC-Routine is set, it results in this bug check. ...
    (microsoft.public.development.device.drivers)
  • Re: KeSetEvent in InterruptServiceRotine , cant pass DriverVerifier test
    ... You cannnot use KeSetEvent in an interrupt service routine, ... You will need to queue a DPC ... and the perform the KeSetEvent from the DPC routine. ... > When my device have a interrupt event,then driver's InterrupServiceRotine ...
    (microsoft.public.development.device.drivers)
  • Re: KeSetEvent in InterruptServiceRotine , cant pass DriverVerifier test
    ... > You cannnot use KeSetEvent in an interrupt service routine, ... > routine runs at greater than DISPATCH_LEVEL. ... You will need to queue a DPC ... and the perform the KeSetEvent from the DPC routine. ...
    (microsoft.public.development.device.drivers)
  • Re: Delphi 6 Compiler and Hyper Threading BUG?!
    ... Debugging An Application ... Make sure that what you are observing is, in fact, a bug. ... Assert statements and perhaps one or two ShowMessage calls. ... routine may assume that a particular parameter is not nil. ...
    (alt.comp.lang.borland-delphi)