Sebastian Lackner
c23db594aa
ole32: Fix an invalid usage of InterlockedCompareExchange.
2015-03-03 17:13:46 +09:00
Nikolay Sivov
a6944484a4
ole32: Explicitly check for S_OK.
2013-12-05 12:40:55 +01:00
Nikolay Sivov
97ec8b0150
ole32: Use existing code to return IMarshal from CoGetStandardMarshal().
2013-12-05 12:40:55 +01:00
Nikolay Sivov
d52f18da8e
ole32: COM cleanup for StdMarshal.
2013-12-05 12:40:55 +01:00
Dmitry Timoshkov
41d3085522
ole32: Fix an apartment reference count leak on error path.
2013-03-28 17:36:53 +01:00
Nikolay Sivov
90407224d0
ole32: Cleanup IClientSecurity interface of a proxy manager.
2012-10-16 11:37:28 +02:00
Nikolay Sivov
21a04f5621
ole32: Cleanup IMarshal interface of proxy manager.
2012-10-16 11:37:20 +02:00
Nikolay Sivov
ba4b88bc00
ole32: Cleanup IMultiQI interface of proxy manager.
2012-10-15 15:25:36 +02:00
Nikolay Sivov
0b5c0855be
ole32: Store destination context and context data in server channel.
2012-10-15 15:25:34 +02:00
Jacek Caban
153b94b3c5
ole32: Use proper helpers for iface calls.
2012-08-13 16:28:48 +02:00
Alexandre Julliard
54bf38575e
ole32: Get rid of the ICOM_THIS_MULTI macro.
2010-11-11 20:16:59 +01:00
Nikolay Sivov
286c5f8816
ole32/marshal: Compare with S_OK instead of keeping in mind that it's zero.
2010-05-03 15:43:01 +02:00
Rob Shearman
a7b621bd9b
ole32: Fix behaviour of CoLockObjectExternal with fLastUnlockReleases as FALSE.
...
The parameter controls whether weak references are ignored, not
whether the last stub_manager_int_release should be called when the
total reference count goes to zero.
2009-11-24 10:46:06 +01:00
Rob Shearman
0228008bb8
widl: Allow pointers, type-qualifiers and other more complicated constructions in sizeof and cast expressions.
2009-11-09 20:42:57 +01:00
Huw Davies
9b38ffe6c6
ole32: The server principal name can be the constant COLE_DEFAULT_PRINCIPAL.
2009-09-08 13:51:18 +02:00
Alexandre Julliard
c98ce23fd2
ole32: Get rid of line feeds and tabs in traces.
2009-06-09 17:01:14 +02:00
Michael Stefaniuc
efbb4ebf3e
widl: Output "LONG" instead of "long" for a 32bit integer.
...
long is always 32bit in IDL files but that's not true in C.
2009-03-13 11:15:21 +01:00
Michael Stefaniuc
0449701c31
ole32: Remove superfluous pointer casts.
2009-02-11 12:29:56 +01:00
Rob Shearman
8580198dc8
ole32: Keep track of the number of weak references to an object.
...
This is so that an object will only be released when a weak-reference is
used after the last weak reference has been released (either by
CoReleaseMarshalData or CoUnmarshalInterface + Release).
2008-04-29 12:35:26 +02:00
Rob Shearman
461ce6e4a2
ole32: Fix potential NULL dereference of qiresults in ClientIdentity_QueryMultipleInterfaces.
...
This could happen if proxy_manager_get_remunknown returns S_FALSE, so
fix the check of the return code to match that below.
2008-02-13 16:42:42 +01:00
Rob Shearman
31b2d81ea0
ole32: Ignore the threading model of the PSFactoryBuffer object created during standard marshaling.
...
This is so that we don't try to host it.
2007-12-03 11:55:00 +01:00
Rob Shearman
6f917d49c1
ole32: Fix a race in find_proxy_manager.
2007-11-26 12:26:46 +01:00
Rob Shearman
33abd94d35
ole32: Intialise some out parameters in ProxyCliSec_QueryBlanket.
2007-11-15 11:09:22 +01:00
Rob Shearman
dd8a736c3f
ole32: The identity functions can be used from apartments other than the one the proxy was unmarshaled into.
...
In this case, don't use the cached This->remunk and don't cache the
unmarshaled object in This->remunk.
2007-05-22 12:18:55 +02:00
Rob Shearman
bf2b49b4e0
ole32: Make proxy_manager_get_remunknown AddRef the return IRemUnknown object.
...
Fix up the callers to release the returned IRemUnknown object.
2007-05-22 12:18:50 +02:00
Rob Shearman
5369d4dffd
ole32: Handle MSHLFLAGS_TABLEWEAK and MSHLFLAGS_TABLESTRONG when marshaling a proxy.
...
Add tests for this behaviour.
2007-05-22 12:18:31 +02:00
Rob Shearman
d6a435fc56
ole32: Pass the OXID info to RPC_CreateClientChannel and use this to pass the server process ID to channel hooks.
2007-03-28 12:10:40 +02:00
Rob Shearman
d1ec56c871
ole32: Generate OXID_INFO in the stub manager.
...
Copy the OXID_INFO from the stub manager, if available, in
proxy_manager_construct. Otherwise, attempt to resolve it.
Use ipidRemUnknown from OXID_INFO in the proxy manager instead of
magically generating the IPID for RemUnknown.
2007-03-27 12:39:44 +02:00
Rob Shearman
061a29ee44
ole32: Add a stubbed out implementation of IClientSecurity to the proxy manager.
2007-03-27 12:39:25 +02:00
Andrew Talbot
24a197490c
ole32: Replace inline static with static inline.
2007-03-23 12:29:45 +01:00
Rob Shearman
3047ea9e78
ole32: Make an error message more useful by printing the returned error code.
2007-02-20 11:39:18 +01:00
Rob Shearman
cb9c40a8cf
ole32: Add the external references that the server gave to us to any existing ifproxy,
...
so that the right external reference count is released when the proxy is destroyed.
Protect all changes to refs in the ifproxy using interlocked functions
and update the thread-safety documentation.
2007-02-06 21:35:25 +01:00
Rob Shearman
723592cf5a
ole32: Release iobject and the IRpcStubBuffer object no matter which code path we take.
...
Otherwise we would leak a reference for both of these if the ifstub was already created.
Fix the FIXME in the code by releasing the stub manager if necessary.
2007-02-06 21:33:47 +01:00
Rob Shearman
f658adffc2
ole32: Fix the detection of when we need an additional QueryInterface in CoUnmarshalInterface.
2007-01-10 12:22:06 +01:00
Rob Shearman
7730e1408f
ole32: Return an error from CoUnmarshalInterface if pStream is NULL or if ppv is NULL.
2007-01-10 12:15:10 +01:00
Rob Shearman
923bc6bf3d
ole32: Return an error in CoMarshalInterface if pStream is NULL.
2007-01-10 12:14:21 +01:00
Rob Shearman
ba25254d9f
ole32: Remove some unneeded inclusions of headers.
...
Change some incorrect usages of SEEK_SET to the intended STREAM_SEEK_SET
instead.
2007-01-10 12:08:51 +01:00
Huw Davies
8519a6c49e
ole32: Spelling fixes.
2006-11-22 11:39:03 +01:00
Huw Davies
1f34fdffee
ole32: CoGetInterfaceAndReleaseStream shouldn't crash when passed a NULL stream.
2006-11-22 11:38:57 +01:00
Francois Gouget
ef998ea6cb
Assorted spelling fixes.
2006-10-16 11:33:38 +02:00
Michael Stefaniuc
21ff87bf50
ole32: Win64 printf format warning fixes.
2006-10-16 10:53:28 +02:00
Robert Shearman
6455b9e1a0
ole32: Fix CoLockObjectExternal to respect fLastUnlockReleases.
2006-08-03 22:23:13 +02:00
Robert Shearman
2f0e714a27
ole32: When marshaling a proxy make sure to maintain an external
...
reference on the stub object so that the first proxy can be released.
Implement external refcount sharing between a proxy and the marshaled proxy.
Extend the marshaling of a proxy test to show that an external reference
is always kept on the stub object.
2006-06-29 14:40:50 +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
50ec1d6849
ole32: Add on the size of the whole OBJREF structure in the case of custom marshaling.
2006-05-08 15:44:06 +02:00
Robert Shearman
7406cc210b
ole: Implement IRpcChannelBuffer::GetDestCtx on the client side.
2006-03-06 11:09:34 +01:00
Robert Shearman
92a1f52b4d
ole: Store the destination context and the destination context data in
...
the proxy manager when unmarshaling.
2006-03-06 11:08:52 +01:00
Robert Shearman
9a9981bad5
ole: Change NORMALEXTREFS to 5, like it is in native.
2006-03-01 19:54:45 +01:00
Robert Shearman
857a6d1f63
ole: Fix marshaling of proxies for interfaces that haven't already been unmarshaled.
2006-03-01 19:54:20 +01:00