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

Home NTDEV

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: https://www.osr.com/osr-learning-library/


Before Posting...

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

RE: [NTDEV] IRQLs in windows ....

Mark_RoddyMark_Roddy Member - All Emails Posts: 4,470
DISPATCH_LEVEL isn't 'slightly higher'. While the numeric values are close
(0 vs 2) the functional difference is equivalent to night vs. day. You
cannot use any function specified in the ddk as PASSIVE_LEVEL or less than
DISPATCH_LEVEL if you are at DISPATCH_LEVEL or greater. For example, some
routines specified this way use pageable code and/or data. A page fault at
DISPATCH_LEVEL is fatal.

If you are boxed in, for example your DPC routine needs to perform
operations that can only be performed at less than DISPATCH_LEVEL, then you
need to hand those operations off to a worker thread running at
PASSIVE_LEVEL.


-----Original Message-----
From: [email protected]
[mailto:[email protected]]On Behalf Of Ajitabh Prakash
Sent: Wednesday, April 19, 2000 1:09 AM
To: NT Developers Interest List
Subject: [ntdev] [NTDEV] IRQLs in windows ....


hi all,
While reviewing a driver code I found that some calls that run at IRQ
PASSIVE LEVEL are being called In routines that run at IRQ DESPATCH_LEVEL.
As far as i know on a X86 pltform DESPATCH_LEVEL > APC_LEVEL>
PASSIVE_LEVEL.
In DDK when i see the description of functions that run at IRQ
PASSIVE_LEVEL it only says that the Caller of these function should be at
IRQ_PASSIVE_LEVEL. Now My Question is

Can the caller of IRQ_PASSIVE_LEVEL Routine should be specifically at
IRQ_PASSIVE_LEVEL OR it can be at any level higher than IRQ_PASSIVE_LEVEL.
(Say DESPATCH_LEVEL)

Thanks
Ajitabh


Ajitabh Prakash
Sr.Software Engineer
Future Software
480/481 Nandnam,Chennai


---
You are currently subscribed to ntdev as: [email protected]
To unsubscribe send a blank email to $subst('Email.Unsub')
Sign In or Register to comment.

Howdy, Stranger!

It looks like you're new here. Sign in or register to get started.

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!
Writing WDF Drivers 24 January 2022 Live, Online
Internals & Software Drivers 7 February 2022 Live, Online
Kernel Debugging 21 March 2022 Live, Online
Developing Minifilters 23 May 2022 Live, Online