Commit Graph

1989 Commits

Author SHA1 Message Date
Vincent Povirk 4492850200 ole32: Make IEnumSTATSTG functions fail when the parent is invalid. 2009-12-21 15:01:23 +01:00
Vincent Povirk 2010e0fb28 ole32: Add some tests for IEnumSTATSTG. 2009-12-21 15:01:23 +01:00
Vincent Povirk 4f0dfb51b3 ole32: Fix memory leaks in the storage test. 2009-12-18 11:44:04 +01:00
Vincent Povirk 5d9fd1b716 ole32: Compare upper character values directly in entryNameCmp.
The sort function used by native is not entirely consistent with lstrcmpiW,
even on Windows.
2009-12-18 11:43:34 +01:00
Juan Lang 776ee9ee81 ole32: Fix a memory leak. 2009-12-18 11:39:08 +01:00
Vincent Povirk 393c5af205 ole32: Add a cache for block chain streams in StorageImpl. 2009-12-16 12:24:27 +01:00
Huw Davies c6d4df8b1c ole32: Fix several memory leaks in the tests.
Found by Valgrind.
2009-12-16 12:24:19 +01:00
Vincent Povirk 3ac34f7416 ole32: Properly free temporary objects when StorageBaseImpl_CopyTo fails. 2009-12-14 12:06:35 +01:00
Vincent Povirk 6afe24c38d ole32: Remove an unnecessary special case in StorageBaseImpl_CopyTo.
Opening a storage when it has already been opened now fails with
STG_E_ACCESSDENIED. If we attempt to copy a storage to its own child, this
will happen during the copy.
2009-12-14 12:06:25 +01:00
Vincent Povirk 0ad48797f8 ole32: Fix a memory leak in StorageBaseImpl_CopyTo.
Spotted by valgrind.
2009-12-14 12:06:17 +01:00
Vincent Povirk 3ff33e9303 ole32: Implement Revert for transacted storage objects. 2009-12-11 12:16:26 +01:00
Vincent Povirk 226363f5df ole32: Implement transacted storage. 2009-12-11 12:16:26 +01:00
Vincent Povirk d799f7e189 ole32: Add a stub transacted storage type.
TransactedSnapshotImpl acts as a proxy between the user and the storage
interfaces that modify the file directly (or another transacted storage).
Currently, it does not change the operations.
2009-12-11 12:16:26 +01:00
Vincent Povirk 42142200d5 ole32: Add Invalidate to the storage vtable. 2009-12-11 12:16:26 +01:00
Vincent Povirk 75fe621192 ole32: Create internal storage objects with a refcount of 1.
For consistency with StorageImpl_Construct.
2009-12-11 12:16:25 +01:00
Paul Vriens 49d40d80f4 ole32/tests: Don't crash on Win9x/WinMe by using more A-functions. 2009-12-10 12:39:52 +01:00
Vincent Povirk 8b3ff9d179 ole32: Remove the ancestorStorage attribute. 2009-12-10 11:51:39 +01:00
Vincent Povirk 5d39c31bff ole32: Make IEnumSTATSTGImpl reference the parent storage. 2009-12-10 11:51:29 +01:00
Vincent Povirk 43184aaf52 ole32: Make findElement take a StorageBaseImpl. 2009-12-10 11:51:21 +01:00
Vincent Povirk 55b3a6e59f ole32: Don't use ancestorStorage to decide if a storage is transacted. 2009-12-10 11:51:10 +01:00
Vincent Povirk 1a12141d86 ole32: Add a test for modifying read-only substorage objects. 2009-12-10 11:51:01 +01:00
Huw Davies 09db528847 ole32: Release the error info strings.
Found by Valgrind.
2009-12-09 16:50:36 +01:00
Alexandre Julliard 44a9bae9f8 ole32: Fix some pointer cast warnings on 64-bit. 2009-12-09 12:04:01 +01:00
Vincent Povirk df0ef756b3 ole32: Add an attribute to StorageBaseImpl to track its reverted status. 2009-12-09 12:03:40 +01:00
Vincent Povirk 5b79c5a5e4 ole32: Store the parent of internal storage objects. 2009-12-09 12:03:30 +01:00
Vincent Povirk 8518323e07 ole32: Don't track the stream size in storage stream objects.
We can't do this safely when there are multiple objects for a single stream.
2009-12-09 12:03:18 +01:00
Vincent Povirk 6d06c43e53 ole32: Use the storage vtable to resize streams. 2009-12-09 12:03:10 +01:00
Vincent Povirk 1d4c698ef3 ole32: Use the storage vtable to write to streams. 2009-12-09 12:02:59 +01:00
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 f43e013f73 ole32: Take a StorageBaseImpl in removeFromTree. 2009-12-08 12:35:08 +01:00
Vincent Povirk 0425ed1d38 ole32: Take a StorageBaseImpl in insertIntoTree. 2009-12-08 12:35:00 +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
Nathan Gallaher de239d86fd ole32: Fix invalid memory access in storage32. 2009-12-07 14:53:31 +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
Rob Shearman 2b74e774f9 ole32: Add tests for HGLOBAL stream ignoring the HighPart of the offset for seeks. 2009-12-07 09:32:11 +01:00
Rob Shearman 4ad631286a ole32: Initialise all of position variables in test_save_load_filemoniker.
Initialise all 8-bytes instead of just the lower 4-bytes. This test
isn't designed to be testing whether the Seek method of the object
return by CreateStreamOnHGlobal uses the high part of the positions
passed in.
2009-12-07 09:32:08 +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 b6dc718c44 ole32: Check the current storage for STGM_SIMPLE rather than ancestorStorage.
Since simple mode does not support substorages, we know these are the same.
2009-12-04 14:34:58 +01:00
Vincent Povirk cf5e6c571a ole32: Forbid substorages of simple mode storages. 2009-12-04 14:34:58 +01:00
Rob Shearman 552c91106d ole32: Fix test failure on win2000+.
These OSs have different behaviour w.r.t. quotes in path names and
don't ignore the rest of the path outside of the quotes.
2009-12-01 15:10:37 +01:00
Rob Shearman 510ed24f9a ole32: Cope with double quotes in paths for libraries to be loaded from the registry. 2009-11-30 12:48:05 +01:00
Rob Shearman 2226b678e3 ole32: Fix the length of data written and read for VT_CF types in property storage code. 2009-11-29 16:40:26 +01:00
Rob Shearman add909a021 ole32: Release the storage object in DataCache_Destroy. 2009-11-29 16:40:12 +01:00
Rob Shearman db33e8fdd9 ole32: Fix off-by-one error in FileMonikerImpl_DecomposePath.
strgtable needs to be an array of the same size as str, including the
nul-terminator.
2009-11-29 16:39:45 +01:00
Rob Shearman 6592c25bc7 ole32: Fix circular reference count in default handler objects.
This is caused by caching a pointer and reference to the data cache's
IPersistStorage interface without managing reference counts
appropriately.
2009-11-24 15:54:56 +01:00
Rob Shearman 4b1d527b15 ole32: Fix a typo in PropertyStorage_WritePropertyToStream that caused the wrong data to be written to the stream.
The field pClipData is a pointer to the data to be written, not the start of it.
2009-11-24 15:54:41 +01:00
Vincent Povirk 9da3365e84 ole32: Allocate the StorageImpl in StorageImpl_Construct.
This makes cleanup after errors much easier, as we can just use the regular
destructor.
2009-11-24 10:55:59 +01:00
Vincent Povirk 6c3961f0c4 ole32: Copy the storage filename at stat time, not read time. 2009-11-24 10:55:45 +01:00
Rob Shearman 9943facb26 ole32: Fix error code returned by CoGetClassObject/CoCreateInstance in CLSCTX_REMOTE_SERVER case. 2009-11-24 10:52:07 +01:00
Rob Shearman 8554ce5b18 ole32: Add tests for errors returned by CoCreateInstance for classes that are not registered. 2009-11-24 10:52:02 +01:00
Marcus Meissner 000e1e0ce0 ole32: Some missing error checking in FileMonikerImpl_CommonPrefixWith (Coverity). 2009-11-24 10:51:42 +01:00
Rob Shearman 24cccbf4d1 ole32: Add inproc handler object creation support for CoCreateInstance. 2009-11-24 10:46:12 +01:00
Rob Shearman a7b621bd9b ole32: Fix behaviour of CoLockObjectExternal with fLastUnlockReleases as FALSE.
The parameter controls whether weak references are ignored, not
whether the last stub_manager_int_release should be called when the
total reference count goes to zero.
2009-11-24 10:46:06 +01:00
Rob Shearman bcf0be6a99 ole32: Add test for CoLockObjectExternal with fLastUnlockReleases as FALSE. 2009-11-24 10:46:00 +01:00
Rob Shearman d963e97f32 ole32: Objects registered as local servers don't need to support IClassFactory. 2009-11-20 16:38:56 +01:00
Rob Shearman 377159c4a7 ole32: Fix size of memory allocation in FileMonikerImpl_DecomposePath. 2009-11-20 16:38:46 +01:00
Rob Shearman d1db29e801 ole32: Fix buffer overrun in CLIPFORMAT_UserMarshal.
The string in format is nul-terminated so use memcpy to copy it into
the buffer and don't try to nul-terminate it manually which causes a
write outside of the allocated buffer length.

Fix a similar off-by-one error in CLIPFORMAT_UserUnmarshal too. This
time it is only reading from beyond the buffer.
2009-11-20 16:38:39 +01:00
Vincent Povirk 669af158da ole32: Invalidate open storage objects that are deleted. 2009-11-20 11:15:53 +01:00
Vincent Povirk 8569d547b9 ole32: Forbid renaming an open storage. 2009-11-20 11:15:44 +01:00
Vincent Povirk c62a4ad841 ole32: Forbid opening the same storage twice. 2009-11-20 11:15:35 +01:00
Vincent Povirk d3c0a3a829 ole32: Invalidate open storage objects that outlive their parent. 2009-11-20 11:15:27 +01:00
Vincent Povirk 3cd2a80eda ole32: Add test for freeing the parent of a storage. 2009-11-20 11:15:21 +01:00
Vincent Povirk 52100e9620 ole32: Do not allow renaming streams that are open. 2009-11-19 11:46:57 +01:00
Vincent Povirk 371f6a4818 ole32: Do not allow the same stream to be opened twice. 2009-11-19 11:46:49 +01:00
Vincent Povirk 53128d522b ole32: Use safe list iteration when searching for streams to invalidate. 2009-11-19 11:46:41 +01:00
Vincent Povirk 9d0c4c971d ole32: Always invalidate stream objects when deleting the stream. 2009-11-19 11:46:32 +01:00
Vincent Povirk a2c405fa15 ole32: Add a test for freeing the parent of an open stream. 2009-11-19 11:46:18 +01:00
Vincent Povirk 55604eb36c ole32: Invalidate child streams when a non-top-level storage is freed. 2009-11-19 11:46:07 +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 d3dbc8b1e6 ole32: Rename property variables in storage stream implementation. 2009-11-18 11:03:30 +01:00
Rob Shearman 932544d34c ole32: OleInitialize should return S_OK if it is called for the first time on a thread independently of CoInitializeEx. 2009-11-17 15:14:53 +01:00
Vincent Povirk aca5cc52e1 ole32: Rename property variables in SmallBlockChainStream methods. 2009-11-17 12:04:41 +01:00
Vincent Povirk 8f2d0f8887 ole32: Rename property variables in BlockChainStream methods. 2009-11-17 12:04:34 +01:00
Vincent Povirk 3aa8cdec7b ole32: Rename property variables in StorageInternalImpl_Construct. 2009-11-17 12:04:27 +01:00
Vincent Povirk f8ca09c0b8 ole32: Rename property variables in IEnumSTATSTGImpl methods. 2009-11-17 12:04:21 +01:00
Vincent Povirk 54781b657f ole32: Rename property variables in block chain conversion functions. 2009-11-17 12:04:14 +01:00
Vincent Povirk d21d690ac5 ole32: Rename property variables in internal StorageImpl methods. 2009-11-17 12:04:07 +01:00
Vincent Povirk 26acdb3efd ole32: Rename property variables in StorageImpl_Construct. 2009-11-17 12:04:00 +01:00
Vincent Povirk f1861166bb ole32: Rename property variables in internal storage functions. 2009-11-17 12:03:52 +01:00
Vincent Povirk b984e46b86 ole32: Rename property variables in the StorageBaseImpl methods. 2009-11-17 12:03:42 +01:00
Vincent Povirk de3ed0bb50 ole32: Rename firstPropertyNode to storageDirEntry. 2009-11-17 12:03:32 +01:00
Vincent Povirk 42e8dfa2cb ole32: Rename propertyNameCmp to entryNameCmp. 2009-11-16 11:33:54 +01:00
Vincent Povirk a9ad3fed29 ole32: Rename property variables in insertIntoTree. 2009-11-16 11:33:47 +01:00
Vincent Povirk 14647d7ca9 ole32: Rename deleteSt*Property to deleteSt*Contents.
We now only delete the node contents in these functions.
2009-11-16 11:33:41 +01:00
Vincent Povirk 390e2711f6 ole32: Rename rootPropertyName to rootEntryName. 2009-11-16 11:33:30 +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
Hans Leidekker e265d534e4 ole32: Return success from OleLockRunning when the object does not support IRunnableObject. 2009-11-11 11:50:50 +01:00
Vincent Povirk bc3fa10773 ole32: Add tests for IStorage_RenameElement. 2009-11-11 10:55:07 +01:00
Vincent Povirk 87ed7d9b8b ole32: Simplify RenameElement by using the same entry in the file. 2009-11-11 10:54:59 +01:00
Vincent Povirk 274a1d11c1 ole32: Adjust updatePropertyChain signature and name to match removeFromTree. 2009-11-11 10:54:42 +01:00
Rob Shearman 0228008bb8 widl: Allow pointers, type-qualifiers and other more complicated constructions in sizeof and cast expressions. 2009-11-09 20:42:57 +01:00
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
Austin English 57bc49099b ole32: Add a stub for CoGetCurrentLogicalThreadId. 2009-08-27 13:36:04 +02:00
Alexandre Julliard 4964374570 ntdll: The large integer functions are 32-bit only. 2009-08-24 15:17:33 +02:00
Andrew Eikum a0aaa65507 ole32: Don't read past the end of the stream when converting block types. 2009-08-24 12:02:40 +02: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
Andrew Eikum 7ca31e83f0 ole32: Repair leak on error path. 2009-08-20 19:43:30 +02:00
Juan Lang b308157bf2 ole32: Correct byte count. 2009-08-20 15:26:54 +02:00
Juan Lang c664e9f494 ole32: On big endian machines, copy strings to little endian order without mucking with the map they're stored in. 2009-08-20 15:26:45 +02:00
Alexandre Julliard 4770ba7bcc ole32/tests: Skip a string that may not round-trip in all codepages. 2009-08-19 10:02:50 +02:00
Alexandre Julliard a104766b07 ole32/tests: Don't release the token object since it doesn't have a proper ref count. 2009-08-18 13:00:37 +02:00
Alexandre Julliard 9b2e414e91 ole32/tests: Avoid infinite waits in tests. 2009-08-18 12:48:57 +02:00
Alexandre Julliard d617642999 ole32/tests: Avoid depending on the heap allocation order for the CoGetObjectContext test. 2009-07-22 14:42:50 +02:00
Francois Gouget 3cbeae820d ole32: Make apartment_addref() static. 2009-07-07 11:16:26 +02:00
Francois Gouget f8afcdbb7c ole32: Reorder some compobj functions to avoid forward declarations. 2009-07-07 11:16:22 +02:00
Paul Vriens f057d7d63f ole32/tests: Reset a variable before testing. 2009-07-06 14:35:26 +02:00
Alexandre Julliard 05beb0daed ole32/tests: Fix the HMETAFILE_UserSize prototype. 2009-07-03 13:57:21 +02:00
Alexandre Julliard 56af92b073 makefiles: Regenerate the source lists using make_makefiles. 2009-07-03 13:26:38 +02:00
Michael Stefaniuc a1b286086e ole32: Import the content of version.rc into the main rc file.
There is no need for a separate file.
2009-07-03 13:06:18 +02:00
Hans Leidekker 6986d97f18 ole32: Use existing MTA in CoGetContextToken and CoGetObjectContext. 2009-07-03 13:06:17 +02:00
Paul Vriens fb0275dd31 ole32/tests: Fix some test failures on Win9x/WinME. 2009-07-02 14:26:02 +02:00
Huw Davies e67da11716 ole32: Implement OleCreateEmbeddingHelper.
Based on a patch by Rob Shearman.
2009-06-26 11:59:04 +02:00
Hans Leidekker 82bcafe8eb ole32: Add tests for CoGetContextToken. 2009-06-23 15:52:58 +02:00
Hans Leidekker b9be397024 ole32: Implement CoGetContextToken. 2009-06-23 15:52:37 +02:00
Huw Davies 7490f922e0 ole32/tests: Add a test for enhanced metafile retrieval. 2009-06-23 11:45:08 +02:00
Huw Davies 5c97db9db6 ole32: Add support for retrieving enhanced metafiles. 2009-06-23 11:45:02 +02:00
Huw Davies f48e5e2b5f ole32: Since OleCreateLinkFromData is a stub we should return S_FALSE from OleQueryLinkFromData. 2009-06-22 14:32:30 +02:00
Francois Gouget 872035f1ab ole32: Make stub_manager_int_addref() static. 2009-06-22 13:31:03 +02:00
Francois Gouget 887c395ce2 ole32: Reorder some stubmanager functions to avoid forward declarations. 2009-06-22 13:30:58 +02:00
Vincent Povirk 51385a98cc ole32: Add support for rendering HENHMETAFILE clipboard objects. 2009-06-22 11:22:11 +02:00
Alexandre Julliard c98ce23fd2 ole32: Get rid of line feeds and tabs in traces. 2009-06-09 17:01:14 +02:00
Francois Gouget 70cdb5c3e4 ole32/tests: Make test_readonly() static. 2009-06-05 14:43:25 +02:00
Paul Vriens cb81487707 ole32/tests: Fix remaining test failures on NT4 and below. 2009-06-04 12:11:51 +02:00
Paul Vriens 27485d9b53 ole32/tests: Fix a crash on NT4 and below. 2009-06-03 11:26:55 +02:00
Paul Vriens df24ec66dd ole32/tests: Run more tests on Win9x by using A-functions. 2009-06-03 11:26:47 +02:00
Paul Vriens 08a6e0c2d4 ole32/tests: Move common variables to the top. 2009-06-03 11:26:36 +02:00
Huw Davies 16dc037859 ole32: In simple mode keep the stream size above the small block limit. 2009-06-02 11:57:21 +02:00
Huw Davies 02fc79b2c9 ole32: In simple create mode the size returned by IStream_Stat is actually the current stream position. 2009-06-02 11:57:21 +02:00
Huw Davies cc8c36c44c ole32: In simple mode, CreateStream with the STGM_CREATE flag should fail. 2009-06-02 11:57:21 +02:00
Huw Davies 0faf155887 ole32: Store the creation flag - STGM_SIMPLE depends on this. 2009-06-02 11:57:21 +02:00
Huw Davies 8b7b67712f ole32: Rename a parameter to better reflect its use. 2009-06-02 11:57:21 +02:00
Vincent Povirk 6f05770fbf ole32: Don't ignore a failure to delete the old element in CreateStorage. 2009-06-01 16:16:02 +02:00
Vincent Povirk e21adbf45a ole32: Fix return code of DeleteStorage for read only storage. 2009-06-01 16:16:02 +02:00
Vincent Povirk 93a155381f ole32: Fix crash when calling CreateStorage on read only storage. 2009-06-01 16:16:02 +02:00
Vincent Povirk 4a0901fb87 ole32: Fix crash when calling CreateStream on read only storage. 2009-06-01 16:16:02 +02:00
Vincent Povirk 5aab52c977 ole32: Add some tests for read only storage objects. 2009-06-01 16:16:02 +02:00
Alexandre Julliard fb640601ea ole32: Fix some pointer conversion warnings on 64-bit. 2009-05-28 15:24:25 +02:00
Huw Davies 628a8743d2 ole32/tests: Fix tests on systems without IE installed. 2009-05-25 11:21:12 +02:00
Huw Davies 485811cf9c ole32: Explicitly add the three ULONGs from the METAFILEPICT struct to allow for padding in the 64-bit version. 2009-05-22 15:16:29 +02:00
Huw Davies ed09de1e6f ole32: Fix remote HMETAFILEPICT marshalling on 64 bit systems. 2009-05-21 16:17:52 +02:00
Huw Davies 825a1b7595 ole32/tests: Use the current stream position to determine the marshal data size. 2009-05-21 16:17:52 +02:00
Vincent Povirk b49d541cb5 ole32: Process sent and DDE messages in CoWaitForMultipleHandles. 2009-05-20 10:54:26 +02:00
Huw Davies 82b4b6423c ole32/tests: Exercise the HGLOBAL marshaller over a range of block sizes. 2009-05-20 10:51:04 +02:00
Huw Davies 8aa2db4724 ole32: Use OleCreateFromDataEx to implement OleCreateFromData. 2009-05-19 15:46:41 +02:00
Huw Davies d2837d91d0 ole32: Add support for retrieving the data from CF_EMBEDDEDOBJECT. 2009-05-19 15:46:35 +02:00
Huw Davies 63eb810428 ole32: Add support for retrieving data from IPersistStorage. 2009-05-19 15:46:29 +02:00
Huw Davies a9f96ad60a ole32: Beginnings of OleCreateFromDataEx. 2009-05-19 15:46:24 +02:00
Huw Davies 564b960428 ole32/tests: Cope with an alignment hole between the two marshalled interfaces. 2009-05-19 15:46:17 +02:00
Huw Davies 707f962896 ole32/tests: Remove assumptions about the size of marshalled data. 2009-05-19 15:46:11 +02:00
Huw Davies c36826705c ole32: Implement TYMED_ISTORAGE marshalling. 2009-05-18 13:27:53 +02:00
Huw Davies 3b15bbfd37 ole32: Implement TYMED_ISTREAM marshalling. 2009-05-18 13:27:49 +02:00
Huw Davies 10919f7fb9 ole32/tests: Add tests for TYMED_ISTREAM marshalling. 2009-05-18 13:27:43 +02:00
Huw Davies cc68fc4467 ole32: Add support for marshalling pUnkForRelease. 2009-05-18 13:27:37 +02:00
Huw Davies 4581af5863 ole32/tests: Add tests for STGMEDIUM marshalling with a non-NULL pUnkForRelease. 2009-05-18 13:27:34 +02:00
Huw Davies 5b6312f24c ole32: Implement the WdtpInterfacePointer marshal functions. 2009-05-18 13:27:30 +02:00
Huw Davies affe9a1e6e ole32/tests: Show that it's the loword of the separate flag parameter that determines the marshalling context. 2009-05-18 13:27:24 +02:00
Huw Davies e4d43c1099 ole32: Add proxies and stubs for FillAppend and FillAt. 2009-05-18 13:24:42 +02:00
Huw Davies 069d57502d ole32: Add proxies and stubs for ReadAt and WriteAt. 2009-05-18 13:24:37 +02:00
Huw Davies 5abb393eb7 ole32: Add proxies and stubs for OpenStream and EnumElements. 2009-05-18 13:24:31 +02:00
Huw Davies aa13c7c522 ole32: Add proxies and stubs for Seek and CopyTo. 2009-05-18 13:24:19 +02:00
Huw Davies e8be59b8f8 ole32: Add proxies and stubs for Read and Write. 2009-05-18 13:24:13 +02:00
Huw Davies 374aacdc9f ole32: Add proxies and stubs for GetData and GetDataHere. 2009-05-18 13:24:00 +02:00
Huw Davies b045342ae8 ole32/tests: Add tests to show the WdtpInterfacePointer marshal data looks like the result of CoMarshalInterface. 2009-05-12 14:57:54 +02:00
Huw Davies 782ec11a0d ole32/tests: Make the size tests for the WdtpInterfacePointer marshaller more restrictive. 2009-05-12 14:57:51 +02:00
Alexandre Julliard 18419dab31 ole32/tests: Fix the clipboard format test on Win64. 2009-05-08 13:52:05 +02:00
Hans Leidekker bd4975acb0 ole32: Use existing MTA in CoGetClassObject and CoCreateInstance.
Custom actions in the CS3 installer depend on this.
2009-05-05 14:14:20 +02:00
Hans Leidekker d2820c0684 ole32: Add tests to show that COM needs to be initialized only once for multi-threaded apartments. 2009-05-05 14:14:10 +02:00
Huw Davies 66d04f8eb6 ole32: Implement GetDataHere. 2009-04-30 17:20:00 +02:00
Huw Davies 2e11733f45 ole32: Don't ask for a name if it's not required. 2009-04-28 14:47:54 +02:00
Huw Davies d2837cb94d ole32/tests: Improve the traces in the test. 2009-04-24 15:02:23 +02:00
Huw Davies 739ca6deae ole32: Fix a couple of comments. 2009-04-24 15:02:11 +02:00
Huw Davies 12edc21a3a ole32: Expose the marshalled data on the clipboard rather than as a window prop so that other processes can actually read it. 2009-04-24 15:02:05 +02:00
Austin English 2fe86fb7cd ole32: Rename a macro to prevent a conflict on NetBSD. 2009-04-24 11:51:53 +02:00
Aric Stewart 46da8ef18b ole32: CoGetTreatAsClass should return S_FALSE if it cannot even find the key for the requested CLSID. 2009-04-24 11:51:35 +02:00
Huw Davies 211268a74e ole32: Rewrite OleQueryCreateFromData so it compares clipboard format ids rather than strings and be sure to free the enumerator. 2009-04-23 18:14:27 +02:00
Huw Davies b133e94b62 ole32: Register a few more clipboard formats and make them have global scope. 2009-04-23 18:14:27 +02:00
Huw Davies 689c510f63 ole32: Add a stub for OleCreateFromDataEx. 2009-04-23 18:14:27 +02:00
Huw Davies 11cb788f35 ole32/tests: For win9x and winme the size of the data on the clipboard may be larger than expected. 2009-04-23 18:14:03 +02:00