Yes the driver would have to convert the application supplied handle into
the object via ObReferenceObjectByHandle. You need to do this anyhow, as
KeWaitForSingleObject() takes an object pointer, not a handle. Or a cleaner
approach (perhaps) is to do what Jamey Kirby suggests and use named events.
The disadvantage of named events is that you then have to worry about name
collisions and multiple application instances.
-----Original Message-----
From: Berto [mailto:xxxxx@wcscnet.com]
Sent: Wednesday, August 30, 2000 4:11 PM
To: NT Developers Interest List
Subject: [ntdev] RE: How can a driver force a thread to wait for an ev
ent?Isn’t the handle process specific, so can only be signaled in the
process/thread context. I guess I mean, would the driver have to get a
“kernel” specific handle?-----Original Message-----
From: Kiran Mandava [mailto:xxxxx@skystream.com]
Sent: Tuesday, August 29, 2000 6:35 PM
To: NT Developers Interest List
Subject: [ntdev] RE: How can a driver force a thread to wait for an
event?Let the user create the Event and pass the Handle to the Kernel…
and let the User wait on that event and kernel signals it!
rather thans
doing the other way round!>-----Original Message-----
>From: Berto [mailto:xxxxx@wcscnet.com]
>Sent: Tuesday, August 29, 2000 4:29 PM
>To: NT Developers Interest List
>Subject: [ntdev] How can a driver force a thread to wait for
an event?
>
>
>
>
>-----Original Message-----
>From: Berto [mailto:xxxxx@wcscnet.com]
>Sent: Monday, August 28, 2000 12:36 PM
>To: NT Developers Interest List
>Subject: [ntdev] How Do I Get A Kernel driver Signal a thread?
>
>
>I have a driver that acquires data. Currently, the user
>reads/writes from/to
>this driver at will. Some users have requested some sort of
>notification or
>signaling. I want to ty two approches and would like suggestions on
>approches and kernel calls to use. The kernel driver is for
>Windows NT 4.0
>and Windows 2000.
>
>1. I want to create some sort of object in the kernel driver that the
>calling user thread can block on till the data/event occurs.
>2. Alternatively, I would like to have the ability to call a
>user function
>in user mode from the kernel driver.
>3. How would I handle cleanup if the user mode application is aborted
>abuptly?
>
>Thanks for your help.
>
>WCSC(Willies Computer Software Co)
>http://www.wcscnet.com
>Tel: (281)360-4232 Fax: (281)360-3231
>
>
>—
>You are currently subscribed to ntdev as: xxxxx@wcscnet.com
>To unsubscribe send a blank email to $subst(‘Email.Unsub’)
>
>—
>You are currently subscribed to ntdev as: xxxxx@skystream.com
>To unsubscribe send a blank email to $subst(‘Email.Unsub’)
>
You are currently subscribed to ntdev as: xxxxx@wcscnet.com
To unsubscribe send a blank email to $subst(‘Email.Unsub’)
You are currently subscribed to ntdev as: xxxxx@stratus.com
To unsubscribe send a blank email to $subst(‘Email.Unsub’)