Jon Griffiths
dbf222f3aa
Use LMEM_ flags for LocalAlloc(), not GMEM_ (GlobalAlloc).
2005-03-17 20:53:37 +00:00
Juan Lang
be84f8d9e6
Begin implementing IPropertyStorage.
2005-03-17 20:50:35 +00:00
Robert Shearman
1b5ebabdce
- Add critsec debugging info.
...
- Move the modal loop called during RPCs into CoWaitForMultipleHandles.
- Use a mutex for long remoting calls to IRemUnknown methods.
- Remove locking in apartment_disconnectproxies as it is not needed.
- Use PostMessage instead of SendMessage so we can run the message
loop or not as appropriate.
2005-03-17 10:26:20 +00:00
Juan Lang
ac24801db0
Add a comment about byte order, change types to reduce casting and not
...
cast away constness.
2005-03-17 10:25:13 +00:00
Joris Huizer
34a0463bca
A few memory checks avoiding memory leaks.
2005-03-14 10:46:50 +00:00
Mike McCormack
77fc6a5d82
StgOpenStorage shouldn't open zero length storage files.
2005-03-11 13:17:10 +00:00
Robert Shearman
8971f06225
- Rename apartment functions to become more object-oriented.
...
- Rename register_ifstub to marshal_object to more accurately describe
what it does.
- Add new function, apartment_getoxid, to prepare for a possible
future patch where remoting is started on demand.
2005-03-11 10:19:10 +00:00
Juan Lang
23805995a6
Fix the calling convention of DllCanUnloadNow.
2005-03-10 17:25:02 +00:00
Mike McCormack
6f2f76c410
Shared reading of storage files requires STGM_TRANSACTED.
2005-03-09 11:44:59 +00:00
Robert Shearman
527ef47d70
Make each ifproxy have its own channel buffer to fix a bug where a
...
proxy with multiple interfaces could invoke the wrong stub buffer on
the server.
2005-03-07 17:14:11 +00:00
Mike McCormack
e9d334d0c9
Fix more incorrect uses of STGM_ enumerations.
2005-03-07 12:24:42 +00:00
Juan Lang
01239efa4a
Implement StgCreatePropSetStg.
2005-03-07 10:59:09 +00:00
Mike McCormack
a7609ee155
Test and fix grfMode handling in StgOpenDocfile.
2005-03-05 10:48:11 +00:00
Alexandre Julliard
53f3d4c65a
Authors: Rob Shearman <rob@codeweavers.com>, Mike Hearn <mh@codeweavers.com>
...
- Add re-entrancy tests to the test suite.
- Run RPCs on a new thread client side so we can pump the message
loop.
2005-03-04 12:30:47 +00:00
Mike McCormack
607b43e6b4
Implement StgSetTimes.
2005-03-04 10:48:17 +00:00
Francois Gouget
fbb3343547
Assorted spelling fixes.
2005-03-02 13:53:50 +00:00
Alexandre Julliard
d0ee9f9309
Avoid spaces before preprocessor directives, that's not portable.
2005-03-02 12:23:20 +00:00
Juan Lang
4c8676cdbf
Move vtbl to end of file and get rid of unnecessary prototypes.
2005-03-01 10:41:25 +00:00
Jon Griffiths
eb5bf7dd38
Documentation spelling fixes.
2005-02-25 14:07:56 +00:00
Paul Vriens
8922da9ed4
Added some TRACE statements.
2005-02-25 13:58:37 +00:00
Mike McCormack
db69dcb5c1
Add struct StorageBaseImpl at the start of derived structures instead
...
of trying to keep the first members the same.
2005-02-24 19:39:27 +00:00
Mike McCormack
a6a91a440b
Implement and test IPropertySetStorage.
2005-02-21 20:58:09 +00:00
Mike Hearn
4d49d8ca36
Avoid infinite loop when doing a typelib marshalled
...
IUnknown::QueryInterface by only doing an extra QI if requested IID is
not equal to marshalled IID.
2005-02-21 18:35:07 +00:00
Robert Shearman
4390d003f4
- Better tracing.
...
- Small cleanup of creation functions.
2005-02-18 20:13:23 +00:00
Robert Shearman
95288f9148
- Move marshaling state machine into stub manager from ifstub.
...
- Add additional needed states for table-weak marshaling, as shown by
tests.
- Protect external reference count from underflows/overflows.
2005-02-18 20:03:23 +00:00
Robert Shearman
2d2a39cc42
- Use I_RpcGetBuffer, instead of our own buffer routines to fix an
...
occasional test crash caused by heap corruption.
- Zero the memory block passed to RpcServerRegisterIfEx so we don't
pass garbage in some of the fields we don't fill in.
- Return the correct error code from create_server and fix two handle
leaks.
- TODO update.
2005-02-15 21:48:09 +00:00
Robert Shearman
3b59fa8fce
The Global Interface Table should do table-strong marshaling instead
...
of normal marshaling so that an interface can be retrieved more than
one time.
2005-02-15 15:47:44 +00:00
Robert Shearman
552cc7d5b3
- Remove cruft left over from previous RPC backend implementation in
...
the apartment structure.
- Don't pass an IPID by value for proxy_manager_create_ifproxy.
- Disable more of RPC_UnregisterInterface to prevent the RPC runtime
using freed memory.
- Rename various external RPC backend functions so that they all have
the same "RPC_" prefix.
- Reduce the timeout of the function that connects to a local server
to 30s, like native.
2005-02-15 15:44:25 +00:00
Robert Shearman
db6db7cb4c
Make COM use the RPC runtime as the backend for RPC calls. Based on a
...
patch by Ove Kåven.
2005-02-15 15:02:49 +00:00
Robert Shearman
2ff1711487
Invoke objects in STA's in the correct thread by sending messages to
...
the hidden apartment window.
2005-02-14 11:50:51 +00:00
Marcus Meissner
30ed10004b
Output some more informations.
...
Mark one global variable static.
2005-02-14 11:07:55 +00:00
Robert Shearman
403d8e23cd
Make Ole tests run on Windows 95.
2005-02-14 11:01:51 +00:00
Robert Shearman
999766d31b
- Implement CoDisconnectObject.
...
- Change CoLockObjectExternal so that it does the correct action now
and eliminate a fair few lines of now redundant code.
- Rename OLE32_Dll{Register,Unregister}Server to
Dll{Register,Unregister}Server.
2005-02-08 16:51:22 +00:00
Robert Shearman
514af6ce78
Move object-to-stub-manager mapping rule to register_ifstub.
2005-02-08 14:26:19 +00:00
Robert Shearman
f8a2edb805
- Split up apartment creation so that the long code paths that don't
...
need locking no longer have locking.
- Add special cases for the threads that join apartments but can't
increase the refcount of the apartment.
- Free TLS storage on thread destruction (including releasing the
apartment the thread is in, if any, and so making another test
pass).
2005-02-08 13:42:15 +00:00
Alexandre Julliard
2a46702761
Authors: Mike Hearn <mh@codeweavers.com>, Robert Shearman <rob@codeweavers.com>
...
- Rework RPC dispatch layer to be simpler and not get confused by
server/client duality.
- Make threads shut down at the right time and not access freed memory
after apartment destruction.
- Rename stub_dispatch_thread to client_dispatch_thread.
- Add some more tracing
- Check return value of WaitNamedPipe.
- Change named pipe timeouts to 0.5s, which should be enough for even the slowest machines.
2005-02-08 12:55:26 +00:00
Robert Shearman
b9aa9e0bdd
- Pass the original IID to IMarshal_UnmarshalInterface and query for
...
the requested interface.
- Unmarshaling IID_NULL means use the IID the interface was originally
marshaled with.
2005-02-02 19:11:23 +00:00
Robert Shearman
e6afc84873
- Add code for destroying the thread-local storage data, but don't use
...
it yet.
- Don't release apartment on changing modes because we didn't add a
reference anywhere.
- Quieten the RPC_E_DISCONNECTED error message as it is an expected
return code.
- Treat IID_NULL the same as IID_IUnknown.
- Make tests compile on Win95 again.
- Fix copy+paste error where the test failure should be from the
CoUnmarshalInterface function.
2005-02-01 14:18:10 +00:00
Robert Shearman
9a97360eba
Remove test that fails on Win98 and is not useful.
2005-01-31 11:29:41 +00:00
Robert Shearman
9dba3479c8
Release the client security objects when no longer needed (reported by
...
Mike McCormack).
2005-01-28 17:19:51 +00:00
Robert Shearman
9b634b97ae
- More tests.
...
- Change return code of CoGetPSClsid to match test result.
- Do a slight hack to make IRemUnknown proxies be added after the
proxy that uses them to stop them being used after they are
destroyed.
- Fix multiple local server connections.
2005-01-28 12:39:13 +00:00
Robert Shearman
41d9aef7ef
- Implement CoSetProxyBlanket, CoQueryProxyBlanket and CoCopyProxy.
...
- Update todo list.
2005-01-28 11:27:46 +00:00
Robert Shearman
5bef770490
Give IUnknown its own ifstub to fix ref-counting and ipid storage
...
issues.
2005-01-27 10:39:44 +00:00
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
963ac3f013
- Implement IRemUnknown.
...
- Use IRemUnknown for life-cycle management instead of the current
hacks.
2005-01-26 20:42:30 +00:00
Robert Shearman
ce5adcda15
- Move OLE automation interface registration to oleaut32.
...
- Add IRemUnknown to list of interfaces to register.
2005-01-25 19:03:30 +00:00
Robert Shearman
6e042873d5
Proxies/stubs for IRemUnknown methods, based on code written by Ove
...
Kåven.
2005-01-25 19:02:54 +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
Mike Hearn
70c1c26869
Various formatting/style changes.
2005-01-21 10:15:29 +00:00
Robert Shearman
717eb8fff4
- Consolidate more stub creation details into register_ifstub.
...
- Replace the current wine_marshal_id structure with STDOBJREF for the
on-the-wire format.
2005-01-20 10:35:46 +00:00
Robert Shearman
6a20b2f476
- Initialize ppv pointer in ClientIdentity_QueryInterface to NULL as
...
apps depend on this.
- Don't release IRpcProxyBuffer on ifproxy destruction - the caller
will do this for us.
- Make find_proxy_manager add a reference to the proxy manager and
make proxy_manager_construct return an object with a valid
ref-count.
- Remove stray not operator to fix a memory leak / crash in
proxy_manager_destroy.
- More debug messages, especially on errors.
- Fix ref-count leak in the Class Factory proxy.
- Add a test case for IClassFactory_CreateInstance.
2005-01-19 17:00:20 +00:00
Robert Shearman
b5a10936bd
Initialize clsid member to the marshaler clsid to fix custom
...
marshaling.
2005-01-17 19:32:25 +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
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
Robert Shearman
11fc5874df
Emit fixme for known local wrong behaviour.
2004-07-30 00:02:17 +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
37cc006083
Document wrong behaviour for IRunningObjectTable.
2004-07-29 02:44:09 +00:00
Mike Hearn
e59aa5d6a4
Fix ref counting in StdMarshalImpl_MarshalInterface for case where the
...
stub already exists.
2004-07-29 02:43:59 +00:00
Robert Shearman
0cac6c83a7
Fix some inaccuracies in a comment and reformat.
2004-07-29 02:43:48 +00:00
Alexandre Julliard
26541a00c9
Authors: Mike Hearn <mh@codeweavers.com>, Robert Shearman <rob@codeweavers.com>
...
Add a comment on the SendReceive behaviour. Improve two others.
2004-07-29 02:43:36 +00:00
Francois Gouget
f8e01efb3d
Assorted spelling fixes.
2004-07-23 23:02:09 +00:00
Robert Shearman
f5ed953c10
Set RPC data representation.
2004-07-23 22:58:13 +00:00
Mike Hearn
1cc05ff148
Pass -Embedding switch to EXE servers, more tracing.
2004-07-23 19:10:13 +00:00
Robert Shearman
2e93adc5c7
- Remove unneeded STUBMGR_Start call.
...
- Cleanup compobj_private.h.
2004-07-22 23:44:54 +00:00
Alexandre Julliard
bffe98c7dd
Authors: Mike Hearn <mh@codeweavers.com>, Rob Shearman <rob@codeweavers.com>
...
Implement StdMarshal::ReleaseMarshalData.
2004-07-22 20:34:14 +00:00
Mike Hearn
602cce0ebf
Unref stub after invoking on it.
2004-07-22 19:43:27 +00:00
Mike Hearn
c019b89d5f
Fix misleading warning ole CoGetClassObject.
2004-07-21 19:37:07 +00:00
Mike McCormack
e42d8aef24
Fix a few serious race conditions in the OLE object pipe server.
2004-07-15 22:07:44 +00:00
Marcus Meissner
ada760f0a6
IID_IObjectWithSite is already in libuuid, no need to declare here.
2004-07-12 19:50:14 +00:00
Marcus Meissner
0c02ab3106
IMalloc vtables are static.
2004-07-12 19:50:03 +00:00
Francois Gouget
ca942f1625
Assorted spelling fixes.
2004-07-08 20:16:23 +00:00
Mike Hearn
17ad9fdd43
Add some explanations to compobj.c, implement flushing message queue
...
on shutdown.
2004-07-06 21:27:48 +00:00
Aric Stewart
665c4880f7
Return an error in CoMarshalInterface if the IUnknown pointer is NULL
...
and don't crash.
2004-06-30 18:14:00 +00:00
Ivan Leo Puoti
5729abea73
Removed the winedefault.reg message.
2004-06-17 19:55:24 +00:00
Robert Shearman
bc06d4ba8e
- Fix ref count on standard proxy creation.
...
- Release channel buffer in StdMarshal_UnmarshalInterface, since we no
longer use it and the proxy should have taken a reference on it.
- Add a few comments.
2004-06-14 17:58:03 +00:00
Robert Shearman
3270bb1ee1
Fixed CoMarshalInterThreadInterfaceInStream and
...
CoGetInterfaceAndReleaseStream.
2004-05-29 00:22:55 +00:00
Marcus Meissner
e3a37c8a26
Revert broken strict aliasing fix.
2004-05-21 20:52:57 +00:00
Patrik Stridvall
070db4e5de
Fixed some issues found by winapi_check.
2004-05-17 21:08:31 +00:00
Francois Gouget
cfc3943c5f
Make our ascii strings static const.
...
Remove a couple string variables that were used only once and use the
string literal directly.
2004-05-04 04:13:05 +00:00
Marcus Meissner
ff39b877a4
Fixed strict aliasing issues in dlls/ole32.
2004-05-04 03:10:50 +00:00
Marcus Meissner
aff2e2e5e6
Implemented CoReleaseMarshalData.
2004-05-02 04:20:37 +00:00
Marcus Meissner
aedfc471a2
Fixed lvalue casts.
2004-04-30 18:32:36 +00:00
Francois Gouget
7a58c6ec53
Add a stub for StgCreateStorageEx(). Returns
...
STG_E_UNIMPLEMENTEDFUNCTION as per MSDN. Fixes an error saving files
in Word XP.
2004-04-30 18:32:20 +00:00
Francois Gouget
8fc374d8b4
Make Unicode strings 'static const'.
2004-04-20 02:14:00 +00:00
Francois Gouget
52c0832161
Make Unicode strings static const.
2004-04-20 01:12:17 +00:00
Filip Navara
f379a1dccf
Get rid of E_UNSPEC non-standard error value.
2004-04-12 22:02:37 +00:00
Jon Griffiths
49b3982255
RegisterDragDrop: fail on NULL drop target.
2004-03-30 05:13:58 +00:00
Warren Turkal
e910efbcbe
Fixed the implementation of CoTreatAsClass.
2004-03-29 21:41:33 +00:00
Alexandre Julliard
9e4ed6460c
.spec.c files are no longer used for 32-bit dlls.
2004-03-24 03:36:44 +00:00
Francois Gouget
b948778660
Assorted spelling fixes.
2004-03-23 23:20:16 +00:00
Alexandre Julliard
0d203bd7ee
Sync some of the dll registrations with the contents of
...
winedefault.reg.
2004-02-27 06:08:32 +00:00
Patrik Stridvall
ede82e3055
Fixed some issues found by winapi_check.
2004-02-20 20:19:23 +00:00
Mike Hearn
ca8901640e
To reduce debugging noise, make IMalloc32/IMallocSpy implementations
...
output to the new olemalloc debug channel.
2004-02-19 01:26:45 +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
Troy Rollo
0a4050d33f
Added documentation for DocFiles, based on the CorVu implementation of
...
DocFiles.
2004-02-07 01:27:51 +00:00
Ge van Geldorp
e393195e8c
Don't depend on user32-internal implementation of accelerator tables.
2004-01-28 20:06:35 +00:00
Alexandre Julliard
20b4585e3c
Only link against libdxguid where necessary.
2004-01-27 00:11:16 +00:00
Alexandre Julliard
d07c1004e3
Moved a few remaining 16-bit definitions out of the standard headers.
2004-01-23 22:51:41 +00:00
Ge van Geldorp
100e11309b
Fix various function prototypes to conform to PSDK.
2004-01-23 20:57:26 +00:00
Ge van Geldorp
399901e054
Rename LARGE_INTEGER and ULARGE_INTEGER members "s" to "u" to conform
...
with PSDK.
2004-01-23 01:51:33 +00:00
Ge van Geldorp
1d0598b0aa
Swap arguments of LocalAlloc and only update Malloc32 block on
...
successful allocation.
2004-01-19 23:42:34 +00:00
Mike McCormack
2cee7ac6d9
Don't use CreateFileMapping on a zero length file.
2004-01-19 21:44:02 +00:00
Francois Gouget
17112eaa4d
Assorted spelling fixes.
2004-01-16 21:26:08 +00:00
Huw Davies
49906feb23
Trace the high part of the Seek offset.
2004-01-16 21:22:41 +00:00
Francois Gouget
640cc3f3e1
Assorted spelling fixes.
2004-01-06 22:08:33 +00:00
Robert Shearman
8aef340cbd
- Fix IMemAlloc_Free when IMemAlloc_Alloc hasn't yet been called and
...
debugging is on.
- Fix OleMetafilePictFromIconAndLabel (fixes attachments in Outlook2k).
- Implement OleTranslateAccelerator.
- Move OleCreate and a load of PropVariant functions out of stubs file.
- Change OleCreate to a semi-stub.
2003-12-08 22:46:08 +00:00
Dimitrie O. Paun
3e54350dc2
{Global,Local}ReAlloc() does not allocate memory.
2003-11-26 05:04:15 +00:00
Dimitrie O. Paun
a1cee57ce9
Fix mem leak when GlobalReAlloc() fails.
2003-11-26 03:36:18 +00:00
Dimitrie O. Paun
d8aa853596
Fix the IMalloc::ReAlloc() to follow the documented behavior.
2003-11-26 03:34:51 +00:00
Alexandre Julliard
d004059538
Moved the 16-bit storage interfaces out of the exported headers.
2003-10-14 20:23:01 +00:00
Oleg Prokhorov
de12a97041
Another portion of HeapReAlloc fixes.
2003-10-14 05:24:20 +00:00
Dimitrie O. Paun
fbdfd910c1
Remove SYMBOLFILE and LDDLLFLAGS from Makefiles.
2003-10-11 01:09:15 +00:00
Alexandre Julliard
593dec5d66
Authors: Warren Baird <warren.baird@cimmetry.com>, Dave Belanger <dave.belanger@cimmetry.com>
...
Moved code out of assert statements so you can safely compile with
-DNDEBUG.
2003-10-08 19:08:23 +00:00
Daniel Marmier
0348649853
Fixed warnings with gcc option "-Wwrite-strings".
2003-10-06 21:03:32 +00:00
Dimitrie O. Paun
54e6b0d938
Extract binary resources to files, to fit the standard.
2003-10-03 05:01:33 +00:00
Michael Stefaniuc
082e0bfe93
Fix missing mem freeing on error path.
2003-10-01 03:14:29 +00:00
Michael Stefaniuc
ab64e3f095
Fixes for memory leaks on error path.
...
One fix for use of previous released pointer.
2003-09-30 00:24:08 +00:00
Dimitrie O. Paun
8b255842ec
Remove the obsolete pascal16 (replaced by pascal -ret16).
2003-09-26 04:32:19 +00:00
Mike McCormack
ac57fc20b6
Change erroneous malloc to HeapAlloc.
2003-09-22 19:46:13 +00:00
Dave Miller
47fb938d54
Removed ordinals from comments.
2003-09-11 03:06:25 +00:00
Dave Miller
13e05147bc
Remove all the ordinals and use @ instead.
2003-09-11 03:05:00 +00:00
Alexandre Julliard
20c169e0a4
Fixed a few more headers dependency issues.
2003-09-09 19:39:31 +00:00
Francois Gouget
ae50013017
Fix the case of product and company names.
2003-09-08 19:38:45 +00:00
Alexandre Julliard
d6bffb2c45
Regenerated with the latest widl.
2003-09-06 02:25:53 +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
802ebc1168
Converted oleidl.h to IDL.
2003-09-03 20:17:39 +00:00
Rolf Kalbermatter
919bd7855f
Make sure the passed in object pointer is only addrefed on success.
2003-08-29 22:10:01 +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
266e19ebc0
In the global interface table:
...
- Print warnings when things go wrong.
- Alter the way we do refcounting.
- Don't release the stream on retrieval, just rewind it instead.
- Implement thread safety.
2003-08-23 00:45:49 +00:00
Jon Griffiths
ad86c25a8a
Remove redundant wine specific #include.
2003-08-18 19:48:38 +00:00
Alexandre Julliard
19b6a49845
Allocate DebugInfo field for all critical sections (based on a patch
...
by Alex Pasadyn).
Get rid of the Wine-specific CRITICAL_SECTION_INIT macro.
2003-08-12 23:50:54 +00:00
Patrik Stridvall
ba78aac406
Fixed some issues found by winapi_check.
2003-08-08 21:07:23 +00:00
Alexandre Julliard
20698b22df
Make the DllRegisterServer, DllRegisterServerEx, DllUnregisterServer,
...
DllGetClassObject and DllCanUnloadNow functions private (suggested by
Jon Griffiths).
2003-07-30 03:48:55 +00:00
Mike Hearn
6a8ac17c64
- GIT should not dereference ppv when unmarshalling interface.
...
- Correctly eliminate refcounting in the GIT.
- Add warning when given riid does not match.
2003-07-22 01:01:25 +00:00
Mike Hearn
cb7db104dd
IMallocSpy cannot cause an allocation failure when cb == 0.
2003-07-22 01:01:06 +00:00
Mike McCormack
97ac282fa7
Created stub for CreateClassMoniker.
2003-07-18 22:59:58 +00:00
Jon Griffiths
839131f600
Remove FIXMEs and prototypes for now-implemented functions.
2003-07-18 22:54:01 +00:00
Steven Edwards
32d27dc77b
- Create new file ole2_16.c for ole2 16bit only functions.
...
- Move CLSIDFromProgID16 so it can be used internally.
- Compile out more Win16 sources.
2003-07-09 19:49:12 +00:00
Francois Gouget
56aaea2f43
Spelling fixes.
2003-07-09 02:52:57 +00:00
Francois Gouget
14a5d168e9
Fixed some common spelling errors.
2003-07-02 04:37:26 +00:00
Dmitry Timoshkov
4e1ef0c114
For all DLLs with defined DllMain and which do not require
...
DLL_THREAD_ATTACH/DLL_THREAD_DETACH notifications, call
DisableThreadLibraryCalls() in order to slightly improve performance
on thread creation/exiting.
2003-06-30 20:53:48 +00:00
Troy Rollo
72659c998f
Implemented OleDraw.
2003-06-27 04:03:40 +00:00
Francois Gouget
9591836ffb
'sizeof type' is best avoided as it won't always compile (e.g. 'int
...
main() {return sizeof int;}'). Use 'sizeof(type)' instead.
2003-06-18 19:45:22 +00:00
Francois Gouget
c5f775a9c7
Typos/spelling fixes.
2003-06-18 03:30:39 +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
Ove Kaaven
95f7c6c8d9
DCOM IDL file based on the DCOM specification.
2003-05-22 03:36:26 +00:00
Mike McCormack
1048ebb37e
Semi-correct implementation of OleMetafilePictFromIconAndLabel.
2003-05-19 18:50:36 +00:00