Robert Shearman
3018974ce3
- Make proxy manager use IMultiQI instead of IInternalUnknown as tests
...
show that IInternalUnknown isn't exposed.
- Implement IMultiQI on top of IRemUnknown calls.
- Silence some fixmes that occur during tests and don't give us any
useful information.
- Fix typo in class factory proxy that caused us to use the wrong
offset into the CFProxy structure, causing us to not call the
outer_unknown properly.
2005-01-26 21:07:05 +00:00
Robert Shearman
cbbf08a7e2
- Use InterlockedIncrement for the ipid counter instead of a critical
...
section (suggested by Mike Hearn).
- Remove a line added by a bad merge.
- Implement RemUnkStub_Disconnect.
- Remove all of the RPC disconnect code.
2005-01-26 20:53:06 +00:00
Robert Shearman
ad34f3dc5e
- Generate machine-local IPIDs.
...
- Make pipes be uniquely identified only by their IPID.
2005-01-25 10:57:24 +00:00
Robert Shearman
6b89a92215
- Add a new flag SORFP_NOLIFETIMEMGMT to tell the proxy manager not to
...
call any IRemUnknown functions.
- Move the low-level unmarshaling code into a new function,
unmarshal_object, so that it can be easily reused for unmarshaling
IRemUnknown.
2005-01-24 11:24:08 +00:00
Robert Shearman
4c8d59dd91
Implement table marshaling.
2005-01-17 13:39:40 +00:00
Robert Shearman
5ce396f9bd
- Remove obsolete structs, rearrange things to group the structs
...
together and to group similar functions.
- Document thread-safety of members of structs.
2005-01-14 17:20:27 +00:00
Robert Shearman
6036a773e2
- The apartment reference should be held while the stub manager
...
reference is held.
- Fix same apartment-unmarshal detection.
2005-01-14 16:48:34 +00:00
Robert Shearman
452491bd03
- Document CoSetState & CoGetState.
...
- Rewrite them to only retrieve TLS info once.
- Remove trailing whitespace in COM_CurrentInfo.
2005-01-12 19:48:39 +00:00
Robert Shearman
c353f85082
- Document how thread-safety is ensured for each member of the
...
stub_manager and ifstub structs.
- Make stub_manager ref counted to ensure it doesn't get freed whilst
it is still being used.
- ifstubs are now freed only when the controlling stub_manager is freed.
- Rename stub_manager_ref/unref to stub_manager_ext_addref/release
respectively and make then take an unsigned long to prevent
malicious callers from passing in a negative value and corrupting
the ref count.
2005-01-11 10:45:34 +00:00
Robert Shearman
86d63bbbac
Rename iid in wine_marshal_id to ipid and use IPIDs instead of IIDs in
...
the stub manager.
2005-01-07 15:33:41 +00:00
Robert Shearman
23e390a223
- Make struct oletls ref counted so that it is only detached from the
...
apartment on the final CoUninitialize.
- Decrease the size of the crit sec on destroying an apartment - it is
only needed for touching the apartment list.
- Small cleanups.
2005-01-06 19:39:07 +00:00
Mike Hearn
a6a416cb4e
- Make apartment access thread-safe by introducing refcounting and
...
wider usage of the apartment lock.
- Rework OLE TLS management to eliminate uninitialised apartments and
parent chaining.
2005-01-05 17:14:33 +00:00
Robert Shearman
2835633789
Implement proxy manager.
2005-01-04 11:58:23 +00:00
Robert Shearman
5d7d188df5
- Move named pipe macros into rpc.c.
...
- Remove unneeded function.
2004-12-27 19:27:57 +00:00
Robert Shearman
2b747d4e50
Implement COM local servers using table marshaling to avoid doing the
...
marshaling in a child thread where COM has not been initialized.
2004-12-27 19:24:55 +00:00
Mike Hearn
5475a2e617
- Implement the COM stub manager, refactor the current stub code.
...
- Begin implementing interface stubs.
2004-12-27 19:21:47 +00:00
Mike Hearn
737e67b17b
Propagate apartments through the intermediate threads, make listener
...
thread apartment scoped.
2004-12-27 16:59:28 +00:00
Eric Pouech
4056d7ef8c
Fixed some errors in function prototypes.
2004-12-13 21:19:01 +00:00
Robert Shearman
2c3de6db24
- Make the wine_marshal_id structure more like the DCOM OBJREF
...
structure, by replacing the process id field by apartment id (OXID),
changing the users of the process id field to use the new field and
renaming the objectid field to oid.
- Fix StdMarshalImpl_UnmarshalInterface to invalidate and release its
stub when doing a same apartment marshal.
2004-12-08 17:49:30 +00:00
Mike Hearn
36aee71988
Rename the STUBMGR thread to more accurately reflect its purpose.
2004-12-07 17:01:40 +00:00
Alexandre Julliard
03250ff6e7
Inline functions don't need WINE_UNUSED.
2004-09-01 04:55:52 +00:00
Alexandre Julliard
936198ce45
Moved ICOM_THIS_MULTI definition out of objbase.h and into the files
...
that use it.
2004-08-13 00:44:22 +00:00
Alexandre Julliard
48c4bb3c31
Get rid of the non-standard ICOM_VTABLE macro.
2004-08-12 23:00:51 +00:00
Mike Hearn
819942339f
Disconnect proxies at COM shutdown to release the corresponding
...
stubs.
2004-08-02 18:28:29 +00:00
Mike Hearn
5169f3c5d2
Implement disconnect for proxies so that stubs are properly
...
destroyed.
2004-07-29 23:58:12 +00:00
Robert Shearman
2e93adc5c7
- Remove unneeded STUBMGR_Start call.
...
- Cleanup compobj_private.h.
2004-07-22 23:44:54 +00:00
Robert Shearman
2eee76703d
- CoSetState info should be thread local.
...
- SetErrorInfo should allocate an apartment when no apartment present.
2004-02-10 01:36:20 +00:00
Alexandre Julliard
e37c6e18d0
Fixed header dependencies to be fully compatible with the Windows
...
headers (with help from Dimitrie O. Paun).
2003-09-05 23:08:26 +00:00
Alexandre Julliard
7df1b9e03a
Start using the exported TEB structure from winternl.h where
...
possible.
2003-08-28 19:57:35 +00:00
Alexandre Julliard
02f2813968
Renamed a few TEB fields to use the "official" names.
2003-08-27 23:14:29 +00:00
Mike Hearn
739ccae798
Implement a class factory for the Global Interface Table.
2003-06-17 03:57:18 +00:00
Ove Kaaven
ef57c4d905
Preliminary support for COM apartments.
2003-06-04 20:11:34 +00:00
Francois Gouget
f803e2a92d
Fix miscellaneous spelling errors and typos.
2003-05-13 00:41:57 +00:00
Mike Hearn
cb816d2c3f
Implemented the global interface table object using a simple linked
...
list.
2003-03-11 01:45:38 +00:00
Juergen Schmied
d1c144148c
- Moved 16 bit functions to a seperate file.
...
- First implementation for free threaded marshaller.
- Fixed handling of REG_EXPAND_STRING registry values in CoCreateObject.
- Fixed CoLoad/FreeLibrary functions.
- Fixed use internal dll-list (used only for functions loading a dll
internally without returning HMODULE).
2002-08-03 00:17:10 +00:00
Alexandre Julliard
0799c1a780
Added LGPL standard comment, and copyright notices where necessary.
...
Global replacement of debugtools.h by wine/debug.h.
2002-03-09 23:29:33 +00:00
Marcus Meissner
0749fc2034
Implemented Local Server COM.
...
Implemented the Typelib based Marshaler.
2002-02-05 18:11:17 +00:00
Patrik Stridvall
bc38d6bfde
- Made sure that the files that contains the declarations
...
of the implementated functions are included.
- Corrected mismatching prototypes.
- Cleaned up the include section.
2001-07-20 18:00:00 +00:00
Francois Gouget
3116bd9f45
compobj.h is a synonym for objbase.h
...
Moved all the other contents to dlls/ole32/compobj_private.h
2000-11-25 03:08:23 +00:00