Hi all,
I want to make a callback from a driver in the context of device.exe to
an application in userland. Actually, that's a lie, I want to do it
differently but I am getting pushback for other reasons.
My scenario is like this:
Application -> registers callback via stream driver IOCTL
Driver -> allocates buffers and handles reading data from device
..
..
Driver -> Data arrives at driver and is put in a buffer in created in
device.exe context.
Driver -> Driver makes callback to userland application with the data
mapped to application user space.
Application -> processes data and returns
Driver -> handles buffer cleanup and continues in device.exe context
The first problem is mapping the data buffer, MapPtrToProcess is
deprecated and MapCallerPtr would not work as it is not a PSL call and I
want to avoid a buffer copy. The best way I could come up with was
ReadProcessMemory, this is a trusted API though so I may have problems
there too.
Next, how do I make a function call in the context of a different
process space? I could use a thread in the application space that simply
waits for an event and do it that way (like an IST) but I am racking my
brains to figure out another way - does anybody have any ideas?
BTW: This is under CE5.0, to be used on WM5.
Geoff
--