Commit graph

1172 commits

Author SHA1 Message Date
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
Aric Stewart
dc4c9da44f ole32: Accelerators, like for the menu ones, should not fire on the keyup message. 2007-05-01 11:42:24 +02:00
Michael Stefaniuc
5f62da109e janitorial: Pass HEAP_ZERO_MEMORY as flag to HeapAlloc() instead of zeroing out the allocated memory in a later call. 2007-04-25 12:26:07 +02:00
Andrew Talbot
65bf44868c ole32: Void functions should not return a value. 2007-04-13 12:58:50 +02:00
Rob Shearman
1360357f92 ole32: Fix a hack which depended on the IID of the interface being marshaled
to determine whether we were marshaling the remote unknown for the
apartment or not.
2007-04-06 12:31:04 +02:00
Rob Shearman
74c04149be ole32: Move declaration for FileMonikerImpl_DecomposePath from compobj_private.h to moniker.h. 2007-04-05 13:26:29 +02:00
Rob Shearman
63ea015c65 ole32: Don't release the registered drop targets in OleUninitialize.
Do it in DLL_PROCESS_DETACH instead.
2007-04-05 13:25:18 +02:00
Rob Shearman
47432cba45 ole32: Check the input hwnd is valid in RevokeDragDrop. 2007-04-05 13:25:05 +02:00
Rob Shearman
2d8ae2cf83 ole32: Check for COM not being initialised and an invalid window handle being input to RegisterDragDrop. 2007-04-05 13:24:54 +02:00
Rob Shearman
db4972f1fb ole32: Add tests for drag and drop functions. 2007-04-05 13:23:59 +02:00
Aric Stewart
6230222aab ole32: Storage optimization.
We do not need to unmap and remap all the victim pages with every
resize as they are simply a cache. Provides significant speedup for
saving large storage files.
2007-04-05 10:53:47 +02:00
Rob Shearman
ab7f796fcb ole32: Keep a list of the loaded dlls for each apartment.
Use it to make CoFreeUnusedLibraries per-apartment.
2007-04-04 21:28:36 +02:00
Rob Shearman
30721a88e3 ole32: Cache the address for the library's DllGetClassObject and DllCanUnloadNow in the OpenDll list entry. 2007-04-04 21:28:01 +02:00
Rob Shearman
1d8879bccc ole32: Add a test that shows CoFreeUnusedLibraries only frees unused libraries from the current apartment. 2007-04-04 21:27:12 +02:00
Rob Shearman
c40f1b6659 ole32: Move the handling of loading a dll and getting an in-process object from it to an apartment-specific function.
Use it to implement apartment_hostobject in a cleaner way so that it is 
guaranteed to not recurse.
2007-04-04 21:27:07 +02:00
Rob Shearman
679bfdab28 ole32: Move the in-process module loading to COMPOBJ_DllList_Add. 2007-04-04 21:26:53 +02:00
Rob Shearman
247255568c ole32: Convert the OpenDll list to a standard Wine list.
Store the library name and make it reference counted.
2007-04-04 21:26:47 +02:00
Paul Vriens
ec30f6de30 ole32/stg_bigblockfile: Check page before use (Coverity). 2007-04-04 12:45:05 +02:00
Francois Gouget
0081b430e1 Assorted spelling and English fixes. 2007-04-03 11:23:12 +02:00
Francois Gouget
a8695bae88 ole32/tests: Spelling fix. 2007-04-03 11:22:57 +02:00
Francois Gouget
f4f4eb24c8 ole32/tests: Spelling fix. 2007-04-03 11:22:52 +02:00
Francois Gouget
d9e8a0f63e Remove unneeded checks on the GetModuleHandle() return value for cases where we are linked with the dll. 2007-03-28 12:36:13 +02:00
Rob Shearman
f8789122aa ole32: Implement MkParseDisplayName. 2007-03-28 12:12:49 +02:00
Rob Shearman
87a4516bd9 ole32: Add some more tests for MkParseDisplayName. 2007-03-28 12:11:15 +02:00
Rob Shearman
32dc398976 ole32: Display the testname for the test for display name in test_moniker. 2007-03-28 12:11:07 +02:00
Rob Shearman
4ce58cb531 ole32: Do a case-insensitive comparison in the count_moniker_matches in the moniker tests as Win9x marshals an all upper-case file name for file monikers. 2007-03-28 12:11:00 +02:00
Rob Shearman
1f70fc50c6 ole32: Add tests for the standard marshaler's implementation of IClientSecurity. 2007-03-28 12:10:51 +02:00
Rob Shearman
d6a435fc56 ole32: Pass the OXID info to RPC_CreateClientChannel and use this to pass the server process ID to channel hooks. 2007-03-28 12:10:40 +02:00
Rob Shearman
8b50eb3556 ole32: Register the ProgID for the class and file monikers. 2007-03-27 13:00:54 +02:00
Rob Shearman
2514c0141e ole32: Move GetClassFile to moniker.c and move OleRun to ole2.c. 2007-03-27 13:00:44 +02:00
Rob Shearman
8e0145242b ole32: Add documentation for CoGetClassObject and GetClassFile. 2007-03-27 13:00:29 +02:00