145 Commits

Author SHA1 Message Date
Michael Stefaniuc
08e571cf95 ole32: Avoid casts from the IMultiQI iface to the COM object.
Signed-off-by: Michael Stefaniuc <mstefani@redhat.de>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2016-07-06 16:19:23 +09:00
Andrey Gusev
e6199d6640 ole32: Fix a typo in comment.
Signed-off-by: Andrey Gusev <andrey.goosev@gmail.com>
Signed-off-by: Huw Davies <huw@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2016-05-17 21:02:20 +09:00
Francois Gouget
1ec8fa53db ole32: Fix a typo in a TRACE() message.
Signed-off-by: Francois Gouget <fgouget@free.fr>
Signed-off-by: Huw Davies <huw@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2016-04-26 21:37:36 +09:00
Jacek Caban
9bdb97e694 ole32: Use proper interface pointer in CreateStub call. 2015-08-29 14:28:23 +09:00
Jacek Caban
e5edbc6fa0 ole32: Use proper IUnknown implementation when finding and creating stub manager. 2015-08-29 14:28:22 +09:00
Jacek Caban
60451f9855 ole32: Create interface stub only if it's not already created. 2015-08-29 14:28:22 +09:00
Francois Gouget
25870c1fba ole32: A cosmetic fix for the CoMarshalInterface() trace. 2015-08-29 14:27:39 +09:00
Andrey Gusev
5cdcd4493f Assorted spelling and typos fixes. 2015-08-18 15:00:13 +09:00
Nikolay Sivov
7c5f639cb8 ole32: Initialize returned value for disconnected case too in proxy_manager_get_remunknown() (Coverity). 2015-06-01 14:52:56 +09:00
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