Commit Graph

68 Commits

Author SHA1 Message Date
Huw Davies 25b136d400 ole32: Don't free handles that are just copied in the inproc case.
Based on a patch by Zebediah Figura.

Wine-Bug: https://bugs.winehq.org/show_bug.cgi?id=46270
Signed-off-by: Huw Davies <huw@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2018-12-13 11:48:02 +01:00
Michael Stefaniuc d93954bd93 ole32: Use the ARRAY_SIZE() macro.
Signed-off-by: Michael Stefaniuc <mstefani@winehq.org>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2018-07-17 22:35:50 +02:00
Zebediah Figura 5293cb7183 ole32: Fix conditions in HGLOBAL_User*().
Signed-off-by: Zebediah Figura <z.figura12@gmail.com>
Signed-off-by: Huw Davies <huw@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2018-04-13 14:35:10 +02:00
Huw Davies 718fb9deb3 ole32: Properly align HMETAFILEPICT marshal data.
Signed-off-by: Huw Davies <huw@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2017-12-08 16:45:57 +01:00
Huw Davies 7c166d67b8 ole32: Properly align HENHMETAFILE marshal data.
Signed-off-by: Huw Davies <huw@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2017-12-08 16:45:57 +01:00
Huw Davies eb810fbb56 ole32: Properly align HANDLE marshal data.
Signed-off-by: Huw Davies <huw@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2017-12-08 16:45:57 +01:00
Huw Davies 8c6b8bf4e8 ole32: Properly align CLIPFORMAT marshal data.
Signed-off-by: Huw Davies <huw@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2017-12-08 16:45:57 +01:00
Zebediah Figura d9c9791b50 ole32: Add user marshalling for TYMED_GDI.
Signed-off-by: Zebediah Figura <zfigura@codeweavers.com>
Signed-off-by: Huw Davies <huw@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2017-12-08 16:45:57 +01:00
Zebediah Figura 4c87040f2a ole32: Add local user marshalling for bitmaps.
Signed-off-by: Zebediah Figura <zfigura@codeweavers.com>
Signed-off-by: Huw Davies <huw@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2017-12-08 16:45:56 +01:00
Zebediah Figura 2812086ebf ole32: Add in-process user marshalling for bitmaps.
Signed-off-by: Zebediah Figura <zfigura@codeweavers.com>
Signed-off-by: Huw Davies <huw@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2017-12-08 16:45:56 +01:00
Huw Davies 28b916b26e ole32: Fix ref counting in GetDataHere Proxy.
Signed-off-by: Huw Davies <huw@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2015-10-28 00:58:15 +09:00
Huw Davies ced5800b99 ole32: Correctly release an existing pointer when unmarshalling a NULL-ptr.
However, this should not be done in the case of pUnkForRelease.

Signed-off-by: Huw Davies <huw@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2015-10-28 00:58:15 +09:00
Huw Davies 6aa797e669 ole32: WdtpInterfacePointer_UserUnmarshal() should release an interface if one is passed in.
Signed-off-by: Huw Davies <huw@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2015-10-28 00:58:14 +09:00
Nikolay Sivov 4cef7ad841 ole32: Fix a typo in argument name. 2015-06-17 18:19:55 +09:00
Nikolay Sivov 61368e76e4 ole32: Marshal HBRUSH as remotable handle. 2015-06-16 16:50:35 +09:00
Nikolay Sivov 6d53f071c6 ole32: Marshal HICON as remotable handle. 2015-06-15 22:10:31 +09:00
Nikolay Sivov 815197f28c ole32: Marshal HDC as remotable handle. 2015-06-15 22:10:31 +09:00
Nikolay Sivov bfa23b637e ole32: Fix length of buffer allocated by SNB_UserUnmarshal() (Valgrind). 2015-06-04 15:55:53 +09:00
Nikolay Sivov 10c878a451 ole32: Implemented some proxy/stubs methods. 2015-06-01 14:43:02 +09:00
Nikolay Sivov aa3a234803 ole32: Implement SNB marshalling. 2015-05-15 21:58:06 +09:00
Francois Gouget 7fe0600237 ole32: Remove unneeded NONAMELESSXXX directives. 2015-03-17 14:18:54 +09:00
Michael Stefaniuc 514951cc11 ole32: Return the buffer pointer when WdtpInterfacePointer_UserMarshal fails.
Found by PVS-Studio.
2015-01-19 14:20:50 +01:00
Jacek Caban 4eb769451e ole32: Added IMoniker::BindToStorage proxy/stub implementation. 2012-12-13 18:39:02 +01:00
Nikolay Sivov af5cee1862 ole32: Fix debug output for user marshal flags. 2012-10-15 15:25:28 +02:00
Octavian Voicu 9b1fc0fd74 ole32: Fix a few incorrect pointer/integer casts on 64-bit. 2011-08-31 19:43:08 +02:00
Alexandre Julliard 78d1686b90 ole32: Implement the IAdviseSink call_as proxies and stubs.
Based on a patch by Rob Shearman.
2010-05-25 12:49:19 +02:00
Rob Shearman d1db29e801 ole32: Fix buffer overrun in CLIPFORMAT_UserMarshal.
The string in format is nul-terminated so use memcpy to copy it into
the buffer and don't try to nul-terminate it manually which causes a
write outside of the allocated buffer length.

Fix a similar off-by-one error in CLIPFORMAT_UserUnmarshal too. This
time it is only reading from beyond the buffer.
2009-11-20 16:38:39 +01:00
Alexandre Julliard fb640601ea ole32: Fix some pointer conversion warnings on 64-bit. 2009-05-28 15:24:25 +02:00
Huw Davies 485811cf9c ole32: Explicitly add the three ULONGs from the METAFILEPICT struct to allow for padding in the 64-bit version. 2009-05-22 15:16:29 +02:00
Huw Davies ed09de1e6f ole32: Fix remote HMETAFILEPICT marshalling on 64 bit systems. 2009-05-21 16:17:52 +02:00
Huw Davies c36826705c ole32: Implement TYMED_ISTORAGE marshalling. 2009-05-18 13:27:53 +02:00
Huw Davies 3b15bbfd37 ole32: Implement TYMED_ISTREAM marshalling. 2009-05-18 13:27:49 +02:00
Huw Davies cc68fc4467 ole32: Add support for marshalling pUnkForRelease. 2009-05-18 13:27:37 +02:00
Huw Davies 5b6312f24c ole32: Implement the WdtpInterfacePointer marshal functions. 2009-05-18 13:27:30 +02:00
Huw Davies e4d43c1099 ole32: Add proxies and stubs for FillAppend and FillAt. 2009-05-18 13:24:42 +02:00
Huw Davies 069d57502d ole32: Add proxies and stubs for ReadAt and WriteAt. 2009-05-18 13:24:37 +02:00
Huw Davies 5abb393eb7 ole32: Add proxies and stubs for OpenStream and EnumElements. 2009-05-18 13:24:31 +02:00
Huw Davies aa13c7c522 ole32: Add proxies and stubs for Seek and CopyTo. 2009-05-18 13:24:19 +02:00
Huw Davies e8be59b8f8 ole32: Add proxies and stubs for Read and Write. 2009-05-18 13:24:13 +02:00
Huw Davies 374aacdc9f ole32: Add proxies and stubs for GetData and GetDataHere. 2009-05-18 13:24:00 +02:00
Michael Stefaniuc efbb4ebf3e widl: Output "LONG" instead of "long" for a 32bit integer.
long is always 32bit in IDL files but that's not true in C.
2009-03-13 11:15:21 +01:00
Rob Shearman 2eca96af67 ole32: Fix CLIPFORMAT marshalling on 64-bit platforms by not using the wireCLIPFORMAT type.
The wireCLIPFORMAT represents the memory equivalent format of the wire
format and not the wire format itself.

Also update the tests to do the same.
2009-02-09 13:58:04 +01:00
Michael Karcher 11aef5e0a2 ole32: Add HICON user marshalling stubs. 2009-01-04 13:33:12 +01:00
Huw Davies ed6bcc27fa ole32: Forward the ASYNC_STGMEDIUM user marshallers to the STGMEDIUM quadruple. 2008-11-28 12:53:19 +01:00
Francois Gouget c584c2d12c ole32: Remove __RPC_USER on static functions where not needed. 2008-11-26 12:10:38 +01:00
Huw Davies a26d67b14e ole32: Implement IEnum*_Next marshallers. 2008-10-28 12:14:14 +01:00
Austin English 8301325989 ole32: Implement IEnumFORMATETC_Next_Proxy and IEnumFORMATETC_Next_Stub. 2008-10-27 12:38:24 +01:00
Dan Hipschman 19cccae29d ole32: Add a widl-generated proxy file for oleidl.idl. 2008-09-02 16:03:02 +02:00
Dan Hipschman 44800b6ad4 ole32: Add a widl-generated proxy file for objidl.idl. 2008-09-02 16:02:29 +02:00
Dan Hipschman 4afc326638 ole32: Add widl-generated proxies for unknwn.idl and dcom.idl. 2008-09-02 16:00:33 +02:00