Commit Graph

72 Commits

Author SHA1 Message Date
Marcus Meissner 2045ed2299 Added support for VT_I8/VT_UI8 marshalling. 2005-11-04 11:13:55 +00:00
Robert Shearman efe606fddb - Make sure to clean up properly on error.
- Restrict the critical section to getting the channel buffer and
  adding a reference to it.
2005-11-02 20:00:00 +00:00
Robert Shearman 69562b0edf There is no need to call IUnknown_QueryInterface since getting the
correct object is handled by the proxy manager.
2005-10-27 12:08:58 +00:00
Huw Davies 0c6d54631f Treat paramflags == 0 like PARAMFLAG_FIN. 2005-10-26 12:06:49 +00:00
Robert Shearman 5c2a708d51 - Forward IDispatch functions to the MIDL-generated proxy.
- Remove special cases caused by previous marshaling of IDispatch &
  IUnknown that is no longer done.
- Add error messages if an IUnknown or IDispatch method is called when
  it no longer should be.
2005-10-26 10:12:30 +00:00
Pierre d'Herbemont f26e8090c2 Allow compilation on non-i386. 2005-10-19 19:06:49 +00:00
Robert Shearman b3a4b59668 Fix ref-counting rules to match native DCOM Dlls. 2005-09-18 11:10:37 +00:00
Marcus Meissner 6f823db58b VT_PTR->VT_USERDEFINED chains depend on the TKIND of the userdefined
type due to our handling of COM interfaces in there.
2005-09-07 09:23:04 +00:00
Robert Shearman 44d6e39c8b Make typelib marshaler use IRpcChannelBuffer::GetBuffer if possible. 2005-08-29 21:46:51 +00:00
Robert Shearman 4519b1bd1d - Remove redundant QueryInterface in marshal_interface - the object is
always queried later on for the correct interface of the object.
- Make sure to Release the marshaled pointer in the typelib marshaler
  once it is no longer required.
2005-08-24 09:44:41 +00:00
Alexandre Julliard b8d0f4cd10 Get rid of the almost empty tmarshal.h file. 2005-08-09 10:38:54 +00:00
Mike McCormack a04b77ddc2 gcc 4.0 warning fixes. 2005-08-08 18:38:29 +00:00
Robert Shearman 6bfae1a1b7 - IRpcStubBuffer_Disconnect can be called multiple times.
- Release TypeLib when freeing stub buffer.
2005-07-19 20:00:07 +00:00
Robert Shearman d8780c7546 Fix confusion between number of characters and number of bytes in
unmarshaling BSTRs. Convert it all to characters for consistency with
the BSTR_User* routines.
2005-07-19 19:42:50 +00:00
Robert Shearman d2e2e851da Marshal and unmarshal TKIND_ENUM and TKIND_ALIAS. 2005-07-19 19:13:23 +00:00
Mike McCormack fc200d0ca7 Interlocked LONG* gcc warning fixes. 2005-07-11 10:25:19 +00:00
Mike McCormack d7b9a23afd gcc 4.0 -Wpointer-sign fixes (Reg* functions). 2005-07-06 19:08:05 +00:00
Robert Shearman 1329f87d46 - The typelib marshaler should only free the memory it actually allocated.
- Add special cases for two lesser used types that aren't
  sizeof(DWORD) sized.
2005-06-09 09:43:38 +00:00
Dmitry Timoshkov eba47f1dfe Make remaining OLE interface vtables const. 2005-06-06 19:50:35 +00:00
Robert Shearman c6296c418f If we are accessing a method from a superclass then we need to use the
superclass's ITypeInfo otherwise we could get errors when accessing
hreftypes that aren't present in the subclass.
2005-06-01 11:03:40 +00:00
Robert Shearman 5ef4748c7c Use I_RpcGetBuffer instead of HeapReAlloc for getting the Buffer
memory.
2005-05-11 15:56:59 +00:00
Marcus Meissner 41079866f7 Serialize NULL pointer interfaces correctly. 2005-03-29 13:06:44 +00:00
Marcus Meissner 4b5f3c61ad Fixed VT_BSTR|VT_BYREF marshalling.
Added VT_I4|VT_BYREF marshalling.
2005-03-29 11:29:11 +00:00
Marcus Meissner 89feaca290 Fixed ppvObject serializer (deref twice instead of once).
Actually pass back return value of remote call in type marshaller.
2005-03-28 10:00:49 +00:00
Mike Hearn edcbd13665 Fix BSTR tracing in the typelib marshaller. 2005-03-27 18:20:10 +00:00
Marcus Meissner c91df67f11 Format VT_UI1, VT_I1, VT_UI2, VT_I2 correctly. 2005-03-27 18:17:19 +00:00
Marcus Meissner e6260a3625 Added IDispatch::GetIDsOfNames() special case serializing.
Handle VT_PTR / NULL marshalling correctly.
2005-03-27 17:51:59 +00:00
Mike Hearn 9b79651579 Fix PARAMFLAG_FOUT typo in the tmarshaller. 2005-03-25 16:38:37 +00:00
Alexandre Julliard 232760ded0 Authors: Mike Hearn <mh@codeweavers.com>, Robert Shearman <rob@codeweavers.com>
- Implement VT_BYREF | VT_BSTR marshalling.
- Add more integer types for marshaling and unmarshaling.
- Implement VT_BYREF | VT_BSTR unmarshaling.
- Don't allocate memory for TKIND_DISPATCH/TKIND_INTERFACE
  unmarshaling as it will be lost in the success case and interferes
  with the failure case.
2005-03-14 10:09:11 +00:00
Robert Shearman ac23f2c810 Add outer unknown support for typelib marshaler. 2005-03-11 10:18:31 +00:00
Mike Hearn 64eac75fe4 - Change some FIXMEs to ERRs to reflect the fact that nothing needs
fixing.
- Fix some memory leaks on error paths in _marshal_interface.
2005-01-27 11:11:32 +00:00
Mike Hearn 6c093f39a4 Fix a typo, propagate errors better from inside the typelib
marshaller.
2005-01-26 19:42:17 +00:00
James Hawkins ba92d2924a - Use Interlocked* instead of ++/-- in AddRef/Release.
- Use only stored result of Interlocked* in AddRef/Release.
- Expand TRACEs to display the ref count.
2005-01-14 16:02:20 +00:00
Eric Pouech cf1d00bb08 Removed excessive statement (break after return or goto, not useful
break, not needed vars...)
2005-01-09 16:42:53 +00:00
Bill Medland 405abd5b06 Fully initialise the structure to prevent ill-defined behaviour. 2004-12-20 17:05:44 +00:00
Jon Griffiths f82272c92f Remove unneeded headers to reduce unneeded rebuilds. 2004-12-16 14:35:55 +00:00
Robert Shearman 67942791e2 Implement RPC_E_DISCONNECTED in proxies. 2004-12-14 11:44:11 +00:00
Francois Gouget 486d020c1b Don't define COBJMACROS in objbase.h.
Update the Wine sources accordingly.
2004-10-07 03:06:48 +00:00
Marcus Meissner 5539e288a6 Function return types cannot be const. 2004-09-27 20:33:27 +00:00
Alexandre Julliard 241a4c34b1 Get rid of the non-standard ICOM_THIS macro. 2004-09-09 21:03:58 +00:00
Robert Shearman 2a54aac7c5 - Make typelib marshaler thread-safe (problem reported by Aric
Stewart).
- Several small cleanups.
2004-09-07 20:42:26 +00:00
Alexandre Julliard f714b39762 Get rid of the no longer used ICOM_MSVTABLE_COMPAT_DummyRTTIVALUE
macro.
2004-08-23 19:39:48 +00:00
Alexandre Julliard 936198ce45 Moved ICOM_THIS_MULTI definition out of objbase.h and into the files
that use it.
2004-08-13 00:44:22 +00:00
Alexandre Julliard 48c4bb3c31 Get rid of the non-standard ICOM_VTABLE macro. 2004-08-12 23:00:51 +00:00
Mike Hearn 6545d994af Disconnect the server object from the stub on stub destruction. 2004-07-30 18:43:27 +00:00
Mike Hearn 3186bd2300 Make typelib marshaller safe for systems that don't allow executable
code on the heap, plug a leak of the assembly stub block.
2004-06-28 23:51:24 +00:00
Mike Hearn 86cc2d54c7 - Don't ERR on a used connection being destroyed.
- Don't print an extra newline in the olerelay code.
2004-06-23 00:10:29 +00:00
Mike Hearn d440ca4a89 Fix typelib marshaller relaying, add a comment describing what it is,
don't print the ugly L"" parts of Unicode strings in the relay trace.
2004-06-17 23:03:26 +00:00
Robert Shearman bc06d4ba8e - Fix ref count on standard proxy creation.
- Release channel buffer in StdMarshal_UnmarshalInterface, since we no
  longer use it and the proxy should have taken a reference on it.
- Add a few comments.
2004-06-14 17:58:03 +00:00
Ge van Geldorp 399901e054 Rename LARGE_INTEGER and ULARGE_INTEGER members "s" to "u" to conform
with PSDK.
2004-01-23 01:51:33 +00:00