ole32: Shortcut the RPC runtime for allocation of the message when processing the COM call by just sending a message to a window in the process. [try 3]

Robert Shearman rob at codeweavers.com
Mon Jan 7 11:14:54 CST 2008


---
  dlls/ole32/rpc.c |   50 +++++++++++++++++++++++++++++++++++++++++++++-----
  1 files changed, 45 insertions(+), 5 deletions(-)

We can't use HeapReAlloc on the server side because the server buffer 
must stay valid until the marshalling and freeing is finished. This 
patch therefore uses a different approach (and more similar to the way 
the RPC runtime works) by saving the original buffer and freeing it 
after the call was executed.

It also changes the handling of the bypass_rpcrt flag slightly so that 
the caller can pass in whether or not to bypass it. Being called from 
the window proc is not enough because we can post a message to the 
window on behalf of the RPC runtime.
-------------- next part --------------
A non-text attachment was scrubbed...
Name: 731ba6f451d0e13a0ed2d2b0538bdd5312ea4fc4.diff
Type: text/x-patch
Size: 5046 bytes
Desc: not available
Url : http://www.winehq.org/pipermail/wine-patches/attachments/20080107/c8a90d21/attachment.bin 


More information about the wine-patches mailing list