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
Huw Davies
083473659b
ole32/tests: Rename variable to avoid a conflict on some systems.
2009-04-22 17:00:56 +02:00
Huw Davies
aaed9de51a
ole32: Improve the TRACEs by printing the fmtetc contents.
2009-04-22 17:00:53 +02:00
Huw Davies
6928615d5c
ole32/tests: Add some tests to exercise the enumerator.
2009-04-22 14:43:37 +02:00
Huw Davies
1556d831c8
ole32/tests: win9x and winme don't enumerate duplicated cfFormats.
2009-04-22 14:43:33 +02:00
Huw Davies
d18875f306
ole32/tests: win64 sets the lsb of the final DWORD in the ole private data header.
2009-04-22 14:43:20 +02:00
Huw Davies
f9d48e7ba0
ole32/tests: win9x and winme don't have CF_UNICODETEXT.
2009-04-22 14:43:17 +02:00
Huw Davies
508d6db8e2
ole32/tests: win9x, winme and nt4 ignore the target device.
2009-04-22 14:43:13 +02:00
Huw Davies
57d555c796
ole32/tests: OleGetClipboard doesn't return the same object under win9x, winme and nt4.
2009-04-22 14:43:09 +02:00
Huw Davies
08d4352f9b
ole32: Add support for enumerating non-ole clipboard formats.
2009-04-21 13:26:17 +02:00
Huw Davies
575b0e1435
ole32: Don't set cf_dataobject if we're clearing the clipboard.
2009-04-21 13:21:19 +02:00
Huw Davies
1e73a54690
ole32: Check that the target devices match.
2009-04-21 13:16:48 +02:00
Huw Davies
bdca138d5a
ole32: Make get_priv_data return target device ptrs (rather than offsets) and add a couple of helper functions to simplify this process.
2009-04-21 13:16:37 +02:00
Huw Davies
aadd07ca9d
ole32/tests: Tests for a flushed clipboard.
2009-04-16 11:37:39 -05:00
Huw Davies
c648dcf615
ole32: Try global and stream types if the requested types don't match the source.
2009-04-16 11:37:30 -05:00
Huw Davies
18d413bb74
ole32: OleFlushClipboard should render all formats to the clipboard.
2009-04-16 11:37:25 -05:00
Huw Davies
9bacd00ce7
ole32: Add support for getting storage based objects from a flushed clipboard.
2009-04-16 11:37:18 -05:00
Huw Davies
25d7ecde47
ole32: Add support for getting stream based objects from a flushed clipboard.
2009-04-16 11:37:10 -05:00
Huw Davies
f8a9ca2cfa
ole32: Add support for getting global handle objects from a flushed clipboard.
2009-04-16 11:37:03 -05:00
Huw Davies
718831b77c
ole32/tests: Add a few more reference count tests.
2009-04-16 11:36:53 -05:00
Huw Davies
fca4ed5596
ole32: After a call to GetData the consumer should hold a ref on the source data object.
2009-04-16 11:36:42 -05:00