Commit Graph

125 Commits

Author SHA1 Message Date
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
Rob Shearman
d1b15c8ed7 oleaut32: Fix some reference count and memory leaks in the typelib marshaling code. 2006-10-23 15:18:17 +02:00
Rob Shearman
0fa33bb69b oleaut32: Fix memory leaks after calling ITypeInfo::GetNames. 2006-10-23 15:18:08 +02:00
Francois Gouget
1f67fa0acf Add '\n's to Wine traces. 2006-10-20 14:10:34 +02:00
Michael Stefaniuc
15765dd953 The Data1 member of the GUID struct needs to be an unsigned int too for Win64 compatibility. 2006-10-16 10:53:04 +02:00
Hans Leidekker
ce66f5d684 oleaut32: Win64 printf format warning fixes. 2006-10-13 12:08:47 +02:00
Robert Shearman
cc21d23539 oleaut32: Make sure to free the allocated vtable when the tmarshal proxy is released. 2006-09-28 11:56:00 +02:00
Robert Shearman
4d0b1e3d07 oleaut32: Delay the creation of the stub object for IDispatch until it is actually used. 2006-09-07 10:16:55 +02:00
Robert Shearman
a05672e55f oleaut32: Add an exception handler around code executed on the server side from the typelib marshaler. 2006-07-18 11:16:02 +02:00
Alexandre Julliard
cfc6c4891d oleaut32: Make the virtual table functions static where possible. 2006-06-10 11:59:33 +02:00
Robert Shearman
70c34ccc47 oleaut32: We always pass in an IRpcChannelBuffer to IRpcStubBuffer::Invoke now,
so remove the case for it being NULL.
2006-06-09 21:11:32 +02:00
Jonathan Ernst
360a3f9142 Update the address of the Free Software Foundation. 2006-05-23 14:11:13 +02:00
Huw Davies
3dce323d69 oleaut32: Update the marshal state buffer size when resizing (Doh!). 2006-05-15 14:25:59 +02:00
Thomas Weidenmueller
05d629264c oleaut32: Fix converting file name to Unicode.
Fix converting the typelib file name to Unicode by using the correct
buffer size.
2006-05-15 11:06:28 +02:00
Huw Davies
86d9457cdc oleaut32: Support VT_SAFEARRAY in the typelib marshaler.
Based on a patch by Rob Shearman.
2006-05-10 19:23:43 +02:00
Huw Davies
d0bdf685f5 oleaut32: Add a function to grow the marshal state buffer to a specified size. 2006-05-10 19:23:29 +02:00
Robert Shearman
9030ff2c13 oleaut32: Don't try to release NULL COM objects in the typelib
marshaler.
2006-02-14 11:33:03 +01:00
Robert Shearman
b0218db90a oleaut32: Fix circular reference count in Typelib marshaler.
The current method of handling typelib-marshaled interfaces that derive
from IDispatch is to query for an IDispatch pointer from the proxy, but
this causes a circular reference count.
Fix the reference counting by loading using the IRpcProxyBuffer of
IDispatch without an outer unknown, so that the lifetime is controlled
by the typelib-marshaled interface's proxy. The IDispatch proxy now
shares the same channel as the typelib-marshaled interface, so fix up
the stub side to handle this.
2006-02-07 16:26:23 +01:00
Robert Shearman
fd81d9c56e oleaut32: Handle VT_INT in serialize_param and deserialize_param. 2006-02-07 16:26:02 +01:00
Robert Shearman
ec5d73910c oleaut32: Release interfaces when told to.
Make the VT_DISPATCH and VT_UNKNOWN cases of serialize_param match the
TKIND_INTERFACE case below by releasing their respective interfaces as
necessary.
2006-02-07 16:25:42 +01:00
Robert Shearman
799ebfc499 oleaut: Improve the typelib marshaler traces.
Improve the typelib marshaler traces for lazy developers like me who
don't want to grep for constants.
2006-01-27 12:54:03 +01:00