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
Nikolay Sivov
4768ac4413
ole32: Fix leaks on error paths (Coverity).
2014-03-25 10:56:35 +01:00
Nikolay Sivov
43b5f46fcd
ole32: Fix some leaks on early returns (Coverity).
2014-03-25 10:56:29 +01:00
Piotr Caban
770213e16c
ole32: Update reference counter of returned moniker in CreateGenericComposite.
2014-03-10 19:13:56 +01:00
Vincent Povirk
2e384c4f95
ole32: Use pstgPriority if specified in StgOpenStorage.
2014-03-05 11:48:57 +01:00
Daniel Lehman
cdc03fa9b8
ole32: Make some COM functions hot-patchable.
2014-03-05 11:48:13 +01:00
Piotr Caban
9f9fb6b7f1
ole32/tests: Fix DoDragDrop tests.
2014-03-04 11:50:50 +01:00
Stefan Dösinger
97569e4e4a
ole32: Make CoCreateInstance hookable for Steam.
2014-03-03 17:46:47 +01:00
Piotr Caban
6d1ab7fa16
ole32: Add more DoDragDrop tests.
2014-03-03 17:02:35 +01:00
Piotr Caban
efbd52983a
ole32: Fix DROPEFFECT value in OLEDD_TrackStateChange.
2014-03-03 17:02:33 +01:00
Piotr Caban
68d3a136f6
ole32: Merge OLEDD_TrackMouseMove and OLEDD_TrackStateChange functions.
2014-03-03 17:02:32 +01:00
Piotr Caban
bc2c6d39a6
ole32: Change DoDragDrop return value on IDropTarget::Drop call.
2014-03-03 17:02:31 +01:00
Nikolay Sivov
ffcced0f39
ole32/tests: Handle context generation failure better.
2014-02-20 11:20:00 +01:00
Frédéric Delanoy
a0c258460b
ole32/tests: Use wine_dbgstr_guid for printing GUIDs.
2014-02-12 19:15:21 +01:00
Nikolay Sivov
e593c3068c
ole32: Remove ERR() output that's not really helpful.
2014-02-11 19:19:13 +01:00
Nikolay Sivov
747c649d99
ole32: Use precomposed table for GUID from string conversion.
2014-02-11 19:19:13 +01:00
Frédéric Delanoy
0f2bed51bd
Assorted spelling fixes.
2014-02-10 15:47:29 +01:00
Nikolay Sivov
cdd932a060
ole32: Separate IIDFromString() for CLSIDFromString(), fix corner cases and return values.
2014-02-10 10:42:57 +01:00
Nikolay Sivov
d1c4871012
ole32: Use CoTaskMemAlloc() instead of IMalloc directly.
2014-02-10 10:42:29 +01:00
Nikolay Sivov
62d9b5a0e0
ole32: Implement CoGetInstanceFromIStorage().
2014-02-07 11:05:14 +01:00
Nikolay Sivov
35f218c39e
ole32: Implement CoGetInstanceFromFile().
2014-02-06 17:08:14 +01:00
André Hentschel
b1fed4e9f1
ole32: Use boolean return value in boolean function.
2014-01-29 17:29:05 +01:00
Frédéric Delanoy
86a9e6a366
ole32/tests: Use common wine_dbgstr_guid implementation from test.h.
2014-01-29 14:50:52 +01:00
Alexandre Julliard
0d533cf0bd
makefiles: Allow define arguments to be specific to a single file.
2014-01-07 12:20:25 +01:00
Alexandre Julliard
99ef0d6ff0
makefiles: Get rid of the MAKE_TEST_RULES variable.
2014-01-02 12:13:16 +01:00
Alexandre Julliard
5e7416e5c8
makefiles: Get rid of the MAKE_DLL_RULES variable.
2014-01-02 12:08:18 +01:00
Alexandre Julliard
1adaad4c89
makefiles: Remove no longer needed dlldata.o and testlist.o extra objects.
2013-12-31 19:05:12 +01:00
Alexandre Julliard
d08ff3ff19
makefiles: Use a single variable for all types of idl files.
2013-12-31 18:15:17 +01:00
Nikolay Sivov
f041c2c554
ole32: Call moniker methods with proper wrappers.
2013-12-31 12:27:05 +01:00
Frédéric Delanoy
43d05cc59e
ole32/tests: Constify some character strings.
2013-12-27 14:31:53 +01:00