Haoyang Chen
542175ab10
ole32: Request the needed memory blocks at once.
...
When requesting a large block of memory, newNumBlocks can be very large
and time-consuming.
Signed-off-by: Haoyang Chen <chenhaoyang@uniontech.com>
Signed-off-by: Esme Povirk <esme@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2021-06-25 22:48:48 +02:00
Dmitry Timoshkov
6937e3ce7f
ole32: Always initialize storage header before writing it.
...
Signed-off-by: Dmitry Timoshkov <dmitry@baikal.ru>
Signed-off-by: Esme Povirk <esme@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2021-04-02 21:12:25 +02:00
Michael Stefaniuc
137acffdf4
ole32: Use wide-char string literals.
...
Signed-off-by: Michael Stefaniuc <mstefani@winehq.org>
Signed-off-by: Huw Davies <huw@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2020-11-27 10:18:25 +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
d34ec97ad5
ole32: Get rid of casts in 64-bit int serialization helper.
...
Signed-off-by: Nikolay Sivov <nsivov@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2019-12-12 23:17:05 +01:00
Nikolay Sivov
31c41d9855
ole32: Get rid of casts in GUID serialization helper.
...
Signed-off-by: Nikolay Sivov <nsivov@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2019-12-12 23:17:05 +01:00
Nikolay Sivov
4d605e8683
ole32: Get rid of casts in WORD serialization helper.
...
Signed-off-by: Nikolay Sivov <nsivov@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2019-12-12 23:17:05 +01:00
Nikolay Sivov
46ba55be86
ole32: Get rid of some casts in DWORD serialization helper.
...
Signed-off-by: Nikolay Sivov <nsivov@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2019-12-12 23:17:05 +01:00
Francois Gouget
5f35664974
ole32: Fix a spelling error in a function parameter name.
...
Signed-off-by: Francois Gouget <fgouget@free.fr>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2019-11-28 20:45:46 +01:00
Alexandre Julliard
0f47bb66a6
ole32: Build with msvcrt.
...
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2019-06-17 09:41:13 +02:00
Alex Henrie
a05ce6ac6f
ole32: Turn several variables into static constants.
...
Signed-off-by: Alex Henrie <alexhenrie24@gmail.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2018-12-04 23:27:08 +01:00
Michael Stefaniuc
d93954bd93
ole32: Use the ARRAY_SIZE() macro.
...
Signed-off-by: Michael Stefaniuc <mstefani@winehq.org>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2018-07-17 22:35:50 +02:00
Alistair Leslie-Hughes
fcc261adfd
ole32: Add pointer check.
...
Signed-off-by: Alistair Leslie-Hughes <leslie_alistair@hotmail.com>
Signed-off-by: Vincent Povirk <vincent@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2017-09-28 00:37:16 +02:00
Dmitry Timoshkov
ae7571a5bb
ole32: Trace clsid in IStorage::SetClass.
...
Signed-off-by: Dmitry Timoshkov <dmitry@baikal.ru>
Signed-off-by: Huw Davies <huw@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2017-09-20 16:22:33 +02: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
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
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
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
Dmitry Timoshkov
76f9d93344
ole32: Fix a memory leak.
2015-07-13 22:08:38 +09:00
Vincent Povirk
9cf835a947
ole32: Use grfLocksSupported to decide when LockRegion is implemented.
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
Vincent Povirk
3f83b788d4
ole32: Fix storage locking for read-only exclusive mode.
2015-06-12 21:22:42 +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
7703852627
ole32; Fix some storage32 comments and standardize some virtual table names.
2015-04-27 15:08:46 +09:00
Nikolay Sivov
7d44fa714a
ole32: Return interface pointers instead of impl pointers from QI.
2015-03-24 18:16:30 +09:00
Francois Gouget
7fe0600237
ole32: Remove unneeded NONAMELESSXXX directives.
2015-03-17 14:18:54 +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
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
Michael Stefaniuc
73019d5e20
ole32: Remove an always true conditional subexpression (PVS-Studio).
2015-02-18 16:09:13 +09:00
Nikolay Sivov
73419dc484
ole32: Return END_OF_CHAIN for chains starting with special sector values.
2014-12-29 22:20:29 +01: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
809b6aeab2
ole32: Fix StorageImpl_LockRegionSync() to actually wait between locking attempts.
2014-06-17 10:37:52 +02:00
Andrew Eikum
e9533ca85a
ole32: Fix return type.
2014-06-13 16:22:28 +02:00
Vincent Povirk
8107955273
ole32: Support storage files larger than 4 GB.
2014-06-12 13:19:04 +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