Commit Graph

383 Commits

Author SHA1 Message Date
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
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