Commit Graph

1265 Commits

Author SHA1 Message Date
Bang Jun-young 9f3b5ae89c ole32: Include wine/port.h for snprintf(). 2007-10-17 13:44:05 +02:00
Francois Gouget f76bea09d4 ole32: Fix the CoCreateGuid() ordinal in the documentation. 2007-10-15 14:06:25 +02:00
Mikolaj Zalewski 01e7891d48 ole32: OleIsRunning should return TRUE if the class doesn't implement IRunnableObject. 2007-10-10 11:18:44 +02:00
Rob Shearman 5e2d890e5d ole32: RegisterDragDrop should return E_OUTOFMEMORY in the case that COM isn't intialised, instead of CO_E_NOTINITIALIZED. 2007-10-09 17:52:46 +02:00
Andrew Talbot 001d36b10e ole32: Fix some memory leaks. 2007-10-02 11:44:09 +02:00
Stefan Leichter b511912446 ole32: Define WINE_FILEVERSION in version resource of ole2nls.dll too. 2007-10-01 14:17:21 +02:00
Damjan Jovanovic b9bdb2a6c2 ole32: Implement win16 COCREATEGUID. 2007-10-01 14:16:57 +02:00
Stefan Leichter 71d70f0fa1 ole32: Added version resource for ole2nls.dll. 2007-09-27 21:11:18 +02:00
Alexandre Julliard 2b5376cbc1 ole32/tests: Remove test that tries to create a huge file on Windows. 2007-09-25 11:38:31 +02:00
Michael Stefaniuc dbfa8eedf7 ole32: Free memory on error path (found by Smatch). 2007-09-25 11:18:24 +02:00
Alexandre Julliard 85ad7c6558 ole32: We can now store binary files in the repository. 2007-09-17 15:53:00 +02:00
Rob Shearman 97f389451d ole32: Fix the default unload delay to depend on the threading model of the component loaded. 2007-09-12 14:04:59 +02:00
Rob Shearman 5ffe867dc7 ole32: Implement CoFreeUnusedLibrariesEx.
Fix CoFreeUnusedLibraries to use a delay of 10 minutes when used with 
multi-threaded apartments.
2007-09-12 14:04:56 +02:00
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
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
Rob Shearman cdc9367d78 ole32: Add documentation for CreateBindCtx, BindMoniker, GetRunningObjectTable and OleRun. 2007-03-27 13:00:24 +02:00
Rob Shearman 1b8537bebd ole32: Handle NULL sub-objects correctly in the STGMEDIUM user marshaling functions so that no further data in marshaled or unmarshaled. 2007-03-27 13:00:10 +02:00
Rob Shearman d1ec56c871 ole32: Generate OXID_INFO in the stub manager.
Copy the OXID_INFO from the stub manager, if available, in 
proxy_manager_construct. Otherwise, attempt to resolve it.

Use ipidRemUnknown from OXID_INFO in the proxy manager instead of 
magically generating the IPID for RemUnknown.
2007-03-27 12:39:44 +02:00
Rob Shearman 1fa24db9fd ole32: Add the OXID_INFO structure to dcom.idl. 2007-03-27 12:39:33 +02:00
Rob Shearman 061a29ee44 ole32: Add a stubbed out implementation of IClientSecurity to the proxy manager. 2007-03-27 12:39:25 +02:00
Andrew Talbot 24a197490c ole32: Replace inline static with static inline. 2007-03-23 12:29:45 +01:00
Rob Shearman 3acb0a878d ole32: The 16-bit version of CoDisconnectObject is not compatible with the 32-bit version, so create a separate stub for the former. 2007-03-21 15:55:22 +01:00