Hello,
I am working on a driver for a PCMCIA card that needs to keep track of
multiple devices. Because of some of the requirements for the device, I
actually create an array of device objects in the DriverEntry routine, and
don’t delete them until the Unload routine. When the device is first
inserted, everything works fine. However, when I remove the card and
re-insert it, calls to IoAcquireRemoveLock with the IO_REMOVE_LOCK member
of the device extension cause a Bugcheck with the message
“IRQL_NOT_GREATER_OR_EQUAL (9)”. I initialize the lock using
IoInitializeRemoveLock in the AddDevice function, and everything seems to
go fine until I try to acquire it. Although I’m not sure that it matters, I
do call IoReleaseRemoveLockAndWait on the remove lock in my
IRP_MN_REMOVE_DEVICE handler, and it doesn’t block, indicating no one else
has acquired it.
Is there something else that I need to do to be able to reuse this remove
lock?
Thank you,
Curt
You are currently subscribed to ntdev as: $subst(‘Recip.EmailAddr’)
To unsubscribe send a blank email to leave-ntdev-$subst(‘Recip.MemberIDChar’)@lists.osr.com