Commit Graph

145 Commits

Author SHA1 Message Date
Jacek Caban 4a5eca88aa oleaut32: Use proper helpers for iface calls. 2012-07-27 17:05:27 +02:00
Huw Davies be4d45cacb oleaut32: Zero-init [out] only parameters. 2012-02-17 18:06:48 +01:00
Jeremy White 4f5271a17f oleaut32: When marshalling VT_CARRAY, only marshall by reference for appropriate types. 2012-02-15 11:56:35 +01:00
Octavian Voicu 74a3d9ee5e oleaut32: Add tmarshal test with variant array and fix variant marshalled size calculation. 2011-09-21 18:39:54 +02:00
Octavian Voicu 8177b4793a oleaut32: Fix leak in typelib marshaler when invoking IDispatch methods. 2011-08-26 11:26:56 +02:00
Huw Davies ac5e9812fd oleaut32: Fix the typelib marshaler when the vtbl has holes. 2011-02-24 15:49:27 +01:00
Nikolay Sivov 92dbc57a77 oleaut32: Fix a stream leak on failure. 2011-01-20 12:20:53 +01:00
Vincent Povirk 63f2121d92 oleaut32: Deserialize VT_BOOL as 2 bytes, not 4. 2011-01-18 13:29:56 +01:00
Michael Stefaniuc 80a08012d8 oleaut32: Standardize the COM usage in tmarshal.c. 2010-12-21 15:49:56 +01:00
Michael Stefaniuc f4f05ff9ac oleaut32: Use an iface instead of a vtbl pointer in TMarshalDispatchChannel. 2010-12-05 16:43:50 +01:00
Alexandre Julliard 6682d86e15 oleaut32: Get rid of the ICOM_THIS_MULTI macro. 2010-11-11 20:10:33 +01:00
Dmitry Timoshkov 72da0a2d49 oleaut32: Handle VT_DATE in serialize_param()/deserialize_param(). 2010-10-12 17:37:00 +02:00
Aric Stewart 9a9c075ee9 oleaut32: Do not crash in logging if string is NULL. 2010-01-20 20:06:47 +01:00
Rob Shearman 9cffed2c75 oleaut32: Make BSTR and VARIANT marshalling for typelibs use the user marshalling functions.
Remove now redundant cases in serialize_param and deserialize_param.
2009-11-16 11:39:52 +01:00
Rob Shearman 8bd2d5395d oleaut32: Fix memory leaks in LPSAFEARRAY and VT_CARRAY marshalling. 2009-11-16 11:39:45 +01:00
Rob Shearman b5139f45b3 oleaut32: Zero initialize the stack used on the server side of typelib marshalling.
This is needed to allow for NDR marshalling rules in reusing memory on
the client side.
2009-11-16 11:39:39 +01:00
Jeremy White b8d7088e88 oleaut32: Implement the ability to marshall VT_CARRAY's of user defined types. 2009-10-26 11:19:12 +01:00
Alexandre Julliard ceac768adf oleaut32: Use an assembly wrapper to implement DispCallFunc, and make it i386-only. 2009-10-06 16:12:35 +02:00
Alexandre Julliard 9955350ea1 oleaut32: Add support for registering 64-bit typelibs. 2009-05-21 16:17:19 +02:00
Huw Davies 08a9bf7db8 oleaut32: Don't ask for a name if it's not required. 2009-04-28 14:47:51 +02:00
Michael Stefaniuc a3f8fd71e1 oleaut32: Remove superfluous pointer casts. 2009-02-09 14:37:23 +01:00
Aric Stewart bbf4835568 oleaut32: Implement de/serialize_param of types VT_ARRAY|<type>. 2009-01-30 13:00:27 +01:00
Detlef Riekenberg 410302d898 oleaut32: Remove redundant NULL check before SysFreeString. 2008-09-23 12:12:29 +02:00
Mikołaj Zalewski 5c2fd1b192 oleaut32: VT_USERDEFINED records are passed by value. 2008-09-16 11:31:32 +02:00
Mikołaj Zalewski cc86f6890f oleaut32: Add some missing simple types to _argsize and _xsize. 2008-09-15 13:20:17 +02:00
Mikołaj Zalewski 8b36e71590 oleaut32: Make _argsize and _xsize receive the full TYPEDESC and parent ITypeInfo, use a different function in IDispatch code. 2008-09-15 13:20:10 +02:00
Alexandre Julliard ef07d83405 Include wine/port.h everywhere we use exceptions. 2008-04-29 20:18:49 +02:00
Andrew Talbot 9d16a42210 oleaut32: Assign to structs instead of using memcpy. 2008-03-12 11:59:27 +01:00
Maarten Lankhorst c978bbee87 oleaut32: Handle TKIND_ALIAS properly when passed as pointer. 2008-03-05 11:46:44 +01:00
Rob Shearman 8608e895eb Add a new convenience macro for an exception handler that handles all exceptions.
When using native compiler exceptions, the previous method of doing 
this, __EXCEPT(NULL), would expand to __except( 
(NULL)(GetExceptionInformation())) which doesn't compile as NULL isn't a 
function.

So add a new macro, __EXCEPT_ALL, which works correctly both when using 
native compiler exceptions and without and which makes the meaning of 
code in which it is used clearer.
2008-02-16 14:58:24 +01:00
Rob Shearman 29c06dff20 oleaut32: Fix big memory leak in xCall.
Call IRpcChannelBuffer_FreeBuffer to free the buffer and other resources 
allocated by IRpcChannelBuffer_GetBuffer and IRpcChannelBuffer_SendReceive.
2008-02-04 11:11:04 +01:00
Peter Dons Tychsen 1e1b29f842 oleaut32: Add missing types to serialize/deserialize. 2007-12-31 17:30:21 +01:00
Rob Shearman bc9b5c22fe oleaut32: Fix a reference count leak of the TMarshalDispatchChannel. 2007-12-07 17:06:13 +01:00
Alexandre Julliard 2a2e303dc5 oleaut32: Fixed asm proxys to support more than 128 methods.
Reported by Martin Kochanski.
2007-11-12 13:18:38 +01:00
Andrew Talbot edbcf7c215 oleaut32: Fix some memory leaks. 2007-10-02 11:44:13 +02:00
Andrew Talbot f73821c286 oleaut32: Constify some variables. 2007-07-26 11:49:13 +02:00
Huw Davies c24a53dc28 oleaut32: non-dual dispinterfaces should be marshaled via IDispatch. 2007-05-18 19:59:21 +02:00
Huw Davies f1da672df3 oleaut32: Move the proxy thunk creation code to a separate function. 2007-05-18 19:59:12 +02:00
Andrew Talbot 048a5d6fc5 oleaut32: Exclude unused headers. 2007-05-16 11:55:58 +02:00
Huw Davies c4c5d64ccf oleaut32: Remove useless initialization of an [out] parameter. 2007-04-30 12:19:17 +02:00
Huw Davies 294b3ebba1 oleaut32: Rewrite get_funcdesc to avoid using the funcdesc's oVft member so that it works correctly for non-dual dispinterfaces. 2007-04-26 16:42:26 +02:00
Huw Davies b8a50daec7 oleaut32: Don't try to free the typeinfo if get_funcdesc fails. 2007-04-26 16:42:22 +02:00
Jan Zerebecki 1e176b4739 oleaut32: Add DebugInfo to critical sections. 2007-03-12 13:39:07 +01:00
Huw Davies d5664881e5 oleaut32: Fix a TypeAttr leak. 2007-02-21 19:48:33 +01:00
Rob Shearman 0f45b2badf oleaut32: A value of PARAMFLAG_FNONE for wParamFlags means that the parameter is also marshaled and unmarshaled in the PARAMFLAG_FOUT case. 2007-02-07 21:45:06 +01:00
Rob Shearman 30f2b444c6 oleaut32: Add a wrapper around the channel supplied to the IDispatch proxy
to fixup the IID used to connect to the server and fix somewhat common
"err:rpc:RPCRT4_OpenBinding" messages.
2007-02-06 21:32:11 +01:00
James Hawkins c8eb807639 oleaut32: Initialize nrofnames to keep from freeing unused memory in the error case. 2007-01-16 16:54:14 +01:00
Rob Shearman ecfe54df46 oleaut32: Fix _nroffuncs to return the correct number of functions by taking into account inherited interfaces. 2007-01-02 20:49:01 +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
Rob Shearman 053f69aced oleaut32: Fix a missing ITypeInfo::ReleaseTypeAttr in the typelib marshaling code. 2006-10-23 15:19:13 +02:00