Troy Rollo
bdbc482651
ole32: Use STGM_WRITE when opening child storage to delete its children.
2006-05-31 11:45:29 +02:00
Robert Shearman
f2bd261f12
ole32: Add a class factory for CLSID_InProcFreeMarshaler.
2006-05-25 10:43:29 +02:00
Robert Shearman
386fcbb5f7
ole32: Implement GetUnmarshalClass for the free-threaded marshaler and
...
remove unnecessary unmarshaling code for the standard-marshal case -
this is handled by CoUnmarshalInterface and CoReleaseMarshalData.
2006-05-25 10:43:18 +02:00
Robert Shearman
2c57189a97
ole32: Implement table-strong marshaling and ReleaseMarshalData for the free-threaded marshaler.
2006-05-25 10:43:07 +02:00
Robert Shearman
f9b5280dd0
ole32: Implement table-weak marshaling for the free-threaded marshaler.
2006-05-25 10:42:56 +02:00
Robert Shearman
b795631daa
ole32: Release the standard marshal in the free-threaded marshaler's UnmarshalInterface function.
2006-05-25 10:42:12 +02:00
Robert Shearman
4335c64f7b
ole32: Add a rough implementation of the free-threaded marshaler MarshalInterface and UnmarshalInterface methods, with test cases.
2006-05-25 10:41:17 +02:00
Robert Shearman
4d1d2b6c1f
ole32: Fix the free-threaded marshaler when it has no outer unknown.
2006-05-25 10:41:04 +02:00
Robert Shearman
760208b2a5
uuid: Add some COM CLSIDs.
2006-05-25 10:38:57 +02:00
Jonathan Ernst
360a3f9142
Update the address of the Free Software Foundation.
2006-05-23 14:11:13 +02:00
Troy Rollo
1be295fb47
ole32: Fix excessive file sizes for Storage files.
...
The IStorage (DocFile) implementation was adding empty blocks at the
end of the file every time a caller wrote data that was not a multiple
of 512 bytes. If the caller made a lot of very small writes the file
size could be huge even though the data in the file was tiny. This was
caused by BlockChainStream_SetSize trying to allocate file blocks for
the new data using a condition that bore no relationship to the
required condition, and it was not necessary to do so at that time
since it is done (the right way) by StorageImpl_GetNextFreeBigBlock
(called via BlockChainStream_Enlarge).
2006-05-23 13:00:13 +02:00
Robert Shearman
0fd184773a
ole32: Release the outer unknown in the proxybuffer test.
...
Release the outer unknown in the proxybuffer test to show that the
last release of the outer unknown doesn't free the proxy buffer.
2006-05-23 12:05:07 +02:00
Robert Shearman
875390110f
ole32: Release the proxy buffer object on the last release of the proxy's outer unknown.
...
Release the proxy buffer object on the last release of the proxy's outer
unknown, otherwise memory is leaked for the Ndr implementation of
IRpcProxyBuffer.
Fix up the hand-coded proxies to match the behaviour from the Ndr
implementation.
2006-05-23 12:05:01 +02:00
Francois Gouget
17689c07bb
Fix some winapi_check documentation warnings.
2006-05-15 15:05:15 +02:00
Francois Gouget
f7c24f37ad
Various trace fixes.
...
Add trailing '\n's to trace calls.
Remove spaces before '\n'.
2006-05-15 15:05:09 +02:00
Francois Gouget
3b102b39f4
ole32: Fix compilation with gcc 2.95.
2006-05-15 11:09:01 +02:00
Robert Shearman
74407105d2
Check the return value from register_key_guid in all the DLL registering code.
2006-05-10 19:38:04 +02:00
Robert Shearman
5a8536a18d
ole32: Add a test for IMoniker_IsDirty.
2006-05-10 19:26:22 +02:00
Robert Shearman
af6d97ad36
ole32: Exception handling shouldn't be needed around the call to IRpcStubBuffer_Invoke.
...
It should have its own exception handler to catch any exceptions that are raised.
2006-05-10 19:24:24 +02:00
Robert Shearman
1c6f16a384
ole32: The type check in AntiMonikerImpl_CommonPrefixWith should be for anti-monikers, not item-monikers.
2006-05-08 21:14:36 +02:00
Robert Shearman
ae62ab039f
ole32: Implement several class moniker functions using the description provided on MSDN.
2006-05-08 21:14:28 +02:00
Robert Shearman
b155f233f3
ole32: Remove duplicated CLSIDs.
2006-05-08 21:13:38 +02:00
Robert Shearman
8a4f71c61e
ole32: Add an implementation of class monikers.
2006-05-08 21:13:32 +02:00
Robert Shearman
71a7393f45
ole32: Add tests for IsRunning, GetTimeOfLastChange, BindToObject, BindToStorage and Inverse.
2006-05-08 21:04:26 +02:00
Robert Shearman
288fb09b31
ole32: Fix regression caused by an earlier patch that removed the
...
check for the composite moniker having only one moniker in it. In this
case, return the one moniker and free the memory associate with the
composite moniker.
2006-05-08 20:59:25 +02:00
Robert Shearman
96646d532f
ole32: Fix infinite recursion in CompositeMonikerImpl_GetTimeOfLastChange by handling pmkToLeft properly.
...
Fix a typo where CompositeMonikerImpl_GetTimeOfLastChange was called
instead of the virtual implementation of it on mostRightMk.
2006-05-08 20:59:04 +02:00
Robert Shearman
91afe981e0
ole32: Fix infinite recursion in CompositeMonikerImpl_BindToStorage.
2006-05-08 20:58:53 +02:00
Mike Hearn
27800ef4cc
ole32: Add StgCreateFile test and conformance fix.
2006-05-08 16:04:51 +02:00
Alexandre Julliard
fec050c88d
ole32: Properly initialize hash value in CompositeMonikerImpl_Hash.
2006-05-08 16:04:41 +02:00
Robert Shearman
b6592efa83
ole32: Fix typos in CompositeMonikerImpl_BindToObject and CompositeMonikerImpl_BindToStorage.
2006-05-08 15:45:08 +02:00
Robert Shearman
806f6e7bd6
ole32: Create moniker enumerator with an initial reference count.
2006-05-08 15:44:58 +02:00
Robert Shearman
91e51971c0
ole32: Test moniker display names.
2006-05-08 15:44:49 +02:00
Robert Shearman
d8563f1eba
ole32: Add a test for IMoniker_IsDirty.
2006-05-08 15:44:39 +02:00
Robert Shearman
77188bbeab
ole32: Test unmarshaling the moniker instead of just releasing the marshaled data.
2006-05-08 15:44:27 +02:00
Robert Shearman
57b42ae7bc
ole32: Make the size returned by CompositeMonikerImpl_GetMarshalSizeMax match that returned by native.
2006-05-08 15:44:15 +02:00
Robert Shearman
50ec1d6849
ole32: Add on the size of the whole OBJREF structure in the case of custom marshaling.
2006-05-08 15:44:06 +02:00
Robert Shearman
340f7a3ec0
ole32: Fix the algorithm used in CompositeMonikerImpl_Hash to match native.
2006-05-08 15:43:46 +02:00
Robert Shearman
e97709ff6d
ole32: Fix the algorithm used in ItemMonikerImpl_Hash to match native.
2006-05-08 15:43:35 +02:00
Robert Shearman
b011a2ba8f
ole32: Add tests for generic composite monikers.
2006-05-08 15:43:27 +02:00
Robert Shearman
caefc34084
ole32: Add a class factory for composite monikers.
2006-05-08 15:43:16 +02:00
Robert Shearman
fa8472c35a
ole32: Allocate memory for the generic composite moniker in CompositeMonikerImpl_Construct.
...
Don't leak memory in the case of newCompositeMoniker->tabLastIndex == 1,
which can't happen anyway.
Allow construction of a moniker with no sub-monikers.
2006-05-08 15:42:53 +02:00
Robert Shearman
9e799f2054
ole32: Implement IMarshal for composite monikers.
2006-05-08 15:41:25 +02:00
Robert Shearman
e68e6d7dba
ole32: Release all existing monikers before loading the state.
2006-05-08 15:41:13 +02:00
Robert Shearman
785d957eb4
ole32: EnumMonikerImpl_Next should add a reference to the monikers it returns to the caller.
2006-05-08 15:41:04 +02:00
Robert Shearman
3a77ee1d5e
ole32: Fix CompositeMonikerImpl_GetSizeMax to match the data written by CompositeMonikerImpl_Save.
2006-05-08 15:40:56 +02:00
Robert Shearman
9c6b67090f
ole32: Fix the loop in CompositeMonikerImpl_Hash, as IEnumMoniker_Next
...
will return S_FALSE when there are no more monikers left to enumerate.
2006-05-08 15:40:43 +02:00
Robert Shearman
2a320dbde8
ole32: Implement CompositeMonikerROTDataImpl_GetComparisonData.
2006-05-08 15:40:31 +02:00
Robert Shearman
996b35f272
ole32: The unknown constant at the start of the persisted data is the number of monikers in the generic composite.
...
Fix the pointer passed into IEnumMoniker_Release in CompositeMonikerImpl_Save.
2006-05-08 15:40:05 +02:00
Robert Shearman
c8c93e6657
ole32: Add a test for anti monikers. Fix AntiMonikerImpl_Hash and AntiMonikerROTDataImpl_GetComparisonData to pass the tests.
2006-05-08 15:39:47 +02:00
Robert Shearman
caa8b4ed1d
ole32: Support marshaling of anti monikers.
2006-05-08 15:39:10 +02:00