Commit Graph

1202 Commits

Author SHA1 Message Date
Rob Shearman
cfc50f89d7 ole32: Add cross-process running-object table support. 2007-09-11 13:55:08 +02:00
Lionel Debroux
caca06aa7f ole32: Fix memory leak in compositemoniker.c (found by Smatch). 2007-09-11 11:47:08 +02:00
Aric Stewart
2d8cd767b2 ole32: Properly update the SmallBlockDepotCount when adding more blocks. 2007-08-28 11:58:44 +02:00
Alex Villacís Lasso
5da0c8b18f ole32: Fix forgotten IPersistStorage vtable. 2007-08-27 12:01:31 +02:00
Stefan Leichter
fee1e38e56 ole32: Remove 'recursive registry key delete' function. 2007-08-23 20:18:32 +02:00
Huw Davies
54f2f60b54 ole32: The default handler needs to have its own implementation of IPersistStorage.
For now we forward the methods to the data cache as before.
2007-08-09 13:53:02 +02:00
Huw Davies
e97c5be2ed ole32: Factor out the running object test into a separate function. 2007-08-09 13:52:54 +02:00
Huw Davies
0c8ce0d68b ole32: Fix a few comments. 2007-08-09 13:52:48 +02:00
Rob Shearman
d845022819 ole32: Remove some dead code.
CoFreeUnusedLibraries doesn't do anything and COM_FlushMessageQueue 
won't actually allow any RPCs to be processed as the apartment has 
already been destroyed.
2007-07-16 22:46:45 +02:00
Andrew Talbot
d4417c3c14 ole32: Cast-qual warning fix. 2007-07-09 11:46:01 +02:00
Andrew Talbot
ca78a8b65f ole32: Cast-qual warnings fix. 2007-07-06 18:11:46 +02:00
Andrew Talbot
eb7a89ccc6 ole32: Constify a variable (and fix a typo concerning its level of indirection). 2007-07-06 18:11:43 +02:00
Andrew Talbot
67d667b828 ole32: Constify some variables. 2007-07-05 19:52:35 +02:00
Andrew Talbot
886c970d76 ole32: Constify some variables. 2007-07-02 14:38:11 +02:00
Andrew Talbot
66b05dde02 ole32: Constify some variables. 2007-06-29 14:30:48 +02:00
Michael Stefaniuc
d28c3ca60c ole32: Remove superfluous casts of void pointers to other pointer types. 2007-06-27 12:53:25 +02:00
Michael Stefaniuc
717cccb5ce ole32: Do not use wide character constants. 2007-06-22 12:18:55 +02:00
Aric Stewart
f8c8355d85 ole32: Implementation of state bits for IStorage. 2007-06-07 23:09:10 +02:00
Ulrich Czekalla
c2fdea600a ole32: Remove stack-based string buffer inFileMonikerImpl_DecomposePath. 2007-06-07 20:40:12 +02:00
Dmitry Timoshkov
3c9e7a7f33 wine: Switch to using 'long' for INT_PTR type for 64-bit compatibility. 2007-05-25 20:37:56 +02:00
Rob Shearman
30cc21196e ole32: Remove spurious AddRef of returned object on retrieval of an interface from the global interface table. 2007-05-23 12:49:50 +02:00
Rob Shearman
7d90b6ce29 ole32: Allow the getting of different interfaces from the global interface table than that with what the object was registered with. 2007-05-23 12:49:45 +02:00
Rob Shearman
05230781b0 ole32: Add more tests for global interface table functions. 2007-05-23 12:49:39 +02:00
Rob Shearman
eebf8df601 ole32: Fix some races in the global interface table implementation.
Fix a race between RevokeInterfaceFromGlobal and GetInterfaceFromGlobal 
by only using the entry inside the critical section.

Fix a race between two GetInterfaceFromGlobal by cloning the stream, 
instead of using it and setting the current position back to zero.
2007-05-23 12:49:28 +02:00
Rob Shearman
71a5b2d943 ole32: Add spec entry for CoRegisterSurrogateEx. 2007-05-23 12:49:23 +02:00
Rob Shearman
071ea06af8 ole32: Remove a useless trace.
Remove an incorrect comment.
2007-05-22 12:19:07 +02:00
Rob Shearman
dd8a736c3f ole32: The identity functions can be used from apartments other than the one the proxy was unmarshaled into.
In this case, don't use the cached This->remunk and don't cache the 
unmarshaled object in This->remunk.
2007-05-22 12:18:55 +02:00
Rob Shearman
bf2b49b4e0 ole32: Make proxy_manager_get_remunknown AddRef the return IRemUnknown object.
Fix up the callers to release the returned IRemUnknown object.
2007-05-22 12:18:50 +02:00
Rob Shearman
5369d4dffd ole32: Handle MSHLFLAGS_TABLEWEAK and MSHLFLAGS_TABLESTRONG when marshaling a proxy.
Add tests for this behaviour.
2007-05-22 12:18:31 +02:00
Rob Shearman
be55a4bbe2 ole32: Fix hosting in main apartments.
The recently introduced code had a bug where it passed the wrong
values into apartment_findfromtype to find the main apartment. Since
this is now the only way the function is used, fix this bug by
changing apartment_findfromtype to apartment_findmain, which only
finds the main apartment.
2007-05-21 12:38:54 +02:00
Rob Shearman
82cfed96a7 ole32: Fix reading from an HGLOBALStreamImpl with an invalid HGLOBAL.
Add tests that show the strange behaviour of IStream_Read returning S_OK 
instead of an error code.
2007-05-18 14:42:53 +02:00
Rob Shearman
600143d4fa ole32: Create host apartments to enable isolation of objects of incompatible threading models.
There should be one host apartment per apartment. Existing apartments 
should not be re-used, except in the case of the main apartment.
2007-05-18 14:42:37 +02:00
Andrew Talbot
4ea954df42 ole32: Exclude unused headers. 2007-05-16 11:55:51 +02:00
Paul Vriens
0eeb5727b2 ole32/tests: Check for correct return value. 2007-05-14 16:45:17 +02:00
Rob Shearman
ed79ddab1d ole32: Don't lookup the address for the DllGetClassObject function for ole32.dll in the apartment loaded dll list.
Call the function directly for a small performance boost.
2007-05-14 14:26:22 +02:00
Rob Shearman
70e8842924 ole32: Fix CoUninitialize to only free libraries that return S_OK from DllCanUnloadNow. 2007-05-14 14:26:17 +02:00
Rob Shearman
b005e9ed0d ole32: Move the logic in StgCreateDocfile for "if no share mode given then DENY_NONE is the default" to before the validateSTGM check.
Add a test that shows this behaviour is correct.

Remove a test on the access mode that is redundant because it is already 
done in validateSTGM.
2007-05-10 12:15:11 +02:00
Rob Shearman
4cd064aeb4 ole32: Don't release the drop target on process uninitialisation if not revoked, just release the memory. 2007-05-08 18:09:33 +02:00
Rob Shearman
71ada5c654 ole32: Add a test for the retrieved local class object in another thread being a proxy. 2007-05-08 13:24:07 +02:00
Rob Shearman
07229ed8ec ole32: Add documentation for error info functions. 2007-05-08 13:24:02 +02:00
Rob Shearman
314f9fe509 ole32: Add documentation about registered class objects only being visible in the apartment in which they were registered. 2007-05-08 13:23:57 +02:00
Rob Shearman
7d7f9a59d0 ole32: Fix CoRevokeClassObject to return RPC_E_WRONG_THREAD if it was called from a different apartment than the one that called CoRegisterClassObject. 2007-05-08 13:23:51 +02:00
Rob Shearman
23e43d886e ole32: Split CoRevokeClassObject into a separate function, COM_RevokeRegisteredClassObject, which acts on a RegisteredClass object. 2007-05-08 13:23:40 +02:00
Rob Shearman
51f85a765b ole32: COM_GetRegisteredClassObject should only retrieve objects that were registered in the current apartment. 2007-05-08 13:23:30 +02:00
Rob Shearman
e93c82e643 ole32: Add tests for in-process registered class objects not being visible from different apartments. 2007-05-08 13:23:01 +02:00
Rob Shearman
d76ab14479 ole32: Revoke registered class objects when the apartment they were registered in is destroyed, not when the last CoUninitialize is called. 2007-05-08 13:22:50 +02:00
Rob Shearman
4cbca9ac3a ole32: Add test for registered class becoming invalid when apartment is destroyed. 2007-05-08 13:22:26 +02:00
Rob Shearman
af2c349685 ole32: CoGetClassObject shouldn't return REGDB_E_KEYMISSING, so convert it to REGDB_E_CLASSNOTREG. 2007-05-08 13:22:23 +02:00
Huw Davies
962d8b6011 ole32: Cope with a realloc returning a different pointer. 2007-05-03 14:24:02 +02:00
Rob Shearman
c582136d0b ole32: Remove an unnecessary QueryInterface in CoRegisterClassObject that CoMarshalInterface will already do. 2007-05-02 15:03:28 +02:00