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
ca608933dd
Make proxy shutdown test succeed by releasing the channel on
...
disconnect.
2005-01-14 17:20:13 +00:00
Robert Shearman
0e18914481
- Add documentation for most Co* functions.
...
- Move several functions into different files to group them with
similar functions.
2005-01-14 17:05:36 +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
ead057c4b7
- Don't use the pipe caching code because it doesn't work correctly at
...
the moment.
- Always write disconnect reply packet, even in failure cases.
2005-01-14 15:59:01 +00:00
Robert Shearman
a84e7d7b75
Destroy stubs on apartment shutdown.
2005-01-14 15:11:55 +00:00
Mike Hearn
ba0475e738
Force context switch on chanbuf disconnect to avoid a race in the test
...
suite.
2005-01-14 15:11:24 +00:00
Christian Costa
a010e3b3fa
CoInitialize(Ex) should return S_FALSE when COM is already initialized
...
for the current thread.
2005-01-12 19:58:09 +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
2891bc53ba
Remove wine_marshal_data: it is unneeded and there is no equivalent in
...
STDOBJREF.
2005-01-12 19:48:20 +00:00
Robert Shearman
de95de1865
- Force creation of thread queue to stop PostThreadMessage from
...
failing.
- Remove incorrect comment.
2005-01-12 19:28:37 +00:00
Robert Shearman
89f5c8241f
The way apartments are used has changed, so fix up the hacks in the
...
RPC code that haven't yet been updated.
2005-01-12 19:27:22 +00:00
Robert Shearman
36f482cb7d
- Make MTA dynamically allocated so that proxies and other resources
...
are freed at the proper time.
- Changed/removed some incorrect comments regarding apartments.
2005-01-12 19:27:04 +00:00
Bill Medland
9c6de52bb2
Corrected testing for multithreaded (based upon observations by Paul
...
Vriens, Christian Costa and Robert Shearman).
Added TRACE for investigating OXID errors.
2005-01-11 15:45:03 +00:00
Mike McCormack
71424b80e5
Tests and fixes for StgOpenStorage.
2005-01-11 15:08:08 +00:00
Robert Shearman
68fc5f8890
Add tests for trying to unmarshal from a bad stream and for testing
...
what interfaces the proxy exposes.
2005-01-11 10:45:52 +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
Mike McCormack
6f20133705
Test and fix a few problems with OLE storage streams.
2005-01-11 10:44:28 +00:00
Mike McCormack
b146b75c27
Test and fix StgCreateDocFile grfModes.
2005-01-10 12:26:25 +00:00
Paul Vriens
202b340a51
- use Interlocked* functions in AddRef and Release.
...
- store the result of the Interlocked functions and use only this.
2005-01-09 17:29:21 +00:00
Eric Pouech
cf1d00bb08
Removed excessive statement (break after return or goto, not useful
...
break, not needed vars...)
2005-01-09 16:42:53 +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
090003360f
The current architecture cannot handle pipes changing address, so use
...
a static array. Fixes memory corruption that sometimes occurs when
using multiple pipes.
2005-01-07 15:33:26 +00:00
Robert Shearman
b2edf2f03c
No need to add a reference to the apartment from new_stub_manager as
...
we don't hold on to an apartment pointer.
2005-01-06 20:43:48 +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
Robert Shearman
67bae9f213
ConnectNamedPipe returning ERROR_PIPE_CONNECTED is not an error.
2005-01-06 19:38:48 +00:00
Robert Shearman
b5e4d1a8d8
The channel buffer can be NULL if the proxy is disconnected, so check
...
for this before releasing it.
2005-01-05 17:30:20 +00:00
Robert Shearman
9f426df0a8
- Fix race on apartment creation.
...
- Display errors in decimal to make searching for the meaning in
winerror.h easier.
2005-01-05 17:30:04 +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
Mike McCormack
a246306870
Allow COM to start services containing COM servers.
2005-01-05 13:22:10 +00:00
Robert Shearman
85763a1711
- Add tracing for proxy ref count functions.
...
- Release the channel on proxy destruction.
2005-01-04 20:33:02 +00:00
Mike Hearn
73318dab8f
Add a DCOM todo list.
2005-01-04 20:32:47 +00:00
Robert Shearman
2835633789
Implement proxy manager.
2005-01-04 11:58:23 +00:00
Robert Shearman
dee74a6ec9
Make the ClassFactory proxy support aggregation.
2005-01-04 11:47:52 +00:00
Michael Stefaniuc
15a308a9d7
Do not check for non NULL pointer before HeapFree'ing it. It's
...
redundant.
2005-01-03 14:56:42 +00:00
Mike Hearn
054f9ecc3c
Comment out an assert, as we don't yet implement IRemUnknown.
2005-01-03 14:34:09 +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
Michael Stefaniuc
5ad7d858e0
Do not check for non NULL pointer before HeapFree'ing it. It's
...
redundant.
2004-12-23 17:06:43 +00:00
Eric Pouech
bcfa5b0900
ReadFile and WriteFile must be passed a parameter for the number of
...
handled bytes when no overlapped operation is done.
2004-12-22 18:38:31 +00:00
Robert Shearman
827154e451
Add tests for moniker and marshaling functions.
2004-12-21 14:51:27 +00:00
Francois Gouget
6fb1a20020
Assorted spelling fixes.
2004-12-20 19:27:06 +00:00
Ge van Geldorp
b4bb1c931c
Allocate correct amount of memory.
2004-12-16 14:23:16 +00:00
Robert Shearman
9fdd91fdc4
- Add documentation to several functions.
...
- Coding style changes according to the style Mike and I have agreed
upon for COM related files.
2004-12-14 15:31:05 +00:00
Robert Shearman
2fa9a0a6fd
Remove unneeded includes and the unused COMPOBJ_hInstance32 variable.
2004-12-14 15:28:58 +00:00
Robert Shearman
40b4f7f6e6
Use OBJREF on the wire for generic marshaling functions.
2004-12-14 15:14:40 +00:00
Robert Shearman
398a595377
Fixed incorrect unsigned test.
2004-12-14 11:35:12 +00:00
Eric Pouech
4056d7ef8c
Fixed some errors in function prototypes.
2004-12-13 21:19:01 +00:00
Alexandre Julliard
ebe3c529b1
Janitorial: C booleans must not be compared against TRUE.
2004-12-09 14:07:59 +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
Robert Shearman
cba8763c33
Remove unnecessary WNDPROC casts.
2004-12-06 11:51:29 +00:00
Robert Shearman
3b0a5d0a06
- Add some function declarations to objbase.h.
...
- Add stubs for server ref counting.
- Implement HRESULT marshaling.
2004-12-01 15:33:34 +00:00
Eric Pouech
0a258964c2
Const correctness fixes.
2004-11-30 21:38:57 +00:00
Mike Hearn
b547af156b
Trace the OLE error info strings.
2004-11-29 17:00:39 +00:00
Mike Hearn
a153efc5bb
- Improve OLE function documentation.
...
- Bail out with CO_E_NOTINITIALIZED when apt is null.
2004-11-29 17:00:15 +00:00
Robert Shearman
aa758eaf82
Implement OleDuplicateData.
2004-11-24 18:12:06 +00:00
Alexandre Julliard
405568801e
Removed a couple of no longer needed entries.
2004-11-19 18:28:05 +00:00
Ge van Geldorp
b3f2c53155
Use only one .res file.
2004-10-27 00:47:53 +00:00
Dmitry Timoshkov
c41d0c9a4b
- Remove bogus use of nStatCounter and hOleAut32 in CoSetState.
...
- Remove a comment about protecting per thread data by a critical section.
2004-10-25 21:48:44 +00:00
Francois Gouget
3bb5b093e8
Assorted spelling fixes.
2004-10-22 22:27:51 +00:00
Vincent Béron
4eeae1adb3
Fix some types problems.
2004-10-18 22:39:21 +00:00
Robert Shearman
0fb8f4a15e
Improve proxy destruction comment.
2004-10-18 19:34:51 +00:00
Francois Gouget
486d020c1b
Don't define COBJMACROS in objbase.h.
...
Update the Wine sources accordingly.
2004-10-07 03:06:48 +00:00
Francois Gouget
67aa858a31
Assorted spelling fixes.
2004-10-05 18:15:29 +00:00
Alexandre Julliard
739e5b06da
Avoid depending on the non-standard IUnknown_METHODS macro in Wine
...
internal headers.
2004-10-05 04:16:21 +00:00
Joris Huizer
34cffce6f9
Ref count increment/decrement cleanup.
2004-09-24 01:16:53 +00:00
Hans Leidekker
719a789792
Fix signed/unsigned comparison warnings.
2004-09-22 02:46:38 +00:00
Alexandre Julliard
0af18186b2
Ignore the generated header files.
2004-09-21 01:05:14 +00:00
Alexandre Julliard
47461203c4
Build the .h files from their idl source at compile time, and remove
...
them from CVS.
2004-09-21 00:35:02 +00:00
Alexandre Julliard
233766aafa
Build idl files as part of the normal build process.
2004-09-20 21:48:42 +00:00
Mike McCormack
37dcaf6be6
CoSuspendClassObjects stub implementation.
2004-09-20 21:44:34 +00:00
Alexandre Julliard
241a4c34b1
Get rid of the non-standard ICOM_THIS macro.
2004-09-09 21:03:58 +00:00
Francois Gouget
83755cca97
Move the PROPVARIANT declaration from objidl.idl to propidl.idl.
...
Move related API declarations from individual C files to propidl.idl.
Remove uneeded include of propidl.h in the propvariant.c test.
2004-09-09 19:23:19 +00:00
Francois Gouget
9ecc71213f
The union in PROPVARIANT is always nameless on Windows. So define a
...
macro to deal with it correctly.
2004-09-08 19:05:55 +00:00
Mike McCormack
d324ccfce7
Fix some warnings found with -Wsign-compare.
2004-09-07 20:25:52 +00:00
Robert Shearman
6e92fca9b3
- Fix PropVariantCopy for VT_LPSTR and VT_LPWSTR.
...
- Test case VT_BSTR, VT_LPSTR and VT_LPWSTR.
2004-09-06 21:28:28 +00:00
Alexandre Julliard
39a696a166
Removed some uses of the non-standard ICOM_THIS macro.
2004-09-06 20:34:29 +00:00
Robert Shearman
77994cce4e
- Fix PropVariantClear to reject invalid types.
...
- Don't crash on NULL pointers.
- Add test case.
2004-09-03 01:04:38 +00:00
Francois Gouget
6825ed811d
Added missing trailing '\n's to ok() calls.
2004-09-02 20:09:37 +00:00
Alexandre Julliard
03250ff6e7
Inline functions don't need WINE_UNUSED.
2004-09-01 04:55:52 +00:00
Alexandre Julliard
f714b39762
Get rid of the no longer used ICOM_MSVTABLE_COMPAT_DummyRTTIVALUE
...
macro.
2004-08-23 19:39:48 +00:00
Alexandre Julliard
20486e1c59
Get rid of the ICOM_MSVTABLE_COMPAT support, g++ no longer requires
...
this.
2004-08-23 18:10:02 +00:00
Alexandre Julliard
07a805127a
Added recursive idl target to allow updating idl files private to a
...
dll.
2004-08-22 22:33:57 +00:00
Alexandre Julliard
25e2a320a7
Don't define BEGIN_INTERFACE in unknwn.h.
2004-08-22 21:38:46 +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
Alexandre Julliard
0467ce9fd7
Get rid of the non-standard ICOM_VFIELD macro.
2004-08-12 19:52:49 +00:00
Alexandre Julliard
616940eb9a
Get rid of the non-standard ICOM_DEFINE macro.
2004-08-12 03:33:30 +00:00
Alexandre Julliard
b459952144
Avoid some non-portable makefile constructs, and get rid of the
...
ALTNAMES variable.
2004-08-11 23:59:06 +00:00
Francois Gouget
bf72af30d0
Modify widl to put the C COM macros inside an #ifdef COBJMACROS block
...
as is done in the Windows headers.
Add #define COBJMACROS where needed in Wine.
Fixes the compilation of the oleaut32/tests/olefont.c and
urlmon/tests/url.c conformance tests with the Windows headers.
2004-08-11 19:43:45 +00:00
Mike McCormack
06b8046f20
Added a test for stat'ing a memory based storage file.
2004-08-11 00:17:52 +00:00
Mike McCormack
f0baf82b36
stat on memory storage should return a NULL name, not "".
2004-08-10 23:41:58 +00:00
Robert Shearman
5c7c5fafb6
- Add static to non-exported marshal functions.
...
- Remove unused marshal functions.
- Rename several RPC functions.
2004-08-02 18:47:31 +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
ce335adddd
Don't marshal IClassFactory into the local server pipe until we have
...
connected, otherwise we might end up with stubs that are never used.
2004-07-30 18:44:09 +00:00
Alexandre Julliard
6cd1a7d9a9
Authors: Robert Shearman <rob@codeweavers.com>, Mike Hearn <mh@codeweavers.com>
...
Fix infinite loops by checking the return value of _invoke_onereq and
bailing appropriately.
2004-07-30 18:43:07 +00:00
Jeroen Janssen
cead7c0e81
Updated some MSDN links in the code.
2004-07-30 00:03:02 +00:00