Commit Graph

415 Commits

Author SHA1 Message Date
Nikolay Sivov 90a6c9bd53 ole32: Fix CoGetApartmentType() return value for implicit MTA case.
Signed-off-by: Nikolay Sivov <nsivov@codeweavers.com>
Signed-off-by: Huw Davies <huw@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2020-02-16 20:46:17 +01:00
Nikolay Sivov 03a7c25abe ole32: Implement MTA pinning with CoIncrementMTAUsage()/CoDecrementMTAUsage().
Signed-off-by: Nikolay Sivov <nsivov@codeweavers.com>
Signed-off-by: Huw Davies <huw@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2020-02-13 16:44:24 +01:00
Andrey Gusev b26f9d1996 ole32: Fix typos in comments.
Signed-off-by: Andrey Gusev <andrey.goosev@gmail.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2019-12-12 23:17:06 +01:00
Nikolay Sivov c79b9bb46f ole32: Reimplement CoGetCurrentProcess() to use global counter from rpcss.
Signed-off-by: Nikolay Sivov <nsivov@codeweavers.com>
Signed-off-by: Huw Davies <huw@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2019-11-08 10:29:06 +01:00
Nikolay Sivov 32088c0c09 ole32: Use interface redirection section too when looking for modules in CoGetClassObject().
Signed-off-by: Nikolay Sivov <nsivov@codeweavers.com>
Signed-off-by: Huw Davies <huw@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2019-10-31 00:33:46 +01:00
Nikolay Sivov ce15bc1f02 ole32: Do not pass around untyped context section pointers.
Signed-off-by: Nikolay Sivov <nsivov@codeweavers.com>
Signed-off-by: Huw Davies <huw@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2019-10-31 00:33:46 +01:00
Jacek Caban d449b617e7 ole32: Lock spies list when iterating it.
Signed-off-by: Jacek Caban <jacek@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2019-09-24 17:29:07 +02:00
Alexandre Julliard 0f47bb66a6 ole32: Build with msvcrt.
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2019-06-17 09:41:13 +02:00
Louis Lenders 3f508e6edb ole32: Add CoDisableCallCancellation stub.
Signed-off-by: Louis Lenders <xerox.xerox2000x@gmail.com>
Signed-off-by: Huw Davies <huw@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2019-02-28 21:37:30 +01:00
Louis Lenders 8ab8030029 ole32: Add CoEnableCallCancellation stub.
Wine-Bug: https://bugs.winehq.org/show_bug.cgi?id=46732
Signed-off-by: Louis Lenders <xerox.xerox2000x@gmail.com>
Signed-off-by: Huw Davies <huw@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2019-02-28 21:37:30 +01:00
Nikolay Sivov 645a1f8c5a ole32: Implement chained IInitializeSpy support.
Signed-off-by: Nikolay Sivov <nsivov@codeweavers.com>
Signed-off-by: Huw Davies <huw@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2019-01-28 18:35:45 +01:00
Nikolay Sivov bc5e9207d9 ole32: Rename a helper to reflect its purpose better.
Signed-off-by: Nikolay Sivov <nsivov@codeweavers.com>
Signed-off-by: Huw Davies <huw@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2018-08-20 15:59:12 +02:00
Nikolay Sivov 0430efb4a6 ole32: Try 'dll' extension when looking for registration-free modules.
Signed-off-by: Nikolay Sivov <nsivov@codeweavers.com>
Signed-off-by: Huw Davies <huw@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2018-08-20 15:59:09 +02:00
Michael Stefaniuc 9cad95d198 ole32: Use the more common ARRAY_SIZE spelling.
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-07-09 10:48:28 +02:00
Jacek Caban fd67e394e6 ole32: Don't try to unregister window class if it was never registered.
UnregisterClass may load display driver, which is may be problematic
inside DLL_PROCESS_DETACH (esp. in Android drivers, which imports ole32
itself).

Signed-off-by: Jacek Caban <jacek@codeweavers.com>
Signed-off-by: Huw Davies <huw@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2018-06-04 14:22:38 +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 a11951841c ole32: Report the implicit MTA in CoGetApartmentType().
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:05 +02:00
Zebediah Figura 878e15e25f ole32: Allow more functions to use the 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:03 +02:00
Zebediah Figura 5e752db1ba ole32: Add a helper for grabbing the current apartment or 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:00 +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
Zebediah Figura c889780c2f ole32: Simplify grabbing the 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-03-29 16:06:03 +02:00
Fabian Maurer 2bb69639e6 ole32: Better logging for apartment_getclassobject, on failure log dll path.
Signed-off-by: Fabian Maurer <dark.shadow4@web.de>
Signed-off-by: Huw Davies <huw@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2018-03-14 11:28:28 +01:00
Jacek Caban 2e66aa59b2 ole32: Don't stop processing messages after WM_QUIT in CoWaitForMultipleHandles.
Signed-off-by: Jacek Caban <jacek@codeweavers.com>
Signed-off-by: Huw Davies <huw@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2018-01-23 11:31:34 +01:00
Jacek Caban 98b44e793a ole32: Don't dispatch WM_QUIT messages in CoWaitForMultipleHandles.
Signed-off-by: Jacek Caban <jacek@codeweavers.com>
Signed-off-by: Huw Davies <huw@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2018-01-23 11:31:32 +01:00
Jacek Caban f4b1454f33 ole32: Post quit message after leaving wait loop in CoWaitForMultipleHandles.
Signed-off-by: Jacek Caban <jacek@codeweavers.com>
Signed-off-by: Huw Davies <huw@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2018-01-23 11:31:29 +01:00
Anton Romanov 90a094cc24 ole32: Make CoWaitForMultipleHandles peek at all posted messages.
Signed-off-by: Anton Romanov <theli.ua@gmail.com>
Signed-off-by: Huw Davies <huw@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2018-01-19 12:12:02 +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
Alex Henrie 5a3b87a0fd ole32: Avoid null pointer dereferences in CoGetTreatAsClass.
Signed-off-by: Alex Henrie <alexhenrie24@gmail.com>
Signed-off-by: Huw Davies <huw@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2017-07-06 18:50:59 +02:00
Alistair Leslie-Hughes b399bafa12 ole32: Add CoRegisterSurrogate/Ex stubs.
Signed-off-by: Alistair Leslie-Hughes <leslie_alistair@hotmail.com>
Signed-off-by: Huw Davies <huw@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2017-03-28 10:26:46 +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 e0a9e5ae26 ole32: Spelling fixes.
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-05-31 22:42:00 +09:00
Nikolay Sivov 7863247ec6 ole32: Make CoGetInstanceFromFile() propagate failure codes to returned MULTI_QI data (Coverity).
Signed-off-by: Nikolay Sivov <nsivov@codeweavers.com>
Signed-off-by: Huw Davies <huw@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2016-03-22 22:23:31 +09:00
Nikolay Sivov cf218bca42 ole32: Fix refcounting of IObjContext per-thread instance.
Signed-off-by: Nikolay Sivov <nsivov@codeweavers.com>
Signed-off-by: Huw Davies <huw@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2016-03-15 17:45:45 +09:00
Nikolay Sivov 6fd208b41c ole32: Use CoGetApartmentType() to implement IComThreadingInfo.
Signed-off-by: Nikolay Sivov <nsivov@codeweavers.com>
Signed-off-by: Huw Davies <huw@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2016-03-14 19:15:10 +09:00
Nikolay Sivov 5b7c9ecd09 ole32: Implement IComThreadingInfo::GetCurrentLogicalThreadId().
Signed-off-by: Nikolay Sivov <nsivov@codeweavers.com>
Signed-off-by: Huw Davies <huw@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2016-03-11 20:22:27 +09:00
Nikolay Sivov 1105acd26a ole32: Implement CoGetCurrentLogicalThreadId().
Signed-off-by: Nikolay Sivov <nsivov@codeweavers.com>
Signed-off-by: Huw Davies <huw@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2016-03-11 20:22:24 +09:00
Michael Müller 381ce2956b ole32: Implement semi-stub for CoGetApartmentType.
Signed-off-by: Michael Müller <michael@fds-team.de>
Signed-off-by: Sebastian Lackner <sebastian@fds-team.de>
Signed-off-by: Huw Davies <huw@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2016-03-03 12:59:02 +09:00
Paul Gofman b4b0c138fe ole32: Fix behaviour of OLE init/uninit.
Signed-off-by: Paul Gofman <gofmanp@gmail.com>
Signed-off-by: Huw Davies <huw@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2016-01-15 23:51:02 +09:00
Piotr Caban d7e302b52b ole32: Fix apartment window class name.
TestStand 2010 makes class name comparison when pumping RPC messages.

Signed-off-by: Piotr Caban <piotr@codeweavers.com>
Signed-off-by: Huw Davies <huw@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2015-12-21 19:50:27 +01:00
Jacek Caban a1cc980bcb ole32: Use absolute key path in create_classes_root_hkey.
Signed-off-by: Jacek Caban <jacek@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2015-11-18 00:29:45 +09:00
Jacek Caban 80c53b33fd ole32: Added DECLSPEC_HOTPATCHABLE to a few more functions.
Signed-off-by: Jacek Caban <jacek@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2015-11-13 11:52:58 +09:00
Jacek Caban e4bc220802 ole32: Make CoInitializeEx hot patchable.
Signed-off-by: Jacek Caban <jacek@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2015-11-03 00:33:27 +09:00
Jacek Caban c5b54b34e9 ole32: Call CoCreateInstanceEx from CoCreateInstance instead of the other way around.
Signed-off-by: Jacek Caban <jacek@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2015-10-22 16:47:19 +09:00
Jacek Caban dedcd30cb8 ole32: Pass requested interface IID to CreateInstance in CoCreateInstanceEx.
Signed-off-by: Jacek Caban <jacek@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2015-10-22 16:47:15 +09: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
Jacek Caban 38a9a232f7 ole32: Use get_stub_manager_from_object in CoDisconnectObject. 2015-09-04 19:29:29 +09:00
Jacek Caban e5edbc6fa0 ole32: Use proper IUnknown implementation when finding and creating stub manager. 2015-08-29 14:28:22 +09:00
Piotr Caban fbf7046ae8 ole32: Don't pump all messages in CoWaitForMultipleHandles in threads without apartment window. 2015-07-30 23:50:43 +02:00
Nikolay Sivov 961b1a270f ole32: Remove a couple of interface casts. 2015-04-06 12:09:17 +09:00