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