52 Commits

Author SHA1 Message Date
Rob Shearman
d3217872b3 ole32: Allow the marshaling/unmarshaling of NULL interfaces for IClassFactory. 2006-12-24 13:07:32 +01:00
Rob Shearman
93dfdf7a3f ole32: Fix some memory leaks in the class factory proxy. 2006-10-27 11:59:40 +02:00
Rob Shearman
7cbafd4f74 ole32: Always call IRpcChannelBuffer_GetBuffer in the class factory stub. 2006-10-27 11:59:34 +02:00
Michael Stefaniuc
21ff87bf50 ole32: Win64 printf format warning fixes. 2006-10-16 10:53:28 +02:00
Robert Shearman
588c782ac8 ole32: Call IRpcChannelBuffer_GetBuffer for the RemRelease case of
Invoke, even though we are requesting a buffer size of 0 as we put
extra data into the buffer in IRpcChannelBuffer_GetBuffer.
2006-08-26 19:37:10 +02:00
Robert Shearman
428c63f586 ole32: Use IRpcChannelBuffer_GetBuffer in the hand-made proxy/stubs
instead of calling I_RpcGetBuffer as IRpcChannelBuffer_GetBuffer does
some extra magic.
2006-08-26 19:37:02 +02:00
Alexandre Julliard
96ad688174 ole32: Don't use sizeof in traces to avoid printf format warnings. 2006-06-13 14:11:15 +02:00
Alexandre Julliard
32f57b0214 ole32: Use the standard DEFINE_OLEGUID macro to define GUIDs. 2006-06-09 21:09:49 +02:00
Jonathan Ernst
360a3f9142 Update the address of the Free Software Foundation. 2006-05-23 14:11:13 +02:00
Robert Shearman
875390110f ole32: Release the proxy buffer object on the last release of the proxy's outer unknown.
Release the proxy buffer object on the last release of the proxy's outer
unknown, otherwise memory is leaked for the Ndr implementation of
IRpcProxyBuffer.

Fix up the hand-coded proxies to match the behaviour from the Ndr
implementation.
2006-05-23 12:05:01 +02:00
Robert Shearman
8a4f71c61e ole32: Add an implementation of class monikers. 2006-05-08 21:13:32 +02:00
Robert Shearman
caefc34084 ole32: Add a class factory for composite monikers. 2006-05-08 15:43:16 +02:00
Robert Shearman
caa8b4ed1d ole32: Support marshaling of anti monikers. 2006-05-08 15:39:10 +02:00
Robert Shearman
b3a4b59668 Fix ref-counting rules to match native DCOM Dlls. 2005-09-18 11:10:37 +00:00
Alexandre Julliard
d37f0abf07 Don't prefix the functions DllCanUnloadNow, DllGetClassObject and
Dll(Un)RegisterServer with the dll name so that the compiler can check
the prototypes.
2005-08-08 17:35:28 +00:00
Robert Shearman
5d873adf9f Marshal return value from IRemUnknown_RemQueryInterface. 2005-07-19 19:43:05 +00:00
Robert Shearman
97be0be7e4 - We should be starting with 1 reference.
- IRpcStubBuffer_Disconnect can be called more than once.
2005-07-19 19:13:11 +00:00
Mike McCormack
c7fdb4565a Fix gcc 4.0 -Wpointer-sign warnings. 2005-07-05 11:02:54 +00:00
Dmitry Timoshkov
eba47f1dfe Make remaining OLE interface vtables const. 2005-06-06 19:50:35 +00:00
Mike Hearn
e3f990467c Add some tracing to the IRemUnknown RpcProxyBuffer implementation. 2005-06-05 18:13:47 +00:00
Robert Shearman
34d3049360 - Add a generic moniker marshaler that works by saving & loading
monikers to & from the stream.
- Use the generic moniker marshal in the file & item monikers and add
  a class factory for each.
2005-05-19 14:22:14 +00:00
Francois Gouget
93416cdaf7 Assorted spelling fixes. 2005-03-23 13:15:18 +00:00
Robert Shearman
2d2a39cc42 - Use I_RpcGetBuffer, instead of our own buffer routines to fix an
occasional test crash caused by heap corruption.
- Zero the memory block passed to RpcServerRegisterIfEx so we don't
  pass garbage in some of the fields we don't fill in.
- Return the correct error code from create_server and fix two handle
  leaks.
- TODO update.
2005-02-15 21:48:09 +00:00
Robert Shearman
3018974ce3 - Make proxy manager use IMultiQI instead of IInternalUnknown as tests
show that IInternalUnknown isn't exposed.
- Implement IMultiQI on top of IRemUnknown calls.
- Silence some fixmes that occur during tests and don't give us any
  useful information.
- Fix typo in class factory proxy that caused us to use the wrong
  offset into the CFProxy structure, causing us to not call the
  outer_unknown properly.
2005-01-26 21:07:05 +00:00
Robert Shearman
cbbf08a7e2 - Use InterlockedIncrement for the ipid counter instead of a critical
section (suggested by Mike Hearn).
- Remove a line added by a bad merge.
- Implement RemUnkStub_Disconnect.
- Remove all of the RPC disconnect code.
2005-01-26 20:53:06 +00:00
Robert Shearman
6e042873d5 Proxies/stubs for IRemUnknown methods, based on code written by Ove
Kåven.
2005-01-25 19:02:54 +00:00
Robert Shearman
6a20b2f476 - Initialize ppv pointer in ClientIdentity_QueryInterface to NULL as
apps depend on this.
- Don't release IRpcProxyBuffer on ifproxy destruction - the caller
  will do this for us.
- Make find_proxy_manager add a reference to the proxy manager and
  make proxy_manager_construct return an object with a valid
  ref-count.
- Remove stray not operator to fix a memory leak / crash in
  proxy_manager_destroy.
- More debug messages, especially on errors.
- Fix ref-count leak in the Class Factory proxy.
- Add a test case for IClassFactory_CreateInstance.
2005-01-19 17:00:20 +00:00
Robert Shearman
b5e4d1a8d8 The channel buffer can be NULL if the proxy is disconnected, so check
for this before releasing it.
2005-01-05 17:30:20 +00:00
Robert Shearman
dee74a6ec9 Make the ClassFactory proxy support aggregation. 2005-01-04 11:47:52 +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
Joris Huizer
34cffce6f9 Ref count increment/decrement cleanup. 2004-09-24 01:16:53 +00:00
Alexandre Julliard
241a4c34b1 Get rid of the non-standard ICOM_THIS macro. 2004-09-09 21:03:58 +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
48c4bb3c31 Get rid of the non-standard ICOM_VTABLE macro. 2004-08-12 23:00:51 +00:00
Jeroen Janssen
cead7c0e81 Updated some MSDN links in the code. 2004-07-30 00:03:02 +00:00
Robert Shearman
2e93adc5c7 - Remove unneeded STUBMGR_Start call.
- Cleanup compobj_private.h.
2004-07-22 23:44:54 +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
Marcus Meissner
e3a37c8a26 Revert broken strict aliasing fix. 2004-05-21 20:52:57 +00:00
Marcus Meissner
ff39b877a4 Fixed strict aliasing issues in dlls/ole32. 2004-05-04 03:10:50 +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
Oleg Prokhorov
de12a97041 Another portion of HeapReAlloc fixes. 2003-10-14 05:24:20 +00:00
Dave Miller
47fb938d54 Removed ordinals from comments. 2003-09-11 03:06:25 +00:00
Alexandre Julliard
20c169e0a4 Fixed a few more headers dependency issues. 2003-09-09 19:39:31 +00:00
Alexandre Julliard
e37c6e18d0 Fixed header dependencies to be fully compatible with the Windows
headers (with help from Dimitrie O. Paun).
2003-09-05 23:08:26 +00:00
Mike Hearn
739ccae798 Implement a class factory for the Global Interface Table. 2003-06-17 03:57:18 +00:00
Francois Gouget
f803e2a92d Fix miscellaneous spelling errors and typos. 2003-05-13 00:41:57 +00:00
Dimitrie O. Paun
297f3d898d Define NONAMELESS{STRUCT,UNION} explicitly in the files that need them. 2003-01-07 20:36:20 +00:00
Alexandre Julliard
87fa2d586d Fixed a few problems caused by the new objidl.idl. 2002-12-19 22:16:35 +00:00
Marcus Meissner
fd625ddb0b Added marshalling of IUnknown. 2002-06-04 22:14:06 +00:00
Vincent Béron
9a62491660 Removed trailing whitespace. 2002-05-31 23:06:46 +00:00