144 Commits

Author SHA1 Message Date
Zebediah Figura
904d1688a3 ole32: Use the real proxy IID in ClientRpcChannelBuffer_GetBuffer().
Delegated proxies pass the IID of the parent interface to
NdrProxyGetBuffer(). However, this interface was never registered with ole32
on the server side, so calls to delegated methods will return
RPC_S_UNKNOWN_IF. Therefore we have ole32 ignore the passed-in parameter and
use the real proxy ID.

Wine-Bug: https://bugs.winehq.org/show_bug.cgi?id=45673
Signed-off-by: Zebediah Figura <z.figura12@gmail.com>
Signed-off-by: Huw Davies <huw@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2018-09-17 15:37:41 +02:00
Zebediah Figura
95299607f9 ole32: Allow marshalling objects from an implicit MTA.
Signed-off-by: Zebediah Figura <z.figura12@gmail.com>
Signed-off-by: Huw Davies <huw@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2018-04-10 11:15:13 +02:00
Zebediah Figura
a4cf16db08 ole32: Allow unmarshalling objects into an implicit MTA.
Signed-off-by: Zebediah Figura <z.figura12@gmail.com>
Signed-off-by: Huw Davies <huw@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2018-04-10 11:15:11 +02:00
Zebediah Figura
6af0e50f36 ole32: Always grab a reference to apt in CoGetClassObject().
Signed-off-by: Zebediah Figura <z.figura12@gmail.com>
Signed-off-by: Huw Davies <huw@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2018-04-09 15:39:16 +02:00
Michael Stefaniuc
f38ddaec6f ole32: Use the global HeapAlloc() wrappers.
Signed-off-by: Michael Stefaniuc <mstefani@winehq.org>
Signed-off-by: Huw Davies <huw@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2018-02-02 10:34:36 +01:00
Huw Davies
fef5871e28 ole32: Correctly track the number of inits when auto-joining the MTA.
Signed-off-by: Huw Davies <huw@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2017-11-10 16:41:28 +01:00
Zebediah Figura
a56bc8f93b ole32: Store proxy/stub CLSIDs per process, not per apartment.
Signed-off-by: Zebediah Figura <zfigura@codeweavers.com>
Signed-off-by: Huw Davies <huw@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2017-08-08 20:02:14 +09:00
Huw Davies
20a8f1adf4 ole32: Implement IOleCache_EnumCache().
Signed-off-by: Huw Davies <huw@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2017-05-23 16:29:12 +02:00
Huw Davies
11db49190b ole32: Add a helper to copy FORMATETC structures.
Signed-off-by: Huw Davies <huw@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2017-05-18 13:37:07 +02:00
Jacek Caban
c7e6fe6cdf ole32: Added GlobalOptions object stub implementation.
Signed-off-by: Jacek Caban <jacek@codeweavers.com>
Signed-off-by: Huw Davies <huw@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2017-02-23 13:15:45 +01:00
Francois Gouget
93a8ede0e8 ole32: Add a __WINE_ALLOC_SIZE attribute to heap_alloc().
Signed-off-by: Francois Gouget <fgouget@free.fr>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2017-02-09 11:23:22 +01:00
Huw Davies
327100fef9 ole32: Don't block inside CoDisconnectObject.
This may be called inside a COM call to the object.

Signed-off-by: Huw Davies <huw@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2015-10-14 12:43:17 +09:00
Huw Davies
35571a7254 ole32: Hold a reference to the stub manager throughout an incoming call.
This will enable us to defer deleting the manager until the call has finished.

Signed-off-by: Huw Davies <huw@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2015-10-14 12:43:13 +09:00
Huw Davies
94ee4096ec ole32: Add a stub for OleCreateFromFileEx.
Signed-off-by: Huw Davies <huw@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2015-10-09 19:17:02 +09:00
Jacek Caban
38a9a232f7 ole32: Use get_stub_manager_from_object in CoDisconnectObject. 2015-09-04 19:29:29 +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
Nikolay Sivov
d0bf7f4eaf ole32: Added activation context support for OleRegGetMiscStatus(). 2013-11-11 20:56:20 +01:00
Nikolay Sivov
98f3ecc32a ole32: GIT can be released on process detach only. 2013-08-23 10:41:24 +02:00
Nikolay Sivov
2f21130f2e ole32: Fix standard GIT initialization. 2013-08-20 12:01:35 +02:00
Jacek Caban
a30cc75fe0 ole32: Added IExternalConnection support. 2013-05-23 20:18:16 +02:00
Jacek Caban
889112a29a ole32: Use a separated object to expose local servers instead of marshaling them in CoRegisterClassObject. 2013-05-23 20:03:17 +02:00
Hans Leidekker
a82c49028d ole32: Use wrappers around NT functions to access the registry in CoGetPSClsid. 2012-11-26 16:59:17 +01:00
Nikolay Sivov
0b5c0855be ole32: Store destination context and context data in server channel. 2012-10-15 15:25:34 +02:00
Marcus Meissner
da0f475d4b ole32: Mark two functions as hidden. 2011-10-03 16:10:56 -05:00
Frédéric Delanoy
7e309601f3 dlls: Assorted spelling fixes. 2011-08-03 14:15:50 +02:00
Alexandre Julliard
096bf10f11 ole32: Specify the PSFactoryBuffer class in the idl files. 2011-08-01 17:20:46 +02:00
Marcus Meissner
14c4ef3fdd ole32: Mark internal symbols has hidden visibility. 2011-04-25 13:02:01 +02:00
Alexandre Julliard
54bf38575e ole32: Get rid of the ICOM_THIS_MULTI macro. 2010-11-11 20:16:59 +01:00
Rob Shearman
24cccbf4d1 ole32: Add inproc handler object creation support for CoCreateInstance. 2009-11-24 10:46:12 +01:00
Francois Gouget
3cbeae820d ole32: Make apartment_addref() static. 2009-07-07 11:16:26 +02:00
Hans Leidekker
b9be397024 ole32: Implement CoGetContextToken. 2009-06-23 15:52:37 +02:00
Francois Gouget
872035f1ab ole32: Make stub_manager_int_addref() static. 2009-06-22 13:31:03 +02:00
Huw Davies
b133e94b62 ole32: Register a few more clipboard formats and make them have global scope. 2009-04-23 18:14:27 +02:00
Alexandre Julliard
7b6dd2c9f8 ole32: Get rid of WINE_StringFromCLSID and A->W conversions. 2009-03-12 13:09:52 +01:00
Andrey Turkin
d0a345f914 ole32: Add a few fields to OLE TLS area to match native memory layout. 2009-01-19 14:46:02 +01:00
Andrey Turkin
a06f568a2a ole32: Add CoGetCallContext and CoSwitchCallContext implementations. 2009-01-19 14:44:32 +01:00
Alexandre Julliard
4bb2199c8e ole32: Make a function static. 2008-12-04 12:47:56 +01:00
Alexandre Julliard
16b5e6b9b5 ole32: Register interfaces through dlldata.c as far as possible. 2008-12-02 20:52:09 +01:00
Alexandre Julliard
1bd26cca94 ole32: Use a dlldata.c file instead of maintaining the data manually. 2008-12-01 18:56:15 +01:00
Maarten Lankhorst
92dca953d9 ole32: Add Co*InitializeSpy functions. 2008-11-26 13:44:36 +01:00
Alexandre Julliard
ebdb933b6d ole32: Convert source files to utf-8. 2008-10-18 19:20:29 +02: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
630e273d17 uuid: Add CLSID_InProcFreeMarshaler.
Remove its initialisation from ole32.
2008-03-06 17:43:19 +01:00
Francois Gouget
29ef0b90ee Assorted spelling, punctuation and case fixes. 2008-03-03 12:04:48 +01:00
James Hawkins
7b56757cf6 janitorial: Remove links to any microsoft site. 2008-03-01 12:17:13 +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
d792a522c3 ole32: Remove an incorrect comment. 2007-11-02 12:18:50 +01:00
Andrew Talbot
66b05dde02 ole32: Constify some variables. 2007-06-29 14:30:48 +02:00
Rob Shearman
600143d4fa ole32: Create host apartments to enable isolation of objects of incompatible threading models.
There should be one host apartment per apartment. Existing apartments 
should not be re-used, except in the case of the main apartment.
2007-05-18 14:42:37 +02:00