Commit Graph

1676 Commits

Author SHA1 Message Date
Vincent Povirk
29c5ba5a77 ole32: Add and use a destroyDirEntry function for deleting directory entries.
We need this so we can free any related resources in memory.
2009-11-03 21:31:10 +01:00
Vincent Povirk
bdc4755d7d ole32: Remove uses of This->base.ancestorStorage in removeFromTree. 2009-11-03 21:30:55 +01:00
Vincent Povirk
4e4810f2c5 ole32: Remove uses of This->base.ancestorStorage in createDirEntry. 2009-11-03 21:30:49 +01:00
Vincent Povirk
7973904d56 ole32: Rename StorageImpl_SetStateBits to StorageBaseImpl_SetStateBits. 2009-11-03 21:30:39 +01:00
Vincent Povirk
17236668c9 ole32: Rename StorageImpl_SetElementTimes to StorageBaseImpl_SetElementTimes. 2009-11-03 21:30:34 +01:00
Vincent Povirk
fd2f35a872 ole32: Rename StorageImpl_DestroyElement to StorageBaseImpl_DestroyElement. 2009-11-03 21:30:27 +01:00
Vincent Povirk
c4aed16590 ole32: Rename StorageImpl_MoveElementTo to StorageBaseImpl_MoveElementTo. 2009-11-03 21:30:21 +01:00
Vincent Povirk
a5f87a4731 ole32: Rename StorageImpl_CopyTo to StorageBaseImpl_CopyTo. 2009-10-30 11:28:22 +01:00
Vincent Povirk
39e35cd7b4 ole32: Don't call internal functions from OLECONVERT_WriteOLE20ToBuffer. 2009-10-30 11:28:14 +01:00
Vincent Povirk
6a36025713 ole32: Don't call internal functions from OLECONVERT_GetOLE20FromOLE10. 2009-10-30 11:28:07 +01:00
Vincent Povirk
4f6e2453e9 ole32: Rename StorageImpl_CreateStorage to StorageBaseImpl_CreateStorage.
We don't just use the function for StorageImpl.
2009-10-30 11:27:43 +01:00
Vincent Povirk
f82924ffb9 ole32: Take a StorageBaseImpl in updatePropertyChain.
The function is not always called with a top-level storage object, and the
signature should reflect that.
2009-10-30 11:27:29 +01:00
Vincent Povirk
13b9666443 ole32: Convert adjustPropertyChain into real binary tree removal.
Finding the parent of a node in a binary tree is a detail that should
be handled inside the function.
2009-10-30 11:27:07 +01:00
Vincent Povirk
fd993b7d9d ole32: Remove directory entries from the tree before we free them.
The directory entry should still be valid as long as it's in the tree.
2009-10-30 11:26:50 +01:00
Vincent Povirk
37f3f3d92a ole32: Write the new data in getFreeProperty and rename the function.
This is to avoid calling WriteProperty with an index to a directory entry
that has not yet been reserved in the file. We reserve the entry by writing
the new data to it.
2009-10-29 15:48:12 +01:00
Vincent Povirk
20dd1886d5 ole32: Split the data conversion functions out of WriteProperty. 2009-10-29 15:47:55 +01:00
Vincent Povirk
ac9d77cd10 ole32: Use the raw directory entry functions in getFreeProperty.
The meaning of the "index" argument in Read/WriteProperty will likely
change in the future, but getFreeProperty must work with real indexes
into the file's real directory stream.
2009-10-29 15:47:44 +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
5d550cdc45 ole32: Further simplify adjustPropertyChain and fold in findPlaceholder.
The logic is unchanged from the original version.
2009-10-29 15:47:03 +01:00
Vincent Povirk
a7e69339dc ole32: Reduce duplicated code in adjustPropertyChain.
Most of the work is the same regardless of relation type, so bring
those parts out of the relation type test.
2009-10-29 15:46:16 +01:00
Vincent Povirk
911e923fbc ole32: Don't use IEnumSTATSTGImpl to search for a parent directory entry.
Use a binary search to find the parent of a storage object being deleted.
We currently use IEnumSTATSTGImpl to do a linear search, which is
unnecessary.
2009-10-28 11:12:24 +01:00
Vincent Povirk
0359a47d0d ole32: Fix the LEFTCHILD and RIGHTCHILD offset defines. 2009-10-28 11:10:59 +01:00
Alexandre Julliard
0beaa44d7d ole32: Specify the full application path when starting rpcss.exe. 2009-10-27 11:20:34 +01:00
Vincent Povirk
ee6856d874 ole32: Don't use IEnumSTATSTG to search for elements of storages.
We use it to do a linear search of a binary tree, which is overkill.
Replace it with a simple binary search.
2009-10-26 11:17:35 +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
Alexandre Julliard
f7bd47f78b ole32/tests: Set returned pointer to NULL in CreateInstance (Valgrind). 2009-10-22 13:04:36 +02:00
Paul Vriens
5f52d86cc2 oleaut32/tests: Remove a temp file. 2009-10-20 14:39:37 +02:00
Vincent Povirk
657c832765 ole32: Add test showing storage objects can't be opened twice. 2009-10-14 11:23:07 +02:00
Andrew Eikum
7e7ed92b5d ole32/tests: Add tests for IStorage::CopyTo with IID exclusions. 2009-10-12 12:13:14 +02:00
Andrew Eikum
7b475390e4 ole32: Use rgiidExclude in StorageImpl::CopyTo. 2009-10-12 12:13:11 +02:00
Andrew Eikum
29fc53b632 ole32/tests: Add tests for IStorage::CopyTo with SNB exlusions. 2009-10-06 11:57:44 +02:00
Andrew Eikum
8672289c6e ole32: Use snbExclude in StorageImpl::CopyTo. 2009-10-06 11:57:37 +02:00
Andrew Eikum
60d8547e61 ole32/tests: Add tests for IStorage::CopyTo. 2009-10-06 11:57:29 +02:00
Nikolay Sivov
5b723235d8 ole32: Check source pointer in StringFromGUID2. 2009-10-06 11:57:20 +02:00
Vincent Povirk
b41822b1dc ole32: Remove useless comments. 2009-10-05 13:46:00 +02:00
Vincent Povirk
536aa9be99 ole32/tests: Add test for non-root transacted storage objects. 2009-10-05 13:46:00 +02:00
Vincent Povirk
3c9067de9f ole32/tests: Add test for IStorage::Revert. 2009-10-05 13:46:00 +02:00
Vincent Povirk
d6e020fdb8 ole32/tests: Test substorages of transacted storage objects. 2009-10-05 13:46:00 +02:00
Vincent Povirk
40433554d5 ole32: We do need to implement Commit/Revert for non-root storage. 2009-10-05 13:45:59 +02:00
Jörg Höhle
08df19b405 ole32/tests: Guard ReleaseStgMedium with SUCCEEDED. 2009-09-30 14:31:57 +02:00
Markus Stockhausen
abdebcdbbe ole32/storage32: Fix for reference counters in nested storage. 2009-09-26 16:05:45 +02:00
Alexandre Julliard
f5ed7868ee ole32: Don't register interfaces that belong to actxprxy. 2009-09-11 12:44:15 +02:00
Huw Davies
9b38ffe6c6 ole32: The server principal name can be the constant COLE_DEFAULT_PRINCIPAL. 2009-09-08 13:51:18 +02:00
Andrew Eikum
968126c231 ole32: Don't fail when constants are 'incorrect'. 2009-09-08 12:11:10 +02:00
Austin English
f8daa90284 ole32: Fix build on Power PC. 2009-09-01 12:52:11 +02:00
Eric Pouech
09adcee263 ole32: Fix various missing Release calls on monikers. 2009-08-29 17:11:31 +02:00
Eric Pouech
35d6217def Remove a couple of superfluous casts. 2009-08-29 17:11:26 +02:00
Andrew Eikum
a0d262c545 ole32: Overwrite previous CompObj instead of failing. 2009-08-28 11:54:30 +02:00