Alexandre Julliard
c98ce23fd2
ole32: Get rid of line feeds and tabs in traces.
2009-06-09 17:01:14 +02:00
Vincent Povirk
b49d541cb5
ole32: Process sent and DDE messages in CoWaitForMultipleHandles.
2009-05-20 10:54:26 +02:00
Hans Leidekker
bd4975acb0
ole32: Use existing MTA in CoGetClassObject and CoCreateInstance.
...
Custom actions in the CS3 installer depend on this.
2009-05-05 14:14:20 +02:00
Aric Stewart
46da8ef18b
ole32: CoGetTreatAsClass should return S_FALSE if it cannot even find the key for the requested CLSID.
2009-04-24 11:51:35 +02:00
Alexandre Julliard
7b6dd2c9f8
ole32: Get rid of WINE_StringFromCLSID and A->W conversions.
2009-03-12 13:09:52 +01:00
Alexandre Julliard
6b40f64e18
ole32: Make compobj.dll into a stand-alone 16-bit module.
2009-03-12 13:09:31 +01:00
Rob Shearman
d974922698
ole32: Fix a memory leak in an error path in COMPOBJ_DllList_Add.
2009-03-09 12:04:35 +01:00
Andrey Turkin
644220b518
ole32: Prevent recursion when CLSIDFromString is passed empty string.
2009-01-20 12:23:11 +01:00
Andrey Turkin
d0a345f914
ole32: Add a few fields to OLE TLS area to match native memory layout.
2009-01-19 14:46:02 +01:00
Andrey Turkin
a06f568a2a
ole32: Add CoGetCallContext and CoSwitchCallContext implementations.
2009-01-19 14:44:32 +01:00
Andrey Turkin
37d27c38ce
ole32: Add IContextCallback interface to context object.
2009-01-15 12:42:12 +01:00
Alexandre Julliard
16b5e6b9b5
ole32: Register interfaces through dlldata.c as far as possible.
2008-12-02 20:52:09 +01:00
Maarten Lankhorst
08c78e07a9
ole32: Fix releasing spy.
2008-11-28 12:56:47 +01:00
Maarten Lankhorst
92dca953d9
ole32: Add Co*InitializeSpy functions.
2008-11-26 13:44:36 +01:00
Francois Gouget
66063ae4a4
ole32: Remove WINAPI on static functions where not needed.
2008-11-26 12:33:13 +01:00
Rob Shearman
de03fe3c0f
ole32: Update comments in compobj.c.
2008-09-16 22:33:14 +02:00
Michael Karcher
75bf84e60b
ole32/compobj: Fix function name in comment.
2008-09-15 11:31:33 +02:00
Rob Shearman
064b6fce0c
ole32: Fix testing of HRESULT types with not operator instead of comparing against S_OK.
...
This makes it more obvious what the code is doing.
2008-08-18 17:34:12 +02:00
Lei Zhang
c7ce692d13
ole32: Silence FIXME from CoGetContextToken stub.
2008-07-22 13:03:18 +02:00
Alexandre Julliard
a803fa3578
ole32: Make the apartment window a HWND_MESSAGE window.
2008-06-26 13:22:16 +02:00
Alexandre Julliard
d324c42b4c
ole32: Don't consider RPC_S_UUID_LOCAL_ONLY an error in CoCreateGuid.
...
Return a proper HRESULT for other errors.
2008-06-24 11:50:42 +02:00
Rob Shearman
8580198dc8
ole32: Keep track of the number of weak references to an object.
...
This is so that an object will only be released when a weak-reference is
used after the last weak reference has been released (either by
CoReleaseMarshalData or CoUnmarshalInterface + Release).
2008-04-29 12:35:26 +02:00
Austin English
c531e2abdb
Spelling fixes.
2008-04-23 12:31:07 +02:00
Austin English
1b24da3aa0
ole32: Spelling fixes.
2008-04-10 09:51:12 +02:00
Andrew Talbot
4971f2f687
ole32: Assign to structs instead of using memcpy.
2008-03-11 12:11:51 +01:00
Francois Gouget
29ef0b90ee
Assorted spelling, punctuation and case fixes.
2008-03-03 12:04:48 +01:00
Alexandre Julliard
de61fc5eca
ole32: Added a CoGetContextToken stub.
2008-02-26 11:21:54 +01:00
Rob Shearman
bfa6ddaeb7
ole32: Fix a potentially confusing combination of conditional and bitwise or operators by adding extra brackets.
2008-02-13 16:42:36 +01:00
Rob Shearman
a10cf16449
ole32: Remove an assert that is useless and triggers warnings elsewhere in static analysis tools.
2008-02-13 16:42:30 +01:00
Rob Shearman
e0d25c6394
ole32: Fix local-variable shadowing in apartment_hostobject_thread.
2008-02-13 16:42:23 +01:00
Gerald Pfeifer
76e7cc9423
ole32: Remove one noop check in CoWaitForMultipleHandles().
2008-01-02 12:38:42 +01:00
Alexander Dorofeyev
188ef4e4f9
ole32: Fix wrong timeout check.
2007-12-24 13:30:56 +01:00
Lei Zhang
d5e78c84c7
ole32: Print a fixme when an aggregation attempt fails.
2007-12-14 12:25:14 +01:00
Rob Shearman
31b2d81ea0
ole32: Ignore the threading model of the PSFactoryBuffer object created during standard marshaling.
...
This is so that we don't try to host it.
2007-12-03 11:55:00 +01:00
Rob Shearman
f65e04770d
ole32: Always create a window for the main apartment.
2007-12-03 11:54:16 +01:00
Rob Shearman
d881005c4f
ole32: Release the stream in COM_RevokeRegisteredClassObject.
2007-11-13 13:29:38 +01:00
Rob Shearman
433639f783
ole32: Free the memory associated with the open DLL list on unloading of ole32.
2007-11-12 11:46:23 +01:00
Rob Shearman
23dc7b6a67
ole32: Implement CoGetObjectContext.
2007-11-02 12:18:45 +01:00
Francois Gouget
f76bea09d4
ole32: Fix the CoCreateGuid() ordinal in the documentation.
2007-10-15 14:06:25 +02:00
Damjan Jovanovic
b9bdb2a6c2
ole32: Implement win16 COCREATEGUID.
2007-10-01 14:16:57 +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
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
66b05dde02
ole32: Constify some variables.
2007-06-29 14:30:48 +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
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
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
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
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
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
af2c349685
ole32: CoGetClassObject shouldn't return REGDB_E_KEYMISSING, so convert it to REGDB_E_CLASSNOTREG.
2007-05-08 13:22:23 +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
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
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
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
Rob Shearman
f8789122aa
ole32: Implement MkParseDisplayName.
2007-03-28 12:12:49 +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
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
Huw Davies
a8c72b76cf
ole32: Only retrieve posted and paint messages in an STA message loop.
2007-03-13 11:52:41 +01:00
Rob Shearman
f0189b8789
ole32: Implement CoAddRefServerProcess and CoReleaseServerProcess.
2007-03-09 21:17:47 +01:00
Rob Shearman
789f344c2b
ole32: Make RegisteredClass list into a standard Wine list.
2007-03-09 21:17:42 +01:00
Rob Shearman
15a0b7fad5
ole32: Don't keep the local server named pipe open for a single-use object.
2007-03-09 21:16:44 +01:00
Rob Shearman
880542a9f8
ole32: Close the named pipe after revoking local server objects.
2007-03-09 21:16:37 +01:00
Rob Shearman
c826515e55
ole32: REGCLS_MULTIPLEUSE implies CLSCTX_INPROC_SERVER in CoRegisterClassObject.
2007-03-09 21:16:31 +01:00
Rob Shearman
87155d654f
ole32: Compare the class contexts in COM_GetRegisteredClassObject.
...
Only objects that have been registered for a class context that matches
the requested class context should be returned.
2007-03-06 12:10:50 +01:00
Francois Gouget
f5c6a71a65
ole32: Better match the PSDK types and fix the winapi_check warnings.
2007-02-20 20:29:10 +01:00
Rob Shearman
ba25254d9f
ole32: Remove some unneeded inclusions of headers.
...
Change some incorrect usages of SEEK_SET to the intended STREAM_SEEK_SET
instead.
2007-01-10 12:08:51 +01:00
Rob Shearman
84158d6742
ole32: Remove a FIXME comment that no longer applies.
2007-01-10 12:02:24 +01:00
Rob Shearman
ee99b6d743
ole32: Marshal the ORPCTHAT structure prefixed to the server data.
...
Unmarshal the data on the client side (during
ClientChannelBuffer_SendReceive) and call ClientNotify.
2006-12-27 14:34:15 +01:00
Rob Shearman
844037ab01
ole32: Performing a COM call from within the processing of a sent message during a wait for completion of another COM call is not allowed.
...
Add a test for the behaviour where RPC_E_CANTCALLOUT_ININPUTSYNCCALL is returned.
2006-12-24 13:08:02 +01:00
Rob Shearman
038c8e642a
ole32: Call the MessagePending function for message filters.
2006-12-24 13:07:38 +01:00
Rob Shearman
5788ee9f05
ole32: Implement CoRegisterChannelHook and call channel hook methods on the client side.
2006-12-20 12:39:50 +01:00
Rob Shearman
7a5766346f
ole32: Add some documentation for CoCreateInstance.
2006-12-07 11:51:13 +01:00
Dmitry Timoshkov
09fea0f83e
ole32: Make some data const.
2006-11-28 12:36:17 +01:00
Huw Davies
241336c749
ole32: CoRegisterMessageFilter shouldn't crash on an uninitialized apartment.
2006-11-16 22:09:24 +01:00
Eric Pouech
5c0f35a2aa
ole32: CoUninitialize: No longer access an object after it's been freed.
2006-10-24 11:32:38 +02:00
Francois Gouget
ef998ea6cb
Assorted spelling fixes.
2006-10-16 11:33:38 +02:00
Michael Stefaniuc
21ff87bf50
ole32: Win64 printf format warning fixes.
2006-10-16 10:53:28 +02:00
Robert Shearman
f463b9d422
ole32: AppId is a value under the clsid key, rather than a key.
2006-08-28 17:48:45 +02:00
Robert Shearman
9038705919
ole32: Fix functions defined without specifying argument types by changing them to "(void)".
2006-08-28 17:48:40 +02:00
Robert Shearman
986027af9f
ole32: Add support for main-threaded apartments.
...
A main-threaded apartment is the first single-threaded apartment in the
process. It was designed to be used for legacy applications that don't
want to think about threading at all, even if they are always called
from the same context, as is the case for regular STAs.
2006-08-26 19:36:56 +02:00
Robert Shearman
83d24a6408
ole32: Move the opening of the AppId key for a clsid to a helper function.
2006-08-26 19:28:10 +02:00
Robert Shearman
619ba90dbe
ole32: CoGetClassObject should host a single-threaded object in a
...
single-threaded apartment if executing in a multi-threaded apartment,
if one exists.
2006-08-26 19:27:52 +02:00
Robert Shearman
c1eb2c7003
ole32: Get the threading model value for inproc classes and output a
...
fixme if we should create it in an apartment of another type.
2006-08-26 19:24:23 +02:00
Robert Shearman
f42d61df0d
ole32: Move some functions out of compobj.c that don't belong there and update the copyright statement.
2006-08-16 16:42:32 +02:00
Robert Shearman
0e99d795b7
ole32: Add some more tests for failure cases of Co* functions and make builtin ole32 pass them.
2006-08-16 16:42:01 +02:00
Robert Shearman
31726e3823
ole32: Add tests for the failure cases of CLSIDFromProgID and fix the function to conform to these.
2006-08-16 16:41:47 +02:00
Francois Gouget
ce9b4baad8
Assorted spelling fixes.
2006-08-07 13:52:55 +02:00
Robert Shearman
6455b9e1a0
ole32: Fix CoLockObjectExternal to respect fLastUnlockReleases.
2006-08-03 22:23:13 +02:00
Alexandre Julliard
518ee99f6f
ole32: Make some functions and variables static.
2006-08-02 13:31:26 +02:00
Robert Shearman
2308d49bcb
ole32: Implement CoRegisterPSClsid.
2006-07-21 10:52:03 +02:00
Robert Shearman
fac6bedda9
ole32: Improve CoRegisterMessageFilter and add tests for it.
2006-07-17 13:43:47 +02:00