[3/5] user32: Resend: Move character conversion logic to dde_server.d & remove todo's

Jeff Latimer lats at yless4u.com.au
Wed Jan 14 01:29:33 CST 2009


For DDEML the conversion of data from or to UNICODE is done at the 
receiving end.  This patch moves the conversion code from dde_client to 
dde_server.  Testing of the permutations of server/client/data is or is 
not UNICODE leads me to believe that either Windows guesses that the 
received data is UNICODE by testing it for UNICODE attributes or there 
is a back door function called.  Hence this patch checks the data and 
accepts the result as to whether the data is UNICODE.

I have tested this a number of ways and I can not see a mechanism that 
DDE can determine whether data passed is UNICODE (pData is of type 
LPBYTE).  In my tests, the case  of the server uses a UNICODE window it 
is immaterial as to the type of window the client uses but is dependent 
on the type of data passed.

---
  dlls/user32/dde_client.c |   68 
+++++++++------------------------------------
  dlls/user32/dde_server.c |   37 ++++++++++++++++++++++++-
  dlls/user32/tests/dde.c  |   18 +-----------
  3 files changed, 51 insertions(+), 72 deletions(-)


-------------- next part --------------
A non-text attachment was scrubbed...
Name: 0873c9aca2bb13869203325fb97f31f86ba0904e.diff
Type: text/x-patch
Size: 7868 bytes
Desc: not available
Url : http://www.winehq.org/pipermail/wine-patches/attachments/20090114/61d32404/attachment.bin 


More information about the wine-patches mailing list