METHOD_OUT_DIRECT and ISR
- From: buzzweetman@xxxxxxxxx
- Date: 15 Dec 2006 09:48:40 -0800
I am updating/writing a driver that collects a large amount of data
(4MB) from an ISA card.
Here is the way I want it to work:
In my Dispatch routine I handle a START_SAMPLING IOCTL, which is
METHOD_OUT_DIRECT.
I read in some settings from the input buffer and store what I need in
my device extension.
It is the output buffer (at Irp->MdlAddress) that I need help with. I
translate this address using
MmGetSystemAddressForMdlSafe(Irp->MdlAddress,NormalPagePriority), as I
should.
But now I need help.
After my dispatch routine finishes, the user mode code will start a
timer on the ISA card, which triggers interrupts to my driver.
I have an ISR that runs once for each interrupt, and reads one data
point each time... which it should append to the buffer.
The interrupts keep occuring until the ISR sees that it has collected
the all the data, and turns off the interrupts.
So what my ISR needs to do is access and write to that output buffer
that was given to the driver back in the dispatch routine? But how?
I gather that in my dispatch routine I need to do something like.. lock
the buffer and/or mark the irp as pending and/or queue the irp, etc.
Then in my ISR I might need to do more of the same.
Can someone tell me what I need to do to use this METHOD_OUT_DIRECT
buffer in my ISR?
Buzz
.
- Follow-Ups:
- Re: METHOD_OUT_DIRECT and ISR
- From: Don Burn
- Re: METHOD_OUT_DIRECT and ISR
- Prev by Date: Re: How to get a drive letter for a virtual device
- Next by Date: Re: METHOD_OUT_DIRECT and ISR
- Previous by thread: METHOD_OUT_DIRECT and ISR
- Next by thread: Re: METHOD_OUT_DIRECT and ISR
- Index(es):
Relevant Pages
|