Commit Graph

811 Commits

Author SHA1 Message Date
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
Robert Shearman f7ed725b60 ole32: Register CLSID_CompositeMoniker. 2006-05-08 15:37:27 +02:00
Robert Shearman 7fe211e9b3 ole32: Register CLSIDs for all OLE monikers. 2006-05-08 15:37:06 +02:00
Robert Shearman 68fceb0a70 ole32: Add tests for item moniker. 2006-05-08 15:36:45 +02:00
Robert Shearman 26a3ff33d0 ole32: Make class moniker test more generic and test more properties. 2006-05-08 15:36:40 +02:00
Marcus Meissner f937f72308 ole32: Fixed typo in debug statement. 2006-05-08 14:46:58 +02:00
Robert Shearman 6814b33aa3 ole32: Remove the fixme printed if CoGetClassObject fails in CoCreateInstance.
Remove the fixme printed if CoGetClassObject fails in
CoCreateInstance, because we already print an error in all cases and
the error more accurately pin-points the source of the problem.
2006-05-07 10:03:11 +02:00
Robert Shearman 32d39ea6ed ole32: IPersistStream is also implemented by any object that implements IStream. 2006-05-05 21:51:52 +02:00
Robert Shearman d9b7c36009 ole32: Fix typos in StgCreateStorageEx and StgOpenStorageEx. 2006-05-05 21:51:43 +02:00
Robert Shearman 6dd5dbef64 ole32: STGM_PRIORITY allows other IStorage objects to be opened in transacted mode with read/write access. 2006-05-05 21:51:31 +02:00
Robert Shearman 693da8c471 ole32: Check that the storage was opened with write access before creating a new stream or sub-storage. 2006-05-05 21:50:12 +02:00
Robert Shearman 5d051af6ae ole32: Copy the mode flags into the STATSTG structure in IStorage::Stat.
Copy the mode flags into the STATSTG structure in IStorage::Stat. Don't 
store the STGM_CREATE flag in openFlags, since it is only relevant when 
opening the stream and the tests show that it isn't returned in the 
STATSTG structure.
2006-05-05 21:49:39 +02:00
Robert Shearman dd58e54e43 ole32: Add tests for IStorage::Stat. 2006-05-05 21:49:13 +02:00
Robert Shearman b2207d83ad ole32: Fix access right check for opening and creating streams and storages.
Check the access mode for opening and creating streams and storages
doesn't exceed the access rights the current storage was opened with,
not the parent storage.
2006-05-05 21:49:04 +02:00
Robert Shearman 8d39c80950 ole32: Add more tracing for reading and writing storage streams.
Add more tracing for read and write operations and warn in the case of
failure.
2006-05-05 21:48:49 +02:00
Robert Shearman 168e2fb98f ole32: Add tests for sub-storages and creating streams.
Replace a test that fails on NT and with DCOM95 DLLs with a test that
ensures access permissions are checked correctly for sub-storages and
creating streams.
2006-05-05 21:48:37 +02:00
Robert Shearman 8d30c1d08e ole32: Add a storage test for reading and writing of streams that have
had their parent storage released.
2006-05-05 21:48:27 +02:00
Mike McCormack 3c1e67d084 ole32: Return STG_E_REVERTED when a stream's parent storage has been closed. 2006-05-05 20:54:57 +02:00
James Hawkins 2b5963f8e2 ole32: StorageImpl_GetROBigBlock can return NULL so check for NULL before doing a memcpy. 2006-05-05 17:51:08 +02:00
Mike McCormack a8494aa9a9 ole32: Store drop targets in a standard list. 2006-05-05 16:33:12 +02:00