I tried this. This is my implementation:
I have a low level driver. Above that I am running another driver which
builds ‘Asynchronous’ IRP sends down to my first driver. In the top
level driver, when I called IoFreeIrp, it would crash. Anything wrong?
-Chakri
-----Original Message-----
From: Walter Oney [mailto:xxxxx@oneysoft.com]
Sent: Wednesday, October 16, 2002 5:11 AM
To: NT Developers Interest List
Subject: [ntdev] Re: Question about IoBuildDeviceIoControlRequest ;
Please Ignore the first message uncompleted
“Kommuri, Chakradhar” wrote:
Correct. Looks like, the thumb rule is, unless you allocate an Irp,
you don’t free it.
Not exactly. If you build a “synchronous” IRP (by calling
IoBuildSynchronousFsdRequest or IoBuildDeviceIoControlRequest), you (a)
wait for it to finish and (b) allow the system to call IoFreeIrp. If you
build an “asynchronous” IRP (by calling IoBuildAsynchronousFsdRequest or
IoAllocateIrp), you also install a completion routine that calls
IoFreeIrp.
–
Walter Oney, Consulting and Training
Basic and Advanced Driver Programming Seminars
Now teaming with John Hyde for USB Device Engineering Seminars Check out
our schedule at http://www.oneysoft.com
You are currently subscribed to ntdev as: chakradhar.kommuri@hp.com To
unsubscribe send a blank email to %%email.unsub%%