Rob Shearman : ole32: Marshal the ORPCTHIS structure prefixed to the client data when doing ORPC calls .

Alexandre Julliard julliard at wine.codeweavers.com
Wed Dec 20 08:54:57 CST 2006


Module: wine
Branch: master
Commit: 1dc5dec6e6c3ba9a3dd7b2379244c872162a1e35
URL:    http://source.winehq.org/git/wine.git/?a=commit;h=1dc5dec6e6c3ba9a3dd7b2379244c872162a1e35

Author: Rob Shearman <rob at codeweavers.com>
Date:   Tue Dec 19 19:35:35 2006 +0000

ole32: Marshal the ORPCTHIS structure prefixed to the client data when doing ORPC calls.

This is done by putting the ORPCTHIS data into the buffer when calling
IRpcChannelBuffer::GetBuffer on the client side and then storing the
amount we increased the buffer in a structure stored in the Handle
field. This is done to present the correct Buffer pointer to the proxy
so that it writes its data after the ORPCTHIS data.

Unmarshal the data on the server side (during RPC_ExecuteCall) and make 
sure the data is consistent according to NDR rules. Also add several 
checks on the unmarshaled data that are specified by the DCOM draft 
specification.

---

 dlls/ole32/rpc.c |  217 +++++++++++++++++++++++++++++++++++++++++++++++++++++-
 1 files changed, 215 insertions(+), 2 deletions(-)

Diff:   http://source.winehq.org/git/wine.git/?a=commitdiff;h=1dc5dec6e6c3ba9a3dd7b2379244c872162a1e35



More information about the wine-cvs mailing list