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