Frédéric Delanoy
6936bbb198
ole32/tests: Use todo_wine_if() in tests.
...
Signed-off-by: Frédéric Delanoy <frederic.delanoy@gmail.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2016-02-22 17:37:09 +09:00
Huw Davies
bf5dca1976
ole32: The type of the size of IMalloc'ed blocks is SIZE_T.
...
Signed-off-by: Huw Davies <huw@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2016-01-20 01:50:47 +09:00
Paul Gofman
d3b42a13d2
ole32/tests: OleGetClipboard should succeed when COM/OLE is not inited.
...
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:52:35 +09:00
Paul Gofman
5d4b23e6e7
ole32: Zero output interface pointer in OleGetClipboard() on error.
...
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:52:20 +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
Nikolay Sivov
0a34f25487
ole32/tests: A couple of tests for ReadClassStm/ReadClassStg.
...
Signed-off-by: Nikolay Sivov <nsivov@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2016-01-06 18:08:32 +01:00
Nikolay Sivov
8fe18a16f7
ole32: Properly implement OleRegGetUserType().
...
Signed-off-by: Nikolay Sivov <nsivov@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2016-01-05 17:52:49 +01:00
Alexandre Julliard
3c84cc1807
ole32: Remove a no longer used constant.
...
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2015-12-29 17:51:59 +01:00
Piotr Caban
d90ec79be2
ole32: Make clipboard latest_snapshot access thread safe.
...
Signed-off-by: Piotr Caban <piotr@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2015-12-29 17:18:15 +01:00
Nikolay Sivov
d66af9c185
ole32/tests: Simple test for aggregation in CreateDataCache().
...
Signed-off-by: Nikolay Sivov <nsivov@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2015-12-24 13:44:50 +01:00
Nikolay Sivov
88111ca2c0
ole32/tests: Remove some casts we don't need, fix a couple of others.
...
Signed-off-by: Nikolay Sivov <nsivov@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2015-12-24 13:44:40 +01:00
Nikolay Sivov
b19ad3af80
ole32: Use OleRun() in OleCreate() instead of unrolling what it does.
...
Signed-off-by: Nikolay Sivov <nsivov@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2015-12-24 13:44:31 +01:00
Nikolay Sivov
73008a6c04
ole32: Ignore GetMiscStatus() returned value in OleCreate().
...
Signed-off-by: Nikolay Sivov <nsivov@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2015-12-24 13:44:25 +01:00
Nikolay Sivov
7ad896d541
ole32/tests: Some tests for OleRegGetUserType().
...
Signed-off-by: Nikolay Sivov <nsivov@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2015-12-24 13:44:03 +01:00
Nikolay Sivov
98505b4076
ole32: Simplify OleRegGetUserType() using existing helper.
...
Signed-off-by: Nikolay Sivov <nsivov@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2015-12-23 16:35:40 +01:00
Nikolay Sivov
1219abfd8c
ole32: Simplify OleRegGetMiscStatus() using existing helper, use read-only key permissions.
...
Signed-off-by: Nikolay Sivov <nsivov@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2015-12-23 16:35:31 +01:00
Nikolay Sivov
12d73316e4
ole32: Fix parameter validation for CoGetMalloc().
...
Signed-off-by: Nikolay Sivov <nsivov@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2015-12-23 16:35:19 +01: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
Piotr Caban
726698ab81
ole32: Fix minimal size check of compound file in StgOpenStorage.
...
Signed-off-by: Piotr Caban <piotr@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2015-12-10 22:44:43 +09:00
Nikolay Sivov
f797f63d24
ole32/tests: Some tests for CoGetMalloc().
...
Signed-off-by: Nikolay Sivov <nsivov@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2015-12-04 21:56:18 +09:00
Andrey Gusev
8bfc9bd2ee
Assorted typos fixes.
...
Signed-off-by: Andrey Gusev <andrey.goosev@gmail.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2015-11-27 15:38:30 +09: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
Dmitry Timoshkov
2d08613e87
ole32: Add more traces to the storage methods.
...
Signed-off-by: Dmitry Timoshkov <dmitry@baikal.ru>
Signed-off-by: Vincent Povirk <vincent@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2015-11-04 14:41:38 +09:00
Dmitry Timoshkov
39d2ce5956
ole32: Relax media type check when loading CF_METAFILEPICT format from OLE storage.
...
Signed-off-by: Dmitry Timoshkov <dmitry@baikal.ru>
Signed-off-by: Huw Davies <huw@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2015-11-03 22:14:04 +09:00
Dmitry Timoshkov
b8800c237b
ole32/tests: Add some tests for loading and drawing various OLE formats.
...
Signed-off-by: Dmitry Timoshkov <dmitry@baikal.ru>
Signed-off-by: Huw Davies <huw@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2015-11-03 22:02:20 +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
Dmitry Timoshkov
263b06ef8d
ole32/tests: Add the tests to show that IEnumSTATSTG::Next should zero out returned stats when it reaches end of enumeration.
...
Signed-off-by: Vincent Povirk <vincent@codeweavers.com>
Signed-off-by: Dmitry Timoshkov <dmitry@baikal.ru>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2015-11-02 23:02:24 +09:00
Dmitry Timoshkov
9f2bd8503d
ole32: Zero out returned stats when IEnumSTATSTG::Next reaches end of enumeration.
...
Signed-off-by: Dmitry Timoshkov <dmitry@baikal.ru>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2015-11-02 23:02:24 +09:00
Dmitry Timoshkov
7bc1005f56
ole32: Handle failure of reading directory entry in IEnumSTATSTG::Next.
...
Signed-off-by: Vincent Povirk <vincent@codeweavers.com>
Signed-off-by: Dmitry Timoshkov <dmitry@baikal.ru>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2015-11-02 23:02:24 +09:00
Dmitry Timoshkov
421b3ca3eb
ole32: Fallback to parsing the Presentation streams ff parsing of the "CONTENTS" stream fails.
...
I have an application that tries to load an existing object from the file
using OleLoad() and fails because the "CONTENTS" stream has clsid set to
"Microsoft Photo Editor 3.0 Picture". I've dumped the contents of the OLE
storage to disk for investigation, and under Windows (where Microsoft Photo
Editor is not installed, and registry has no traces of its class guids)
OleLoad() is able to load objects from this storage, and after that OleDraw()
successfully paints the object contents on the screen. I've written an
application to play with the dumped storage, and under Windows the "CONTENTS"
stream also can't be loaded, but the storage also contains the "OlePres000"
stream which contains an object in CF_METAFILEPICT format, and this one can be
loaded and painted.
Signed-off-by: Dmitry Timoshkov <dmitry@baikal.ru>
Signed-off-by: Huw Davies <huw@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2015-10-29 21:20:07 +09:00
Huw Davies
28b916b26e
ole32: Fix ref counting in GetDataHere Proxy.
...
Signed-off-by: Huw Davies <huw@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2015-10-28 00:58:15 +09:00
Huw Davies
ced5800b99
ole32: Correctly release an existing pointer when unmarshalling a NULL-ptr.
...
However, this should not be done in the case of pUnkForRelease.
Signed-off-by: Huw Davies <huw@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2015-10-28 00:58:15 +09:00
Huw Davies
9021b96772
ole32/tests: Release the marshalled data in the expected buffers.
...
Signed-off-by: Huw Davies <huw@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2015-10-28 00:58:14 +09:00
Huw Davies
6aa797e669
ole32: WdtpInterfacePointer_UserUnmarshal() should release an interface if one is passed in.
...
Signed-off-by: Huw Davies <huw@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2015-10-28 00:58:14 +09:00
Dmitry Timoshkov
1b580e70e9
ole32: Print a FIXME when the "CONTENTS" stream refers to unsupported format.
...
Signed-off-by: Dmitry Timoshkov <dmitry@baikal.ru>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2015-10-23 19:20:25 +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
cc1b2879e4
ole32: Set the release interface to NULL before calls to GetDataHere.
...
Signed-off-by: Huw Davies <huw@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2015-10-21 21:57:22 +09:00
Dmitry Timoshkov
b9d8c2b1ea
ole32: Initialize number of bytes read before the comparison.
...
Signed-off-by: Dmitry Timoshkov <dmitry@baikal.ru>
Signed-off-by: Huw Davies <huw@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2015-10-21 19:19:08 +09:00
Nikolay Sivov
4afda020ae
ole32/tests: Use BOOL variables for BOOL return type (PVS-Studio).
...
Signed-off-by: Nikolay Sivov <nsivov@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2015-10-21 00:25:34 +09:00
Dmitry Timoshkov
f9bc636d35
ole32: PropVariantCopy should return DISP_E_BADVARTYPE in case of bad source variant type.
...
In some rare (notably for some VT_VECTOR) cases Windows implementation
returns STG_E_INVALIDPARAMETER, but returning DISP_E_BADVARTYPE should
cover most of cases.
Signed-off-by: Dmitry Timoshkov <dmitry@baikal.ru>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2015-10-21 00:25:33 +09:00
Huw Davies
5ae2b5ae93
ole32: Release interfaces as part of Stop.
...
This can now be done as Stop will no longer be called from within an object call.
Signed-off-by: Huw Davies <huw@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2015-10-15 00:53:19 +09:00
Huw Davies
719c479a36
ole32: Defer calling Stop in an OnClose notification during an object call.
...
The OnClose notification may arrive during a call to the object. Releasing the
object's interfaces at this point would be bad, so delay this until after the
object call returns.
Signed-off-by: Huw Davies <huw@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2015-10-15 00:53:19 +09:00
Huw Davies
79598c4803
ole32: Call the cache's OnRun and OnStop methods.
...
Signed-off-by: Huw Davies <huw@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2015-10-15 00:53:18 +09:00
Huw Davies
e4ec89f2b0
ole32: Return OLE_E_NOTRUNNING on a cache-miss when the object isn't running.
...
Signed-off-by: Huw Davies <huw@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2015-10-15 00:53:18 +09:00
Huw Davies
4fcc5fec57
ole32: Always use object_is_running to check whether the object is running.
...
Signed-off-by: Huw Davies <huw@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2015-10-14 20:36:55 +09:00
Huw Davies
a56a0eb063
ole32: Rewrite _Run() to return early on failure.
...
Signed-off-by: Huw Davies <huw@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2015-10-14 20:36:43 +09:00
Huw Davies
afbb4afc6c
ole32: Silence an incorrect fixme.
...
The remote unknown object should not implement IExternalConnection.
Signed-off-by: Huw Davies <huw@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2015-10-14 12:43:28 +09:00
Huw Davies
1dcf3f8e0a
ole32/tests: Test calling CoDisconnectObject from within 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:21 +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
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
09cd89c0cc
ole32: Implement OleCreateFromFileEx.
...
Signed-off-by: Huw Davies <huw@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2015-10-09 19:17:08 +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
Huw Davies
d340f09a33
ole32: Don't try to load a handler - the real server is needed.
...
Signed-off-by: Huw Davies <huw@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2015-10-09 19:16:51 +09:00
Huw Davies
577644f3c1
ole32: Test the result of IRunningObjectTable_GetObject against S_OK.
...
Typically it would return MK_E_UNAVAILABLE and not S_FALSE if the moniker
is not registered.
Signed-off-by: Huw Davies <huw@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2015-10-09 19:16:43 +09:00
Jacek Caban
38a9a232f7
ole32: Use get_stub_manager_from_object in CoDisconnectObject.
2015-09-04 19:29:29 +09:00
Jacek Caban
cb183688bb
ole32: Catch crashes in stub object destructors when destroying stub manager.
2015-09-02 22:45:17 +09:00
Jacek Caban
c784e34693
ole32: Quote executable name in CreateProcess call.
...
Fixes tests on VMs that have spaces in executable path.
2015-09-02 22:45:05 +09:00
Jacek Caban
0a92038b38
ole32: Added tests for IPSFactoryBuffer::CreateStub calls.
2015-08-29 14:28:23 +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
Francois Gouget
f8a7d6ed74
Assorted spelling fixes.
2015-08-07 23:50:48 +09:00
Vincent Povirk
9d517a1727
ole32: Ignore high part of size in storage version 3 files.
2015-08-06 21:42:46 +09:00
Hans Leidekker
4062db444c
ole32: Add stub implementations of CoGetActivationState and CoGetCallState.
2015-08-03 12:11:10 +02:00
Piotr Caban
9fd75e8650
ole32/tests: Fix new failures in CoWaitForMultipleHandles tests.
2015-07-31 12:07:41 +02: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
Dmitry Timoshkov
76f9d93344
ole32: Fix a memory leak.
2015-07-13 22:08:38 +09:00
Damjan Jovanovic
372b0e1e80
ole32: Convey the Alt button state to the drop target.
2015-07-07 16:52:21 +09:00
Vincent Povirk
9cf835a947
ole32: Use grfLocksSupported to decide when LockRegion is implemented.
2015-07-07 16:52:21 +09:00
Vincent Povirk
8ff3783586
ole32: Add a storage test using a custom ILockBytes.
2015-07-07 16:52:21 +09:00
Dmitry Timoshkov
1f17334fc2
ole32: Accept STG_E_UNIMPLEMENTEDFUNCTION when ILockBytes implementation doesn't support locking.
...
Some custom implementations return it instead of STG_E_INVALIDFUNCTION.
2015-07-06 16:34:47 +09:00
Nikolay Sivov
64456de761
ole32: Handle EnumElements() failure (Coverity).
2015-06-29 18:51:02 +09:00
Nikolay Sivov
1e97a2db17
ole32/tests: Fix source buffer leak (Valgrind).
2015-06-22 15:31:54 +09:00
Nikolay Sivov
4cef7ad841
ole32: Fix a typo in argument name.
2015-06-17 18:19:55 +09:00
Nikolay Sivov
61368e76e4
ole32: Marshal HBRUSH as remotable handle.
2015-06-16 16:50:35 +09:00
Nikolay Sivov
6d53f071c6
ole32: Marshal HICON as remotable handle.
2015-06-15 22:10:31 +09:00
Nikolay Sivov
815197f28c
ole32: Marshal HDC as remotable handle.
2015-06-15 22:10:31 +09:00
Vincent Povirk
3f83b788d4
ole32: Fix storage locking for read-only exclusive mode.
2015-06-12 21:22:42 +09:00
Nikolay Sivov
ff6201c61f
ole32/tests: Test if user memory routines are called, remove some useless traces.
2015-06-05 18:38:21 +09:00
Nikolay Sivov
bfa23b637e
ole32: Fix length of buffer allocated by SNB_UserUnmarshal() (Valgrind).
2015-06-04 15:55:53 +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
Nikolay Sivov
5c0e48e8ca
ole32: Avoid potential null pointer access (Coverity).
2015-06-01 14:52:52 +09:00
Nikolay Sivov
10c878a451
ole32: Implemented some proxy/stubs methods.
2015-06-01 14:43:02 +09:00
Sebastian Lackner
fdd83248b6
ole32/tests: Add additional tests for CoWaitForMultipleHandles and WM_QUIT.
2015-05-22 14:09:19 +09:00
Nikolay Sivov
aa3a234803
ole32: Implement SNB marshalling.
2015-05-15 21:58:06 +09:00
Francois Gouget
5f35f1a8db
ole32/tests: Silence some clipboard traces that generate too many lines.
2015-05-12 22:32:34 +09:00
Nikolay Sivov
26a9f62db7
ole32/tests: Added a test for OleRun().
2015-05-08 18:33:35 +09:00
Francois Gouget
514345b401
ole32: Make some storage32 functions static.
2015-05-04 15:07:39 +09:00
Francois Gouget
356748e6bc
ole32: Reorder storage32 functions to avoid forward declarations.
2015-05-04 15:07:35 +09:00
Francois Gouget
58e47c612f
ole32: Fix some storage32 comments.
2015-05-04 15:06:53 +09:00
Nikolay Sivov
bb37d75074
ole32/tests: Fix a test failure on Win8.
2015-05-01 21:12:42 +09:00
Nikolay Sivov
3d33d8a9c4
ole32/tests: Fix test failures on some VMs with limited user permissions.
2015-05-01 21:12:23 +09:00
Francois Gouget
7703852627
ole32; Fix some storage32 comments and standardize some virtual table names.
2015-04-27 15:08:46 +09:00
Huw Davies
a38699084b
ole32/tests: Win 8 releases the drop target in OleUninitialize().
2015-04-20 14:37:13 +09:00
Nikolay Sivov
961b1a270f
ole32: Remove a couple of interface casts.
2015-04-06 12:09:17 +09:00
Huw Davies
f57e08995a
ole32/tests: Add tests for loading a dib 'CONTENTS' stream.
2015-03-25 19:46:03 +09:00
Huw Davies
b0deb315a0
ole32: Implement QueryGetData().
2015-03-25 19:45:58 +09:00
Huw Davies
b4cd2c4dbb
ole32: Add support for drawing the dib format.
2015-03-25 19:45:55 +09:00
Huw Davies
e410f273cd
ole32: Add support for retrieving extents of dib format.
2015-03-25 19:45:52 +09:00
Huw Davies
bbba2c00aa
ole32: Add support for loading dibs.
2015-03-25 19:45:48 +09:00
Huw Davies
547fd746bb
ole32: Separate metafile loading into a helper function.
2015-03-25 19:45:42 +09:00
Huw Davies
480c10cce9
ole32: Add support for parsing the 'CONTENTS' stream.
2015-03-25 19:45:36 +09:00
Huw Davies
d864387aaa
ole32: Split the data loading into a couple of helpers.
2015-03-25 19:45:31 +09:00
Huw Davies
a4e3668f3f
ole32: A cache entry should hold the stream its data is from, not the top-level storage.
2015-03-25 19:45:10 +09:00
Huw Davies
c5e020c5b5
ole32: Read the class id from the top-level storage object.
...
The cache_entries' storages are just references to the same object anyway.
2015-03-25 19:44:59 +09:00
Nikolay Sivov
597515c074
ole32/tests: Return interface pointer instead of impl pointer from QI.
2015-03-24 18:16:34 +09:00
Nikolay Sivov
7d44fa714a
ole32: Return interface pointers instead of impl pointers from QI.
2015-03-24 18:16:30 +09:00
Nikolay Sivov
bc9b29f65d
ole32: Cleanup QI for IEnumMoniker.
2015-03-20 16:23:12 +09:00
Nikolay Sivov
853dc5ec2f
ole32: Improve error handling in GetClassFile() (PVS-Studio).
2015-03-20 16:23:10 +09:00
Nikolay Sivov
f294ea8333
ole32: Fix error handling in GetTimeOfLastChange() for item moniker (PVS-Studio).
2015-03-20 16:23:08 +09:00
Francois Gouget
f505e6fb4a
Assorted spelling fixes.
2015-03-19 21:54:14 +09:00
Nikolay Sivov
3376648224
ole32/datacache: Handle stream Stat() failure (PVS-Studio).
2015-03-19 16:56:05 +09:00
Nikolay Sivov
1c2bbe8f65
ole32: Handle ILockBytes creation failure (PVS-Studio).
2015-03-17 14:19:12 +09:00
Francois Gouget
7fe0600237
ole32: Remove unneeded NONAMELESSXXX directives.
2015-03-17 14:18:54 +09:00
Nikolay Sivov
0e24c33332
ole32: Handle Stat() failure in OleLoad() (PVS-Studio).
2015-03-13 22:28:31 +09:00
Nikolay Sivov
24dce2b229
ole32: Handle some failures in Inverse() for composite moniker (PVS-Studio).
2015-03-13 22:28:31 +09:00
Nikolay Sivov
46914d8794
ole32: Check ComposeWith() return value too (PVS-Studio).
2015-03-13 22:28:31 +09:00
Sebastian Lackner
66e8060204
ole32: Wait a bit before doing next sanity check in StorageImpl_LockRegionSync.
2015-03-13 00:28:21 +09:00
Alexandre Julliard
c6c3ccad36
ole32: Remove confusing uses of the __thiscall specifier.
2015-03-12 14:20:33 +09:00
Sebastian Lackner
59a1bcd96a
ole32: Fix call to free_stringtable with uninitialized pointer (Coverity).
2015-03-11 12:47:40 +09:00
Sebastian Lackner
83aca6e7aa
ole32: Fix a possible handle leak (Coverity).
2015-03-11 12:46:54 +09:00
Vincent Povirk
0b7c05389b
ole32: Fail to open storage files that are locked incorrectly.
2015-03-11 12:45:52 +09:00
Vincent Povirk
eead04803f
ole32: Add a 20 second timeout when attempting to grab locks.
2015-03-11 12:45:49 +09:00
Vincent Povirk
1645f7b9e3
ole32: Accept only STG_E_INVALIDFUNCTION or success from LockRegionSync.
2015-03-11 12:45:42 +09:00
Vincent Povirk
c8791edbdf
ole32: Don't use real synchronous locks for storage synchronization.
2015-03-11 12:45:38 +09:00
Vincent Povirk
06b735ae76
ole32: Test the entire range lock block for synchronization.
2015-03-11 12:45:33 +09:00
Nikolay Sivov
44360823b9
oleaut32: Use WdtpInterfacePointer_* functions in VARIANT marshalling.
2015-03-09 22:06:21 +09:00
Francois Gouget
fb908b3a95
ole32: Don't define NONAMELESSUNION in olestd.h. It's not needed anyway.
2015-03-06 12:53:55 +09:00
Sebastian Lackner
c23db594aa
ole32: Fix an invalid usage of InterlockedCompareExchange.
2015-03-03 17:13:46 +09:00
André Hentschel
8af03fef9a
ole32: Remove unused macros.
2015-02-23 15:25:56 +09:00
Michael Stefaniuc
73019d5e20
ole32: Remove an always true conditional subexpression (PVS-Studio).
2015-02-18 16:09:13 +09:00
Michael Stefaniuc
514951cc11
ole32: Return the buffer pointer when WdtpInterfacePointer_UserMarshal fails.
...
Found by PVS-Studio.
2015-01-19 14:20:50 +01:00
Michael Stefaniuc
139ebf643a
ole32/tests: Remove unused assignments (PVS-Studio).
2015-01-19 14:20:36 +01:00
Michael Stefaniuc
c2da97a5e5
ole32/tests: Actually test some return codes (PVS-Studio).
2015-01-19 14:20:32 +01:00
Qian Hong
a940718a4d
ole32: Make CoUninitialize and OleUninitialize hotpatchable.
2015-01-16 16:52:25 +01:00
Piotr Caban
95c57c618a
ole32: Only change DoDragDrop return value on IDropTarget::Drop failure.
2015-01-15 14:06:24 +01:00
Nikolay Sivov
73419dc484
ole32: Return END_OF_CHAIN for chains starting with special sector values.
2014-12-29 22:20:29 +01:00
André Hentschel
065e4770f0
ole32/tests: Remove unused variable (Clang).
2014-12-02 10:48:37 +01:00
André Hentschel
ec8602a812
ole32: Remove unused string (Clang).
2014-12-02 10:31:21 +01:00
Sebastian Lackner
f6f55058e4
ole32: Don't process window events when APC calls are queued.
2014-11-21 20:10:04 +09:00
Sebastian Lackner
bbf6891030
ole32: Verify arguments for CoWaitForMultipleHandles, always initialize index to zero.
2014-11-21 20:10:01 +09:00
Sebastian Lackner
f7f2167fe8
ole32/tests: Add tests for CoWaitForMultipleHandles.
2014-11-21 20:09:58 +09:00
Nikolay Sivov
2487afa5d3
ole32/tests: Use proper wrappers for IObjContext methods.
2014-11-19 23:36:34 +09:00
Nikolay Sivov
f7fdaf1c9f
ole32/tests: Release() doesn't return HRESULT code.
2014-11-19 23:36:34 +09:00
Bruno Jesus
959ca6ac02
ole32: Avoid a possible null dereference.
2014-11-14 14:15:14 +09:00
Vincent Povirk
bab4c36d47
ole32: Add support for pasting CF_BITMAP.
2014-11-14 14:13:01 +09:00
Akihiro Sagawa
efdaa4a17a
ole32: Search 32-bit registry in 64-bit CoGetPSClsid and vice versa.
2014-07-15 15:34:40 +02:00
Akihiro Sagawa
414398c1e7
ole32: Add KEY_WOW64 support in wrapper registry functions.
2014-07-15 15:33:59 +02:00
Akihiro Sagawa
fae8d9db5f
ole32/tests: Add CoGetPSClsid WOW64 registry tests.
2014-07-15 15:33:25 +02:00
Piotr Caban
cdf2c5f2cb
ole32: Don't do any message processing when we're already done with dragdrop operation.
2014-07-03 18:17:40 +02:00
Vincent Povirk
69ff6f74b2
ole32: Simplify the FileMonikerImpl_BindToStorage code.
2014-07-01 12:52:43 +02:00
Frédéric Delanoy
2ab8729020
Assorted spelling/grammar fixes.
2014-06-20 12:19:31 +02:00
Francois Gouget
082d091029
ole32: Return the correct error in FileLockBytesImpl_*LockRegion*().
2014-06-18 19:55:45 +02:00
Francois Gouget
bea2c6f2d5
ole32: Treat STG_E_LOCKVIOLATION the same way as STG_E_ACCESSDENIED as both indicate locking contention.
2014-06-18 19:55:40 +02:00
Francois Gouget
cc4ad353d7
ole32: FileLockBytesImpl_WriteAt() should return STG_E_WRITEFAULT for write errors.
2014-06-18 19:55:29 +02:00
Francois Gouget
809b6aeab2
ole32: Fix StorageImpl_LockRegionSync() to actually wait between locking attempts.
2014-06-17 10:37:52 +02:00
Vincent Povirk
a270ed90ad
ole32: Add tests for STGC_OVERWRITE.
2014-06-16 09:28:45 +02:00
Andrew Eikum
c2089cbd0d
ole32: Respect TreatAs in CoCreateInstance.
2014-06-16 09:28:38 +02:00
Andrew Eikum
42f5118570
ole32: Implement CoTreatAsClass for classes without AutoTreatAs.
2014-06-16 09:28:29 +02:00
Andrew Eikum
e9533ca85a
ole32: Fix return type.
2014-06-13 16:22:28 +02:00
Andrew Eikum
f02c0ae656
ole32: Fix return value logging.
2014-06-13 16:22:20 +02:00
Guillaume Charifi
216b24527d
ole32: CoCreateGuid returns E_INVALIDARG on null-GUID.
2014-06-12 18:23:33 +02:00
Vincent Povirk
8107955273
ole32: Support storage files larger than 4 GB.
2014-06-12 13:19:04 +02:00
Vincent Povirk
d32abd7726
ole32: Don't store file size in FileLockBytesImpl.
2014-06-11 13:06:00 +02:00
Vincent Povirk
d89d43648f
ole32: Invalidate all caches when the transaction sig changes.
2014-05-21 10:19:57 +02:00
Vincent Povirk
77e3de5828
ole32: Use a snapshot file when sharing storages for writing.
2014-05-21 10:19:51 +02:00
Vincent Povirk
b3e26be0cb
ole32: STGM_NOSNAPSHOT implies deny write.
2014-05-12 10:48:14 +02:00
Vincent Povirk
cf75c5368b
ole32: Use real blocking operations for storage locking when possible.
2014-05-09 14:16:12 +02:00
Vincent Povirk
45dd716e4e
ole32: Warn in cases where we might corrupt storage files.
2014-05-09 14:16:08 +02:00
Vincent Povirk
4f0d36d9a0
ole32: Initial implementation of transaction locking.
2014-05-05 10:53:41 +02:00
Vincent Povirk
b4ade51a84
ole32: Accept STGM_TRANSACTED with no share mode specified.
2014-05-05 10:53:38 +02:00
Vincent Povirk
6417a277cf
ole32: Map STGM_SHARE_EXCLUSIVE to FILE_SHARE_READ.
2014-05-05 10:53:35 +02:00
Vincent Povirk
04735d6f39
ole32: Use share modes when creating storage files.
2014-05-05 10:53:30 +02:00
Vincent Povirk
a60d41d70a
ole32: Use symbolic names for range lock offsets.
2014-05-05 10:53:27 +02:00
Francois Gouget
3d70f86fe2
ole32/tests: Add a trailing '\n' to an ok() call.
2014-05-02 17:15:24 +02:00
Huw Davies
dcfd901c83
ole32/tests: Fix win8 test failures.
2014-05-01 16:32:09 +02:00
Frédéric Delanoy
2e5cb7aac8
Assorted spelling/grammar fixes.
2014-04-30 18:34:20 +02:00
Vincent Povirk
65887802c5
ole32: Initial storage file locking implementation.
2014-04-29 11:26:51 +02:00
Vincent Povirk
e6c58c74ad
ole32: Reserve the range lock sector.
2014-04-29 11:26:47 +02:00
Vincent Povirk
a00f43d7e0
ole32/tests: Add tests for sharing storages in transacted mode.
2014-04-29 11:26:33 +02:00
Vincent Povirk
b8c60aaeec
ole32/tests: Add tests for storage locking.
2014-04-29 11:25:55 +02:00
Dmitry Timoshkov
5356c945cd
ole32: Add support for VT_DISPATCH/VT_UNKNOWN to PropVariantClear and PropVariantCopy.
2014-04-21 11:09:53 +02:00
Dmitry Timoshkov
f9c40c37cd
ole32: If number of VT_VECTOR elements is 0 there is no need to allocate memory.
2014-04-18 13:09:19 +02:00
Dmitry Timoshkov
d68c13a894
ole32/tests: Add some tests for PropVariantCopy.
2014-04-18 13:09:11 +02:00
Dmitry Timoshkov
5e7251b937
ole32: Revert part of 3cb0c81336
.
...
VT_INT|VT_VECTOR and VT_UINT|VT_VECTOR are not supposed to be supported
by PropVariantClear and PropVariantCopy.
2014-04-18 13:08:59 +02:00
Dmitry Timoshkov
f35078ee40
ole32/tests: Fix crashes in PropVariantClear tests under win64.
2014-04-18 13:08:57 +02:00
Dmitry Timoshkov
ccefbee73b
ole32/tests: Fix crashes in PropVariantClear tests under win2000 and XP.
2014-04-17 10:44:55 +02:00
Dmitry Timoshkov
0946c154fa
ole32: PropVariantClear should always reset contents of the passed in PROPVARIANT.
2014-04-16 10:55:07 +02:00
Dmitry Timoshkov
7de7fc653b
ole32/tests: Add more tests for PropVariantClear.
2014-04-16 10:54:54 +02:00
Dmitry Timoshkov
3cb0c81336
ole32: Add support for VT_INT/VT_UINT to PropVariantClear and PropVariantCopy.
2014-04-16 10:54:48 +02:00
Piotr Caban
2fbbe143be
ole32: Add more SetConvertStg amd WriteFmtUserTypeStg tests.
2014-04-07 19:06:42 +02:00
Piotr Caban
0d4c693a7b
ole32: Add OleDoAutoConvert implementation.
2014-04-07 19:06:39 +02:00
Piotr Caban
2db5418e02
ole32: Get CLSID from IStorage object in WriteFmtUserTypeStg.
2014-04-07 19:06:36 +02:00
Piotr Caban
046d7c6d42
ole32: Try to open 1Ole stream before trying to create it in SetConvertStg function.
2014-04-07 19:06:33 +02:00
Piotr Caban
f83d24d4f7
ole32: Don't write empty CLIPFORMAT in WriteFmtUserTypeStg.
2014-04-07 19:06:28 +02:00
Piotr Caban
306e98425b
ole32: Null terminate strings in STREAM_ReadString function.
2014-04-07 19:06:26 +02:00