From: Matt Arnold [marnold@motu.com] Sent: Wednesday, December 01, 1999 3:53 PM To: ntdev@atria.com Subject: Re: [ntdev] question about file operation and IRP_MJ_READ From: Jamey Kirby Date: Wednesday, December 01, 1999 3:20 PM >2) Dispatch routines are called at dispatch level (hence the name dispatch >routine). No, the term "dispatch routine" is actually an unfortunate misnomer. Driver dispatch routines have no direct relationship to DISPATCH_LEVEL, either in name or behavior. Dispatch routines are *not*, in fact, referred to as such because they supposedly execute at DISPATCH_LEVEL. They indeed *normally* execute at PASSIVE_LEVEL. Only the lowest-level drivers *might* expect their dispatch routines to execute at DISPATCH_LEVEL. Most drivers can expect that their dispatch routines will only ever be called at PASSIVE_LEVEL -- and this is *certainly* the case when an application issues *any* kind of I/O request to a top-level driver. Anyway, the *real* reason for the name "dispatch routine" is simply that such routines are responsible for "dispatching" incoming requests to the appropriate handling code within a driver. That's it! The confusion with execution at DISPATCH_LEVEL is, as I said, unfortunate. Also, DISPATCH_LEVEL is referred to as such because this is the level that the system "dispatcher" (or scheduler) executes at when deciding which thread to run next. But, again, this concept has no direct relationship with driver dispatch routines. [snip] Regards, Matt Arnold marnold@motu.com Professional Music Products Mark of the Unicorn, Inc. http://www.motu.com - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - [ To unsubscribe, send email to ntdev-request@atria.com with body UNSUBSCRIBE (the subject is ignored). ]