Re: sending message to the user application from a- device driver?

The best method in my opinion is this: From the application thread call an
IOCTL in the
driver. The driver should put the corresponding IRP to pending and return
STATUS_PENDING.

When the interrupt arrives it should queue a DPC. This DPC then puts the
right return info into
the output buffer and then releases and completes that irp. The application
calling thread then
gets the call returned and can bring back all the information you want to
pass about that interrupt event.

This is in my opinion the most reliable way. If you use an event common
between the application and
the kernel driver there is a significant possibility that when later you
call the IOCTL to get more
information the information may not correspond to the event that woke your
application.

George

George Blat
NT with real time performance
8016 188th SW, Edmonds, WA 98026

phone: 425-775-7475
fax: 781-998-5940
mailto:xxxxx@ntrealtime.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