Re: [ntdev]:callback

> Which IRQL does the completion function (for example,
IoSetCompletetion) own? Is it same as the caller function?

Completion routines are called from the same IRQL as the
IoCompleteRequest in the lower driver was called.
For hardware drivers, this is DISPATCH_LEVEL. For intermediates, this is
PASSIVE_LEVEL (usually).

Max