Commit Graph

398 Commits

Author SHA1 Message Date
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
Vincent Povirk a60d41d70a ole32: Use symbolic names for range lock offsets. 2014-05-05 10:53:27 +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
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
Vincent Povirk 2e384c4f95 ole32: Use pstgPriority if specified in StgOpenStorage. 2014-03-05 11:48:57 +01:00
Frédéric Delanoy 37abf45e6c ole32: Use BOOL type where appropriate. 2013-11-20 11:25:55 +01:00
Frédéric Delanoy 4bb61ec0df ole32: Use BOOL type where appropriate. 2013-10-15 14:28:20 +02:00
Aric Stewart df6115aea6 ole32: Do not fail if partial blocks are read. 2013-06-17 19:30:49 +02:00
Aric Stewart b69d67f146 ole32: Not all uses of StorageImpl_ReadBigBlock fail if no bytes are read. 2013-06-12 15:51:07 +02:00
Nikolay Sivov 448a44ca5f ole32: Simplify IEnumSTATSTG initialization. 2013-04-19 16:16:18 +02:00
Nikolay Sivov 3b9568802a ole32: Remove some casts that are not needed. 2013-04-19 16:16:17 +02:00
Nikolay Sivov 5132f60298 ole32: Store SMWR storage instance role separately. 2013-04-19 16:16:17 +02:00
Nikolay Sivov a06db6cce5 ole32: Stub for IDirectWriterLock. 2013-04-18 17:00:17 +02:00
Nikolay Sivov c29f3dff8c ole32: Accept STGM_DIRECT_SWMR mode. 2013-04-18 17:00:12 +02:00
Andrew Talbot faaeeea937 ole32: Avoid signed-unsigned integer comparisons. 2013-02-22 10:20:57 +01:00
Hans Leidekker 7895eae15b ole32: Convert the remaining RegCreateKey and RegOpenKey calls to the wrappers. 2012-11-26 16:59:22 +01:00
Frédéric Delanoy 3cdd1abd09 ole32: Avoid erroneously freeing a variable in ReadFmtUserTypeStg. 2012-11-12 12:14:48 +01:00
Frédéric Delanoy 780228b6ca ole32: Fix some leaks (coverity). 2012-11-09 11:56:18 +01:00