Michael Stefaniuc
d28c3ca60c
ole32: Remove superfluous casts of void pointers to other pointer types.
2007-06-27 12:53:25 +02:00
Rob Shearman
30cc21196e
ole32: Remove spurious AddRef of returned object on retrieval of an interface from the global interface table.
2007-05-23 12:49:50 +02:00
Rob Shearman
7d90b6ce29
ole32: Allow the getting of different interfaces from the global interface table than that with what the object was registered with.
2007-05-23 12:49:45 +02:00
Rob Shearman
05230781b0
ole32: Add more tests for global interface table functions.
2007-05-23 12:49:39 +02:00
Rob Shearman
071ea06af8
ole32: Remove a useless trace.
...
Remove an incorrect comment.
2007-05-22 12:19:07 +02:00
Rob Shearman
dd8a736c3f
ole32: The identity functions can be used from apartments other than the one the proxy was unmarshaled into.
...
In this case, don't use the cached This->remunk and don't cache the
unmarshaled object in This->remunk.
2007-05-22 12:18:55 +02:00
Rob Shearman
5369d4dffd
ole32: Handle MSHLFLAGS_TABLEWEAK and MSHLFLAGS_TABLESTRONG when marshaling a proxy.
...
Add tests for this behaviour.
2007-05-22 12:18:31 +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
1f70fc50c6
ole32: Add tests for the standard marshaler's implementation of IClientSecurity.
2007-03-28 12:10:51 +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
061a29ee44
ole32: Add a stubbed out implementation of IClientSecurity to the proxy manager.
2007-03-27 12:39:25 +02:00
Rob Shearman
f0189b8789
ole32: Implement CoAddRefServerProcess and CoReleaseServerProcess.
2007-03-09 21:17:47 +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
2a021b50d4
ole32: Enable local server test and make it work with Win9x COM implementation.
2007-03-09 21:16:34 +01:00
Rob Shearman
c19076cb19
ole32: Remove some unnecessary traces from the HeapUnknown implementation.
2007-03-06 22:17:54 +01:00
Rob Shearman
0101f89a8d
ole32: Add tests for default handler creation and handler marshaling.
2007-02-26 13:38:45 +01:00
Rob Shearman
fa64950ee1
ole32: Add a test for the failure case of same-apartment unmarshaling when passing in an unsupported iid.
2007-01-10 12:21:59 +01:00
Rob Shearman
d02b27c0e9
ole32: Move test for CoGetInterfaceAndReleaseStream to compobj.c.
2007-01-10 12:02:37 +01:00
Rob Shearman
c21f5c7c6a
ole32: Move the Running Object Table test in marshal.c to moniker.c to put it with the other ROT tests.
2007-01-10 12:02:28 +01:00
Rob Shearman
0c51b6236c
ole32: Release the global interface table in the tests when it is no longer needed.
2007-01-08 12:35:34 +01:00
Rob Shearman
638182bbba
ole32: Add tests for channel hooks.
2006-12-29 21:25:49 +01:00
Rob Shearman
3be9cbc41a
ole32: Message filters aren't used in the test_call_from_message test, so remove the call to CoRegisterMessageFilter.
2006-12-27 13:02:48 +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
4fa03831a5
ole32: Reset the message filter at the end of the message filter test.
2006-12-20 12:40:46 +01:00
Rob Shearman
9208eef55c
ole32: Call the message filter for incoming calls.
2006-12-20 12:40:30 +01:00
Rob Shearman
3bb4760f88
ole32: Move the user marshal tests to usrmarshal.c.
2006-12-18 11:52:42 +01:00
Francois Gouget
458ebf423d
ole32/tests: Replace some '#if 0's with 'if (0)'s.
...
Fix the code so it compiles.
2006-12-14 20:24:53 +01:00
Huw Davies
1f34fdffee
ole32: CoGetInterfaceAndReleaseStream shouldn't crash when passed a NULL stream.
2006-11-22 11:38:57 +01:00
Michael Stefaniuc
22befac97e
ole32: Fix the warnings introduced by the "unsigned long" to "ULONG" header changes.
2006-11-09 10:43:38 +01:00
Rob Shearman
e1ee3b4de3
ole32: Fix some memory leaks in the marshal tests.
2006-10-23 15:18:05 +02:00
Michael Stefaniuc
15765dd953
The Data1 member of the GUID struct needs to be an unsigned int too for Win64 compatibility.
2006-10-16 10:53:04 +02:00
Michael Ploujnikov
9d2a804f9b
ole32/tests: Win64 printf format warning fixes.
2006-10-14 20:17:16 +02:00
Francois Gouget
87045eb0c5
Fix rpcndr.h so it takes CONST_VTABLE into account.
...
Define CONST_VTABLE in the tests that need it. This fixes many Visual C++ warnings.
2006-09-29 17:52:27 +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
628371021b
ole32: When CoLockObjectExternal with fLock=TRUE is used on an object
...
that hasn't yet been marshaled then it should create a new stub
manager.
2006-06-30 20:44:02 +02:00
Robert Shearman
2f0e714a27
ole32: When marshaling a proxy make sure to maintain an external
...
reference on the stub object so that the first proxy can be released.
Implement external refcount sharing between a proxy and the marshaled proxy.
Extend the marshaling of a proxy test to show that an external reference
is always kept on the stub object.
2006-06-29 14:40:50 +02:00
Robert Shearman
723aceb20f
ole32: Add a test for CoCreateInstance doing object hosting by
...
automatically creating an appropriate apartment for the object and
returning a proxy to it.
2006-06-29 14:40:23 +02:00
Robert Shearman
f2dc25a5f3
ole32: Always rewind the stream in StdGlobalInterfaceTable_GetInterfaceFromGlobal
...
as CoUnmarshalInterface may have advanced the stream, even if it failed.
2006-06-15 12:07:10 +02:00
Robert Shearman
fa757df883
ole32: Add a tests for OleSetMenuDescriptor and the global interface table.
2006-06-15 12:06:49 +02:00
Alexandre Julliard
28e17a75af
ole32/tests: Don't use sizeof in ok() to avoid printf format warnings.
2006-06-13 14:03:36 +02:00
Robert Shearman
2c57189a97
ole32: Implement table-strong marshaling and ReleaseMarshalData for the free-threaded marshaler.
2006-05-25 10:43:07 +02:00
Robert Shearman
f9b5280dd0
ole32: Implement table-weak marshaling for the free-threaded marshaler.
2006-05-25 10:42:56 +02:00
Robert Shearman
4335c64f7b
ole32: Add a rough implementation of the free-threaded marshaler MarshalInterface and UnmarshalInterface methods, with test cases.
2006-05-25 10:41:17 +02:00
Jonathan Ernst
360a3f9142
Update the address of the Free Software Foundation.
2006-05-23 14:11:13 +02:00
Robert Shearman
0fd184773a
ole32: Release the outer unknown in the proxybuffer test.
...
Release the outer unknown in the proxybuffer test to show that the
last release of the outer unknown doesn't free the proxy buffer.
2006-05-23 12:05:07 +02:00
Mike McCormack
64659785de
ole32: Uncomment some code to make sure it is compiled, but don't run it.
2006-04-18 11:14:53 +02:00
Robert Shearman
857a6d1f63
ole: Fix marshaling of proxies for interfaces that haven't already been unmarshaled.
2006-03-01 19:54:20 +01:00
Robert Shearman
1b7d346d1f
ole: Verify that the proxy is being used in the correct thread.
2006-01-20 16:16:08 +01:00
Robert Shearman
98734cc894
ole: Add a test for WM_QUIT behaviour during COM calls.
2006-01-20 16:14:32 +01:00
Robert Shearman
9ac3b28354
ole: Use strict prototypes for some test functions.
2006-01-12 11:53:19 +01:00
Robert Shearman
567919d78f
Implement some user marshal functions and add tests.
2005-11-29 11:35:27 +01:00
Robert Shearman
b3a4b59668
Fix ref-counting rules to match native DCOM Dlls.
2005-09-18 11:10:37 +00:00
Alexandre Julliard
5a49e40149
SendMessageTimeout takes a DWORD_PTR not a DWORD.
2005-09-12 20:43:32 +00:00
Robert Shearman
dab603def3
- Implement IMarshal on proxies so that we don't end up with proxies
...
to proxies, causing potential deadlock issues and performance
problems.
- Add a test for this situation and remove the todo_wine from another
test that now succeeds.
2005-08-27 09:25:16 +00:00
Robert Shearman
28479ea4aa
By-pass the RPC runtime if possible when calling an STA by posting a
...
message directly to the apartment window for it to process. Fixes a
deadlock in InstallShield caused by having to create a thread when
freeing an object that comes from an STA apartment. Added tests that
fail without this fix.
2005-07-19 19:12:47 +00:00
Stefan Huehner
ac6f562b52
Fix more -Wstrict-prototypes warnings.
2005-06-20 14:18:03 +00:00
Dmitry Timoshkov
eba47f1dfe
Make remaining OLE interface vtables const.
2005-06-06 19:50:35 +00:00
Robert Shearman
b9ecbb6167
- Marshal objects & monikers into the ROT.
...
- Test for this behaviour.
2005-05-23 09:54:53 +00:00
Francois Gouget
6b10c324c5
Assorted spelling fixes.
2005-03-30 17:08:31 +00:00
Jakob Eriksson
461c830745
Eliminate HeapAlloc casts.
2005-03-22 18:26:06 +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
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
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
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
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
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
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
963ac3f013
- Implement IRemUnknown.
...
- Use IRemUnknown for life-cycle management instead of the current
hacks.
2005-01-26 20:42:30 +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
4c8d59dd91
Implement table marshaling.
2005-01-17 13:39:40 +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
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
de95de1865
- Force creation of thread queue to stop PostThreadMessage from
...
failing.
- Remove incorrect comment.
2005-01-12 19:28:37 +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
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
Robert Shearman
827154e451
Add tests for moniker and marshaling functions.
2004-12-21 14:51:27 +00:00