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
Dmitry Timoshkov
dce12498d0
ole32: Move the storage signatures to the appropriate file that uses them.
2007-03-21 11:59:41 +01:00
Rob Shearman
36d5515d91
ole32: Add a test for StgStreamImpl_SetSize with a non-zero HighPart for the size.
2007-03-20 13:00:04 +01:00
Rob Shearman
251bab8ac9
ole32: Implement TYMED_FILE for STGMEDIUM marshaling and unmarshaling.
2007-03-20 12:56:34 +01:00
Rob Shearman
05e99099af
ole32: Add warnings for failures in the structured storage stream functions.
2007-03-20 12:56:30 +01:00
Aric Stewart
838eb4037f
ole32: Rework storage with blockfiles to properly use ILockBytes interfaces.
...
Rework storage to make all its interactions with the underlying data go
though ReadAt and WriteAt to allow for an ILockBytes underlying layer.
Implement ReadAt and WriteAt in stg_bigblockfile.c for blockfiles.
2007-03-20 12:36:45 +01:00
Rob Shearman
f1ced14eed
ole32: Print the contents of the IID input to OleLoad.
2007-03-14 18:49:58 +01:00