Commit Graph

382 Commits

Author SHA1 Message Date
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
André Hentschel fbe682a22a ole32: Don't leak memory allocated by ProgIDFromCLSID (coverity). 2012-10-29 10:40:32 +01:00
Nikolay Sivov 53dd90aeb3 ole32: Give names to 1Ole stream header fields. 2012-07-18 11:14:18 +02:00
Nikolay Sivov 52ce30d242 ole32: Make ole stream creation helper capable of handling flags data. 2012-07-17 12:50:19 +02:00
Nikolay Sivov 88e6c8175b ole32: Use interface macros to call methods. 2012-07-17 12:50:18 +02:00
Nikolay Sivov 3956296128 ole32: Implement SetConvertStg(). 2012-07-16 15:21:45 +02:00
Nikolay Sivov a3a97558de ole32: No need to test for null implementation pointer in methods. 2012-07-16 15:21:44 +02:00
Nikolay Sivov ac032593c0 ole32: COM cleanup of IPropertySetStorage interface. 2012-07-16 15:21:44 +02:00
Nikolay Sivov 0c658860b1 ole32: COM cleanup for IStorage interface of base storage implementation. 2012-07-13 10:29:13 -05:00
Nikolay Sivov 08303391e9 ole32: Simplify storage root entry name initialization. 2012-07-13 10:28:57 -05:00
Nikolay Sivov 7b373edb81 ole32: Implement GetConvertStg(). 2012-07-13 10:28:42 -05:00
Nikolay Sivov ea196ef0eb ole32: COM cleanup of storage IStream implementation. 2012-07-13 10:28:15 -05:00
Bruno Jesus 2cd2628c7b ole32: Make sure StgIsStorageILockBytes tests real data. 2012-04-16 17:49:30 +02:00
Andrew Talbot 85fc5a3ae9 ole32: Remove unneeded address-of operators from array names. 2011-10-31 23:54:07 +01:00
Vincent Povirk cb9e572611 ole32: Discard existing data when creating a new storage on an ILockBytes. 2011-09-13 09:20:29 +02:00
Vincent Povirk c72ecb1de6 ole32: Avoid opening source storage in IStorage::CopyTo. 2011-06-03 17:37:09 +02:00
Alexandre Julliard 7efe6d9895 ole32: Delete the transacted storage scratch file on release. 2011-05-26 13:27:41 +02:00