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
Alexandre Julliard
4bb2199c8e
ole32: Make a function static.
2008-12-04 12:47:56 +01:00
Alexandre Julliard
16b5e6b9b5
ole32: Register interfaces through dlldata.c as far as possible.
2008-12-02 20:52:09 +01:00
Alexandre Julliard
1bd26cca94
ole32: Use a dlldata.c file instead of maintaining the data manually.
2008-12-01 18:56:15 +01:00
Maarten Lankhorst
92dca953d9
ole32: Add Co*InitializeSpy functions.
2008-11-26 13:44:36 +01:00
Alexandre Julliard
ebdb933b6d
ole32: Convert source files to utf-8.
2008-10-18 19:20:29 +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
Rob Shearman
630e273d17
uuid: Add CLSID_InProcFreeMarshaler.
...
Remove its initialisation from ole32.
2008-03-06 17:43:19 +01:00
Francois Gouget
29ef0b90ee
Assorted spelling, punctuation and case fixes.
2008-03-03 12:04:48 +01:00
James Hawkins
7b56757cf6
janitorial: Remove links to any microsoft site.
2008-03-01 12:17:13 +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
d792a522c3
ole32: Remove an incorrect comment.
2007-11-02 12:18:50 +01:00
Andrew Talbot
66b05dde02
ole32: Constify some variables.
2007-06-29 14:30:48 +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
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
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
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
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
061a29ee44
ole32: Add a stubbed out implementation of IClientSecurity to the proxy manager.
2007-03-27 12:39:25 +02: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
cb9c40a8cf
ole32: Add the external references that the server gave to us to any existing ifproxy,
...
so that the right external reference count is released when the proxy is destroyed.
Protect all changes to refs in the ifproxy using interlocked functions
and update the thread-safety documentation.
2007-02-06 21:35:25 +01:00
Rob Shearman
a45a2e37f9
ole32: Add a field to the TLS data to determine whether OLE has been initialised for the current thread.
2007-01-08 12:35:41 +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
aca17cd120
ole32: Track the pending call count so that the correct call type can be passed to the message filter HandleInComingCall function.
2006-12-24 13:07:35 +01:00
Rob Shearman
e236edb91e
ole32: Send a causality ID in the ORPCTHIS header for a call.
...
Use the causality ID to determine whether this is a top-level or a
nested (called-back) call for the purposes of IMessageFilter::HandleInComingCall.
2006-12-20 12:41:01 +01:00
Rob Shearman
a089e57983
ole32: Pass in the IID and IUnknown* of the object being executed to the server notification and message filter functions.
2006-12-20 12:40: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
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
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
Alexandre Julliard
32f57b0214
ole32: Use the standard DEFINE_OLEGUID macro to define GUIDs.
2006-06-09 21:09:49 +02:00
Robert Shearman
f2bd261f12
ole32: Add a class factory for CLSID_InProcFreeMarshaler.
2006-05-25 10:43:29 +02:00
Jonathan Ernst
360a3f9142
Update the address of the Free Software Foundation.
2006-05-23 14:11:13 +02:00
Robert Shearman
b155f233f3
ole32: Remove duplicated CLSIDs.
2006-05-08 21:13:38 +02:00
Robert Shearman
7406cc210b
ole: Implement IRpcChannelBuffer::GetDestCtx on the client side.
2006-03-06 11:09:34 +01:00
Robert Shearman
92a1f52b4d
ole: Store the destination context and the destination context data in
...
the proxy manager when unmarshaling.
2006-03-06 11:08:52 +01:00
Robert Shearman
a37a5014a2
ole: Change the Apartment Model field to a boolean.
...
Change the apartment model field to a boolean that just specifies
whether the apartment is multi-threaded or not and fix up all the
places where this is used.
Fixes a bug where we would return an error if the previous apartment
model passed into CoInitializeEx matches the new apartment model, but
additional optimisation flags are specified.
2006-02-20 11:15:57 +01:00
Robert Shearman
cd2fafb775
ole: Defer apartment window creation until the first object is marshalled.
2006-01-10 20:41:23 +01:00
Robert Shearman
fcba783fc7
ole: Add an accessor function for an apartment's window.
2006-01-10 20:41:22 +01:00
Robert Shearman
a02cb3ebd6
ole: Pass a channel into IRpcStubBuffer::Invoke.
...
Create a server channel and store this in the ifstub.
Rename ipid_to_apt_and_stubbuffer to ipid_get_dispatch_params and make
the function return an HRESULT.
Return the channel for the ifstub in ipid_get_dispatch_params.
2006-01-10 20:41:22 +01:00
Robert Shearman
b75db2d9de
ole: Join the MTA if necessary when executing an RPC call.
...
Join the MTA if necessary when executing an RPC call to ensure that it
is executing with a valid apartment and won't fail for certain COM
calls.
2006-01-09 18:41:19 +01:00
Robert Shearman
cc4669cc5f
ole: Remove __CLSIDFromStringA.
...
Move the ANSI implementation of CLSIDFromString to ole16.c and change
CLSIDFromString to only deal with Unicode strings.
2006-01-09 18:40:17 +01:00
Robert Shearman
b9d7754034
Delegate advises to the remote object to enable the client to receive
...
data change notifications.
2005-11-28 11:16:58 +01:00