Commit Graph

752 Commits

Author SHA1 Message Date
Robert Shearman 714b66e945 ole: Use ncalrpc instead of ncacn_np as the RPC transport.
Use ncalrpc instead of ncacn_np as the transport as this is more similar
to how ole32 from NT works and should also be compatible with rpcrt4
from Win9x, allowing more combinations of dlls to work.
2006-03-31 17:38:43 +02:00
Robert Shearman fb5ec209cd ole32: Remove unnecessary commenting out of the RPC interfaces in the dcom idl file. 2006-03-30 21:55:43 +02:00
Robert Shearman 8c7706bad0 ole32: Don't process posted messages in CoWaitForMultipleHandles.
Tests with native show that during COM calls posted messages aren't
retrieved other than COM calls so change the PeekMessage parameters in
CoWaitForMultipleHandles to duplicate this.
2006-03-30 12:43:17 +02:00
Robert Shearman ff85f892c6 ole32: Try to retrieve messages that are COM calls first.
Try to retrieve messages that are COM calls first in
CoWaitForMultipleHandles before retrieving other types.
2006-03-30 12:42:50 +02:00
Robert Shearman a1548b45d8 ole32: Put the PeekMessage call of CoWaitForMultipleHandles into a separate function.
Put the PeekMessage call of CoWaitForMultipleHandles into a separate
function so that the order and type of the messages retrieved can be
customised in the future.
2006-03-30 12:42:35 +02:00
Robert Shearman 8c551796a9 ole32: Whether the message loop is entered in CoWaitForMultipleHandles,
should depend on whether the current apartment is a single threaded one.
2006-03-30 12:42:01 +02:00
Robert Shearman 3091aa5302 ole32: Pass the no yield flag to PeekMessage.
Pass the no yield flag to PeekMessage since we sleep in
MsgWaitForMultipleObjectsEx and the extra context switch is wasteful.
2006-03-30 12:41:32 +02:00
Mike McCormack 50436da519 ole32: Fix StgOpenStorage's handling of the STGM_PRIORITY flag. 2006-03-30 12:38:08 +02:00
Kevin Koltzau 0c2d277286 ole32: Initial tests for OLE clipboard functions. 2006-03-22 11:19:25 +01:00
Francois Gouget 6bddeb1cf7 Assorted spelling fixes. 2006-03-21 20:10:39 +01:00
Robert Shearman 650ac14219 ole: Use the thread pool for executing RPC calls for better performance
(after the thread pool has been improved).
2006-03-20 12:00:50 +01: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
Alexandre Julliard c9cc7e33ff Fixed some compiler warnings on old gcc versions. 2006-03-02 18:03:32 +01:00
Robert Shearman 9a9981bad5 ole: Change NORMALEXTREFS to 5, like it is in native. 2006-03-01 19:54:45 +01: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
Vitaly Lipatov aee52b747e ole32: Add descriptions for StgCreateDocfile and StgIsStorageFile functions. 2006-02-24 21:10:27 +01:00
Francois Gouget e092adfc9b Add trailing '\n's to ok() calls. 2006-02-24 21:07:33 +01:00
Vitaly Lipatov a8397e307a ole32/tests: Do not compare returned by DeleteFile value with TRUE. 2006-02-24 11:23:40 +01:00
Robert Shearman f4a8ba9548 ole: Fallthrough from local activation in CoGetClassObject.
If local-server or local-service activation doesn't work in
CoGetClassObject then fallthrough instead of returning from the
function.
2006-02-24 11:23:16 +01:00
Robert Shearman 6c529a7273 ole: Make the CoCreateInstance test succeed.
Move the uninitialized apartment check after zeroing out the return
value.
2006-02-22 22:14:52 +01:00
Dr J A Gow e3af1227c9 ole32: Fix stream ref counting.
Stream methods called after parent object has been closed correctly
return STG_E_REVERTED.
Stream refcounting fixed. Now can safely call IStorage destructor
before IStream destructor and guarantee file will be closed.
2006-02-21 11:18:05 +01:00
Dr J A Gow c74e5a784d ole32: Fix up permissions when opening streams.
Fix up permissions when opening streams in storage objects when
storage object has been opened in transacted mode.
2006-02-21 11:17:32 +01:00
Robert Shearman 023ad38914 ole: Test the behaviour of CoCreateInstance with an uninitialized apartment. 2006-02-20 11:16:08 +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
Mike McCormack 5c3b0df716 ole32: Added a test showing OLE storage's IStorage/IStream refcounting
behaviour.
2006-02-15 11:51:05 +01:00
Alexandre Julliard be22a96847 Include wine/port.h in files that use exceptions. 2006-02-07 16:31:21 +01:00
Robert Shearman af7c076337 ole32: Print an error message if the apartment isn't initialised in
CoCreateInstance.
2006-02-07 16:25:25 +01:00
Huw Davies aaf7a974a9 ole: ProgIDFromCLSID sets progid to NULL on failure. 2006-01-20 19:41:56 +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 6e0029f83d ole: Fix WM_QUIT Handling in CoWaitForMultipleHandles.
When a WM_QUIT message in encountered in CoWaitForMultipleHandles then
it should repost the WM_QUIT message and then switch to waiting
without checking messages.
2006-01-20 16:14:23 +01:00
Robert Shearman b4fe7ea7c6 ole: Update the COM todo list. 2006-01-18 11:29:20 +01:00
Robert Shearman ba8cdfdc37 ole: Re-post the quit message outside of the DoDragDrop message loop. 2006-01-18 11:29:13 +01:00
Robert Shearman b3041ba6ad ole: Optimisation for COM Calls.
Add an optimisation to yield and try to allow the RPC to run before
waiting for messages and RPCs to arrive.
2006-01-14 17:45:49 +01:00
Robert Shearman f431353058 ole: Fix crash in RpcChannelBuffer_SendReceive.
Initialise apt to NULL since ipid_to_apt_stubbuffer no longer does
this for us.
2006-01-12 11:53:32 +01:00
Robert Shearman 9ac3b28354 ole: Use strict prototypes for some test functions. 2006-01-12 11:53:19 +01:00
Robert Shearman 6e6d24e959 ole: Implement IEnumSTATDATA for the Ole Advise Holder.
Implement IEnumSTATDATA for the Ole Advise Holder and use it to
implement the Send* functions.
2006-01-11 12:09:32 +01:00
Robert Shearman 781970f001 ole: Initialise hrref so as not to display garbage in the trace. 2006-01-11 12:09:17 +01:00
Robert Shearman 92ad2958ac ole: Remove some duplicated code. 2006-01-11 12:09:11 +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 d175f154ba ole: Report and clean up after PostMessage failures. 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 8e5b36147d ole: Reduce the access rights required by start_local_service. 2006-01-10 20:41:22 +01:00
Robert Shearman c46386ff5c ole: Return the last error if we couldn't open the requested service.
Fix the ok/failed message.
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 1eda42ccac ole: Prefer services over servers.
Attempt to start as a local service before attempting to start as a
local server for the CLSCTX_LOCAL_SERVER case.
2006-01-09 18:40:42 +01:00
Robert Shearman e0605afdf6 ole: Add some tests for CLSIDFromString. 2006-01-09 18:40:27 +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