132 Commits

Author SHA1 Message Date
Vincent Povirk
62e54bacba ole32: Use the storage vtable to read streams. 2009-12-08 12:35:33 +01:00
Vincent Povirk
ee39a21d2b ole32: Add DestroyDirEntry to the storage vtable. 2009-12-08 12:35:17 +01:00
Vincent Povirk
9300a92ccc ole32: Change the base IStorage filename to a pointer type.
The maximum size of the name returned by Stat() on a top-level storage has
nothing to do with DIRENTRY_NAME_BUFFER_LEN. Windows can return longer names
and probably has a limit of MAX_PATH. Also, Stat always returns an absolute
pathname, so we don't need a special case in StgOpenStorage.
2009-12-08 12:34:47 +01:00
Vincent Povirk
f3d194b391 ole32: Add ReadDirEntry to the storage vtable. 2009-12-07 09:49:05 +01:00
Vincent Povirk
176cdfc75e ole32: Add WriteDirEntry to the storage vtable. 2009-12-07 09:49:05 +01:00
Vincent Povirk
8a332db2c5 ole32: Change ReadDirEntry return type to HRESULT. 2009-12-07 09:49:05 +01:00
Vincent Povirk
df13a1d1fe ole32: Change WriteDirEntry return type to HRESULT. 2009-12-07 09:49:05 +01:00
Vincent Povirk
382ffed003 ole32: Make CreateDirEntry a virtual method. 2009-12-07 09:49:05 +01:00
Vincent Povirk
cc98619ca4 ole32: Add an internal vtable to StorageBaseImpl objects. 2009-12-04 14:34:59 +01:00
Vincent Povirk
f434ab1f2a ole32: Unify the logic for overriding the root storage filename in Stat.
This is needed so that the new transacted type will be able to easily support
this logic.
2009-12-04 14:34:59 +01:00
Vincent Povirk
5456724fd7 ole32: Move the create attribute from StorageImpl to StorageBaseImpl.
This is to avoid accessing the top-level StorageImpl directly.
2009-12-04 14:34:58 +01:00
Vincent Povirk
6c3961f0c4 ole32: Copy the storage filename at stat time, not read time. 2009-11-24 10:55:45 +01:00
Vincent Povirk
d3c0a3a829 ole32: Invalidate open storage objects that outlive their parent. 2009-11-20 11:15:27 +01:00
Vincent Povirk
e77e9e45aa ole32: Add a DirRef type for references to directory entries. 2009-11-18 11:03:58 +01:00
Vincent Povirk
93db14e79a ole32: Rename SmallBlockChainStream.ownerPropertyIndex to ownerDirEntry. 2009-11-16 11:33:22 +01:00
Vincent Povirk
848caa5168 ole32: Rename BlockChainStream.ownerPropertyIndex to ownerDirEntry. 2009-11-16 11:33:15 +01:00
Vincent Povirk
df960e27c4 ole32: Rename stream.ownerProperty to dirEntry. 2009-11-16 11:33:06 +01:00
Vincent Povirk
4ba13cb9a7 ole32: Rename rootPropertySetIndex to storageDirEntry.
Not only is it not related to property set storages, it's also not the root
of the tree that's used to search for elements.
2009-11-16 11:32:58 +01:00
Vincent Povirk
cf1242e03b ole32: Rename propertyUniqueID to clsid. 2009-11-16 11:32:47 +01:00
Vincent Povirk
2203264bfa ole32: Rename propertyType to stgType. 2009-11-16 11:32:39 +01:00
Vincent Povirk
5838bcf801 ole32: Rename PROPERTY_RELATION constants to DIRENTRY_RELATION. 2009-11-13 11:52:24 +01:00
Vincent Povirk
5969bde0b1 ole32: Rename dirProperty to dirRootEntry. 2009-11-13 11:52:24 +01:00
Vincent Povirk
8a8471a765 ole32: Rename PROPSET_BLOCK_SIZE to RAW_DIRENTRY_SIZE. 2009-11-13 11:52:23 +01:00
Vincent Povirk
74d0503026 ole32: Rename PROPERTY_NAME_*_LEN to DIRENTRY_NAME_*_LEN. 2009-11-13 11:52:23 +01:00
Vincent Povirk
86759988f1 ole32: Rename PROPERTY_NULL to DIRENTRY_NULL. 2009-11-13 11:52:23 +01:00
Vincent Povirk
1bd2617c7a ole32: Rename StorageUtl_CopyPropertyToSTATSTG. 2009-11-12 13:08:15 +01:00
Vincent Povirk
42a4b11e2d ole32: Rename StorageImpl_WriteProperty to StorageImpl_WriteDirEntry. 2009-11-12 13:08:08 +01:00
Vincent Povirk
b3c30b1f4a ole32: Rename StorageImpl_ReadProperty to StorageImpl_ReadDirEntry. 2009-11-12 13:08:00 +01:00
Vincent Povirk
39e894f4f6 ole32: Rename the StgProperty structure to DirEntry.
The term "property" is misleading (ole32 has an unrelated feature
called a "property set storage"), and I haven't seen it used anywhere
outside the Wine code. The term "directory entry" matches the MS
documentation and more accurately describes their use in the file.
2009-11-12 13:07:49 +01:00
Vincent Povirk
b1baa05e28 ole32: Remove the term "property type", it's just an STGTY.
According to the MS spec, the types in compound storage files are simply
STGTY values, with an extra value named STGTY_ROOT for the root storage.
2009-11-12 13:07:27 +01:00
Vincent Povirk
20dd1886d5 ole32: Split the data conversion functions out of WriteProperty. 2009-10-29 15:47:55 +01:00
Vincent Povirk
e71c696b51 ole32: Move the low-level functionality of WriteProperty to a new function. 2009-10-29 15:47:30 +01:00
Vincent Povirk
56622de951 ole32: Move the low-level functionality of ReadProperty to a new function. 2009-10-29 15:47:20 +01:00
Vincent Povirk
0359a47d0d ole32: Fix the LEFTCHILD and RIGHTCHILD offset defines. 2009-10-28 11:10:59 +01:00
Vincent Povirk
dce1ec06c8 ole32: Rename previous/nextProperty to left/rightChild.
These fields are used to build a binary tree of elements in a storage. This
should make the usage clearer.
2009-10-26 11:17:23 +01:00
Vincent Povirk
224ddb50f3 ole32: Clarify the timestamp fields in StgProperty.
According to the MS spec, these are FILETIME structures containing creation
and modification times.
2009-10-26 11:17:13 +01:00
Andrew Eikum
85a5867308 ole32: Add big block chain to small block chain conversion routine. 2009-08-20 19:43:30 +02:00
Andrew Eikum
972e4a22f8 ole32: Allow small block chains with no property. 2009-08-20 19:43:30 +02:00
Huw Davies
0faf155887 ole32: Store the creation flag - STGM_SIMPLE depends on this. 2009-06-02 11:57:21 +02:00
Austin English
2fe86fb7cd ole32: Rename a macro to prevent a conflict on NetBSD. 2009-04-24 11:51:53 +02:00
Huw Davies
bfc32ae0c6 ole32: Add a helper function to return the file size and modify EnsureExists to use it. 2009-01-28 12:31:25 +01:00
Huw Davies
70ee112337 ole32: Move private data structure out of header file. 2009-01-28 12:31:01 +01:00
Austin English
1b24da3aa0 ole32: Spelling fixes. 2008-04-10 09:51:12 +02:00
Andrew Talbot
67d667b828 ole32: Constify some variables. 2007-07-05 19:52:35 +02:00
Aric Stewart
f8c8355d85 ole32: Implementation of state bits for IStorage. 2007-06-07 23:09:10 +02:00
Dmitry Timoshkov
dce12498d0 ole32: Move the storage signatures to the appropriate file that uses them. 2007-03-21 11:59:41 +01:00
Aric Stewart
838eb4037f ole32: Rework storage with blockfiles to properly use ILockBytes interfaces.
Rework storage to make all its interactions with the underlying data go 
though ReadAt and WriteAt to allow for an ILockBytes underlying layer.
Implement ReadAt and WriteAt in stg_bigblockfile.c for blockfiles.
2007-03-20 12:36:45 +01:00
Rob Shearman
3bd31cfd16 ole32: The stream returned by StgStreamImpl_Clone should have one reference, so call AddRef before returning.
Move the call to StorageBaseImpl_AddStream to StgStreamImpl_Construct to 
fix StgStreamImpl_Clone, which forgets to call it.
Add tests for OLE structured storage tests for IStream::Clone.
2007-02-26 17:33:36 +01:00
Francois Gouget
bb8e625b5b Assorted spelling fixes. 2006-12-05 10:31:47 +01:00
Robert Shearman
79f7318a11 ole32: Convert the *_{Read,Write}At structured storage functions to
return HRESULTs instead of BOOLs so that errors can be properly
propagated from lower levels.
2006-09-11 12:27:45 +02:00