hello friends,
I would like to know about kernel objects. Kernel synchronisation objects
such as
KEVENT,
KTHREAD,
KTIMER, etc, basically we create a kernel synch. object, and initialise
like this,
KEVENT event;
KeInitializeEvent(&event, NotificationEvent, FALSE);
then we use,
KeWaitForSingleObject(&event, Executive, KernelMode, FALSE, NULL);
to block the thread till Kernel object to get signalled…
My Question is:-
what is going to signal an event such that the blocked code is released.??
how the “event” Object is associated with the actual event which would turn
the “event” object into a signalled one…?
or Can anybody tell me how the Kernel object works…I tried with so many
resources but couldn’t get a complete picture of it…
thanx,
shiv
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
Each kernel object holds pointers to a list of threads
waiting on it. When a kernel object gets signaled, the
list of thread(s) waiting on it switches to ready
state from sleep state. Once they are in ready state,
it’ll fall in the normal cycle.
Sajeev.
— “Shiva Prasad. T. S.”
wrote: > hello friends,
>
> I would like to know about kernel objects. Kernel
> synchronisation objects
> such as
>
> KEVENT,
> KTHREAD,
> KTIMER, etc, basically we create a kernel synch.
> object, and initialise
> like this,
>
> KEVENT event;
> KeInitializeEvent(&event, NotificationEvent, FALSE);
>
> then we use,
>
> KeWaitForSingleObject(&event, Executive, KernelMode,
> FALSE, NULL);
>
> to block the thread till Kernel object to get
> signalled…
>
> My Question is:-
>
> what is going to signal an event such that the
> blocked code is released.??
>
> how the “event” Object is associated with the actual
> event which would turn
> the “event” object into a signalled one…?
>
> or Can anybody tell me how the Kernel object
> works…I tried with so many
> resources but couldn’t get a complete picture of
> it…
>
> thanx,
>
> shiv
>
>
>
>
>
>
> —
> You are currently subscribed to ntdev as:
> xxxxx@yahoo.com
> To unsubscribe send a blank email to
leave-ntdev-$subst(‘Recip.MemberIDChar’)@lists.osr.com
________________________________________________________________________
Looking for a job? Visit Yahoo! India Careers
Visit http://in.careers.yahoo.com
—
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
> what is going to signal an event such that the blocked code is released.??
how the “event” Object is associated with the actual event which would turn
the “event” object into a signalled one…?
KeSetEvent function is the answer to both.
Max
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