Commit Graph

59 Commits

Author SHA1 Message Date
Rob Shearman 6d7572c0e7 oleaut32: Unmarshall byref types correctly in IDispatch_Invoke_Proxy.
Byref arguments should only be passed in the rgVarRef array, not in
arg array. Copy the value into the rgVarRef array before calling the
remote function to ensure that memory isn't allocated for the byref
pointers during unmarshalling.
2009-11-18 11:15:27 +01:00
Alexandre Julliard 74c985aad1 oleaut32: Fix safe array marshalling on 64-bit. 2009-07-10 19:13:27 +02:00
Rob Shearman 47ae95ccce oleaut32: Fix the SAFEARRAY marshalling on 64-bit platforms.
The pointers should be written as NDR 4-byte fields instead of a
platform-dependent size.
2009-04-07 14:53:43 +02:00
Marcus Meissner a9c0c247ed oleaut32: IPropertyBag_Read_Proxy return on unknown type (Coverity 892). 2009-04-06 15:35:57 +02:00
Michael Stefaniuc a3f8fd71e1 oleaut32: Remove superfluous pointer casts. 2009-02-09 14:37:23 +01:00
Michael Karcher a16b79cf72 oleaut32: Implement IPropertyBag::Read proxying. 2009-01-04 13:33:46 +01:00
Alexandre Julliard 8d8ff37ca3 oleaut32: Use a dlldata.c file instead of maintaining the data manually. 2008-12-02 10:32:14 +01:00
Alexandre Julliard cb7a0da5db widl: Fix the handling of proxy delegation.
Generate a BaseIIDList for delegated interface, and point directly to
the methods that have been defined in the same file instead of
delegating them.
2008-11-28 12:55:59 +01:00
Michael Stefaniuc f830a12ddb oleaut32: Remove redundant NULL check before SysFreeString (Smatch). 2008-09-25 11:18:59 +02:00
Dan Hipschman 9e6784c2a7 oleaut32: Add a widl-generated proxy file for ocidl.idl. 2008-09-02 18:02:04 +02:00
Rob Shearman 67a213fc1e oleaut32: Try to re-use existing memory when unmarshalling variants with byref types. 2007-12-07 16:34:28 +01:00
Rob Shearman baccba317e oleaut32: Don't call SafeArrayAllocData in LPSAFEARRAY_UserUnmarshal if we called SafeArrayCreateEx instead of SafeArrayAllocDescriptor.
Otherwise, we'll leak memory.
2007-12-07 16:34:23 +01:00
Rob Shearman 6539b3801d oleaut32: Handle non-byref safe arrays in VARIANT_UserFree. 2007-11-12 12:54:04 +01:00
Dan Hipschman 9d7b34c192 oleaut32: Use widl to generate oaidl_p.c. 2007-10-25 13:33:37 +02:00
Dan Hipschman 816f993288 oleaut32: Add stubs for IPropertyBag_Read. 2007-10-24 13:52:16 +02:00
Andrew Talbot 61fde63fce oleaut32: Constify some variables. 2007-08-03 12:38:26 +02:00
Andrew Talbot 582ae3f3c9 oleaut32: Constify some variables. 2007-08-02 12:18:41 +02:00
Huw Davies da98b1cb61 oleaut32: Handle marshaling of VARTYPE-less FADF_VARIANT safearrays. 2007-06-25 11:34:39 +02:00
Huw Davies 3c8534f013 oleaut32: Implement marshaling of VT_BYREF interfaces. 2007-06-25 11:34:33 +02:00
Rob Shearman bb08a58965 oleaut32: Clear the input pvar structure in VARIANT_UserUnmarshal to free the data instead of just initializing. 2007-03-20 12:57:42 +01:00
Huw Davies 2dd3aa6293 oleaut32: Fix marshaling of VARTYPE-less safearrays. 2007-02-05 12:26:14 +01:00
Dmitry Timoshkov 601bf6ea12 oleaut32: Make some data const and static. 2006-11-28 12:36:20 +01:00
Michael Stefaniuc 9d625ad0e4 oleaut32: Fix the warnings introduced by the "unsigned long" to "ULONG" header changes. 2006-11-09 10:43:41 +01:00
Michael Stefaniuc cc234847d0 widl: Use ULONG instead of unsigned long when generating declarations for *_UserFree() functions. This is needed for Win64 compatibility. 2006-11-09 10:43:23 +01:00
Michael Stefaniuc 6f95047034 widl: Use ULONG instead of unsigned long when generating declarations for *_UserUnMarshal() functions. This is needed for Win64 compatibility. 2006-11-09 10:43:20 +01:00
Michael Stefaniuc 05b1aac100 widl: Use ULONG instead of unsigned long when generating declarations for *_UserMarshal() functions. This is needed for Win64 compatibility. 2006-11-09 10:43:16 +01:00
Michael Stefaniuc 177aaf6738 widl: Use ULONG instead of unsigned long when generating declarations for *_UserSize() functions. This is needed for Win64 compatibility. 2006-11-09 10:43:12 +01:00
Hans Leidekker ce66f5d684 oleaut32: Win64 printf format warning fixes. 2006-10-13 12:08:47 +02:00
James Hawkins 99e2c6dff2 janitorial: Remove redundant NULL checks before CoTaskMemFree (found by Smatch). 2006-10-07 17:52:51 +02:00
Alexandre Julliard 707060913c oleaut32: Use the standard DEFINE_OLEGUID macro to define GUIDs. 2006-06-09 21:09:35 +02:00
Jonathan Ernst 360a3f9142 Update the address of the Free Software Foundation. 2006-05-23 14:11:13 +02:00
Huw Davies 40986cd729 oleaut32: Correctly handle the case when the number of bytes in a BSTR is odd. 2006-05-10 19:24:01 +02:00
Huw Davies df40c966a0 oleaut32: Preserve the 'auto' features before copying over the masked unmarshaled ones. 2006-05-08 21:18:32 +02:00
Huw Davies c7bb8bd4fe oleaut32: Implement GetVarDesc_Proxy and friends. 2006-05-08 14:50:42 +02:00
Huw Davies 9235ae2ecd oleaut32: Change CLEANLOCALSTORAGE flag constants to their character
constant equivalents.  It's now obvious why these were chosen.  Should
be a NOP.
2006-05-08 14:50:34 +02:00
Huw Davies 3abd27c624 oleaut32: Fix VARIANT_UserFree. 2006-05-07 10:11:06 +02:00
Huw Davies 696f73a7f5 oleaut32: Rewrite VARIANT user marshaling. 2006-05-07 10:10:30 +02:00
Huw Davies 17ec77f19e oleaut32: Alignment fixes for safearrays. 2006-05-05 21:47:13 +02:00
Huw Davies 2e8a74d520 oleaut32: Fix BSTR marshaling to be wire compatible with Windows. 2006-05-05 21:46:32 +02:00
Huw Davies e783531ec2 oleaut32: Implement GetDocumentation_Proxy/Stub. 2006-05-05 17:04:09 +02:00
Huw Davies 5e69b5d9ff oleaut32: Implement GetFuncDesc_Proxy and friends. 2006-05-05 17:03:52 +02:00
Huw Davies 32a626fdbd oleaut32: Implement GetTypeAttr_Proxy and friends. 2006-05-05 16:56:01 +02:00
Huw Davies 195ae60e97 oleaut32: Implement CLEANLOCALSTORAGE marshalling and fix GetLibAttr to use it.
Based on some documentation by Rob Shearman.
2006-04-19 19:17:49 +02:00
Robert Shearman 50a9c208c6 oleaut32: Fix differences between the size returned in sizing the
buffer for interfaces and the buffer actually used.
2006-04-18 16:49:01 +02:00
Robert Shearman a963fd6285 oleaut32: Initialise BSTR pointer to NULL in VARIANT_UserUnmarshal.
Initialise BSTR pointer to NULL before calling BSTR_UserUnmarshal,
otherwise BSTR_UserUnmarshal will try to use the memory in the
pointer.
2006-04-18 16:48:48 +02:00
Robert Shearman cca69647a3 oleaut32: Fix typo in LPSAFEARRAY_Unmarshal.
Fix typo in LPSAFEARRAY_Unmarshal where the check for the failure of
the SafeArrayCreateEx call was missing a dereference operator (found
by Coverity).
2006-04-07 13:09:23 +02:00
Robert Shearman 385e693e44 ole: Test and implement LPSAFEARRAY marshaling. 2006-01-27 12:54:22 +01:00
Huw Davies 0fb5729693 Deal with pExcepInfo == NULL. 2005-10-31 15:43:53 +00:00
Huw Davies f630f97842 Proxies and stubs for GetTypeInfoCont, GetLibAttr and ReleaseLibAttr. 2005-10-20 11:35:30 +00:00
Huw Davies c0cd7dc6fa Implement GetContainingTypelib_{Proxy,Stub}. 2005-10-18 14:09:58 +00:00