Jacek Caban
b4cc5a2114
ole32: Error handling clean up in local_server_thread.
2013-05-13 20:52:07 +02:00
Alexander Morozov
5857895684
ole32: Avoid a deadlock when a being loaded DLL calls CoRegisterClassObject from its DLL_PROCESS_ATTACH handler.
2013-02-08 12:07:48 +01:00
Eric Pouech
d1ccbceb4d
Various background processes must be launched detached from current console (if any).
2013-01-16 14:02:55 +01:00
Nikolay Sivov
0b5c0855be
ole32: Store destination context and context data in server channel.
2012-10-15 15:25:34 +02:00
Nikolay Sivov
3099a25464
ole32: Store destination context data in channel buffer.
2012-10-15 15:25:31 +02:00
Nikolay Sivov
27d59c8919
ole32: Cleanup IRpcChannelBuffer.
2012-10-15 15:25:29 +02:00
Jacek Caban
153b94b3c5
ole32: Use proper helpers for iface calls.
2012-08-13 16:28:48 +02:00
Francois Gouget
ed03674bc3
ole32: Delete the compobj and rpc static critical sections when unloading the dll.
2011-11-17 11:37:56 +01:00
André Hentschel
c2015d3341
ole32: Return if out of memory (Coverity).
2011-10-08 19:54:33 +02:00
Alexandre Julliard
f01c1c429d
ole32: Fix a couple of race conditions with the local server pipe.
2011-08-01 18:26:25 +02:00
Francois Gouget
be9a032693
ole32: Modify local_server_thread() to recreate the pipe for each request.
...
This avoids having the named pipe get stuck in the STATUS_PIPE_BUSY state after the DisconnectNamedPipe() call.
2011-07-13 11:52:59 +02:00
Francois Gouget
b6f28fc70f
ole32: Fix a handle leak in local_server_thread().
2011-07-13 11:52:45 +02:00
Alexandre Julliard
5a559f181a
ole32: Don't continue to wait for a local server if the process has terminated.
2011-05-20 13:41:18 +02:00
Alexandre Julliard
a8ffa9bace
ole32: Don't use in-memory structure layouts to build the wire data, define wire-specific structures instead.
2010-04-06 18:07:59 +02:00
Alexandre Julliard
44a9bae9f8
ole32: Fix some pointer cast warnings on 64-bit.
2009-12-09 12:04:01 +01:00
Huw Davies
2e11733f45
ole32: Don't ask for a name if it's not required.
2009-04-28 14:47:54 +02:00
Michael Stefaniuc
efbb4ebf3e
widl: Output "LONG" instead of "long" for a 32bit integer.
...
long is always 32bit in IDL files but that's not true in C.
2009-03-13 11:15:21 +01:00
Michael Stefaniuc
0449701c31
ole32: Remove superfluous pointer casts.
2009-02-11 12:29:56 +01:00
Nikolay Sivov
32cc4011ee
kernel32: Make GetOverlappedResult crash on NULL args as native does.
2009-01-22 15:28:24 +01:00
Michael Stefaniuc
e86eb8efa6
include: Change RPC_STATUS from long to LONG for Win64 compatibility.
...
Also fix the compiler warnings introduced by this change.
2009-01-04 13:34:38 +01:00
Alexandre Julliard
ebdb933b6d
ole32: Convert source files to utf-8.
2008-10-18 19:20:29 +02:00
Andrew Talbot
749184a1e8
ole32: Remove unneeded address-of operators from array names.
2008-07-11 14:06:31 +02:00
Austin English
1b24da3aa0
ole32: Spelling fixes.
2008-04-10 09:51:12 +02:00
Andrew Talbot
e7b0f07c3e
ole32: Assign to structs instead of using memcpy.
2008-03-11 12:11:51 +01:00
Rob Shearman
ee2250bc44
ole32: Don't get the HRESULT from the buffer if we get an RPC_S_CALL_FAILED status back from the runtime.
...
The buffer might not contain any data and nowhere in our ole32 code
passes HRESULTs in the buffer.
2008-01-22 12:00:49 +01:00
Rob Shearman
fcccd9fca6
ole32: Partially implement ServerRpcChannelBuffer_GetDestCtx.
2008-01-15 14:36:29 +01:00
Rob Shearman
b02b9496d2
ole32: Fix some uses of SEEK_SET when STREAM_SEEK_SET should have been used instead.
2008-01-09 12:25:59 +01:00
Rob Shearman
f2b1a1106b
ole32: Fix memory leaks caused by not calling the channel hook function when extension_size is zero.
...
Instead free the allocated memory outside of the channel hook function.
2008-01-07 22:54:53 +01:00
Rob Shearman
b6553e7e29
ole32: Shortcut the RPC runtime for allocation of the message when processing the COM call by just sending a message to a window in the process.
2008-01-07 22:54:47 +01:00
Rob Shearman
e3e704bc43
ole32: Clear the RPC_FLAGS_VALID_BIT flag from the RPC_MESSAGE ProcNum when shortcutting the RPC runtime.
2008-01-07 22:54:35 +01:00
Rob Shearman
d84f0abb70
ole32: Determine the destination for the COM call and initialise the necessary parameters in ClientRpcChannelBuffer_GetBuffer instead of ClientRpcChannelBuffer_SendReceive.
...
The parameters are then freed in the matching
ClientRpcChannelBuffer_FreeBuffer function.
2008-01-07 12:03:03 +01:00
Rob Shearman
93df1675f1
ole32: Fix RPC_GetLocalClassObject to wait for 30 seconds, even if messages arrive while we are waiting.
2007-12-20 12:10:35 +01:00
Rob Shearman
7ac980b1e7
ole32: Process messages while waiting for a local server to create a pipe.
2007-12-07 18:49:23 +01:00
Rob Shearman
ddf59f50f7
ole32: Clean up properly in ClientRpcChannelBuffer_SendReceive in the case where PostMessageW fails.
2007-11-27 11:40:12 +01:00
Rob Shearman
6262230a4b
ole32: Store the dispatch parameters in the message state structure to allow them to be initialised earlier in the sequence of IRpcChannelBuffer calls.
2007-11-27 11:40:07 +01:00
Rob Shearman
24723913e0
ole32: Use asynchronous I/O for the named pipe server for local servers.
2007-11-13 13:31:15 +01:00
Andrew Talbot
65bf44868c
ole32: Void functions should not return a value.
2007-04-13 12:58:50 +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
d1ec56c871
ole32: Generate OXID_INFO in the stub manager.
...
Copy the OXID_INFO from the stub manager, if available, in
proxy_manager_construct. Otherwise, attempt to resolve it.
Use ipidRemUnknown from OXID_INFO in the proxy manager instead of
magically generating the IPID for RemUnknown.
2007-03-27 12:39:44 +02: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
880542a9f8
ole32: Close the named pipe after revoking local server objects.
2007-03-09 21:16:37 +01:00
Francois Gouget
b0bde6b87c
Assorted spelling fixes.
2007-01-18 12:56:52 +01:00
Rob Shearman
ba25254d9f
ole32: Remove some unneeded inclusions of headers.
...
Change some incorrect usages of SEEK_SET to the intended STREAM_SEEK_SET
instead.
2007-01-10 12:08:51 +01:00
Rob Shearman
beaaf0514f
ole32: Fix a comment in rpc_sendreceive_thread that wasn't correct.
2007-01-10 12:02:26 +01:00
Francois Gouget
386bb905e7
ole32: Print GetLastError() in decimal with '%u'.
2007-01-06 11:40:43 +01:00
Rob Shearman
2db1d0de38
ole32: Make sure to reset the message state if it has been changed in RPC_ExecuteCall before returning.
...
Fix the hrFault parameter passed into the ClientNotify function in
ClientRpcChannelBuffer_SendReceive so that it is correct in the case of
messages dispatched with PostMessage.
Only unmarshal ORPCTHAT for non-fault packets.
2007-01-04 21:12:36 +01:00
Rob Shearman
7a5d5c5503
ole32: Fix the calculation of message_state->prefix_data_len in two places where it would come out negative.
2007-01-02 20:49:07 +01:00
Rob Shearman
ee99b6d743
ole32: Marshal the ORPCTHAT structure prefixed to the server data.
...
Unmarshal the data on the client side (during
ClientChannelBuffer_SendReceive) and call ClientNotify.
2006-12-27 14:34:15 +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
aca17cd120
ole32: Track the pending call count so that the correct call type can be passed to the message filter HandleInComingCall function.
2006-12-24 13:07:35 +01:00