Hi! The experiment failed. I already tested this last night. We allocate in co_IntDoSendMessage and doing it again made things worse and the system ran out of memory. ATM we are eating a lot of page pool and that is why win32k kicks out before the stack is full, when inside a message recursion. Still need to reposition IntCallWndProc/Ret when calling the client. Thanks, James PS. Good info!
On Fri, Nov 4, 2011 at 12:43 PM, Giannis Adamopoulos giannis.adamopoulos@reactos.org wrote:
Hi there, this document describes how messages are marshaled in win32k: http://mista.nu/blog/2011/02/11/thread-desynchronization-issues-in-windows-m...
imo SendMessage should works fine now. this is how it should work: in case we send the message to the same thread, call hooks, and call the window proc . Calling the window proc requires to pack the parameters. If we send the message to another process we queue the message and when the other process gets the message, it packs it in order to give it to user mode. ie: packing is only needed when we marshal a message from kernel mode to user mode.