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
Rob Shearman
e236edb91e
ole32: Send a causality ID in the ORPCTHIS header for a call.
...
Use the causality ID to determine whether this is a top-level or a
nested (called-back) call for the purposes of IMessageFilter::HandleInComingCall.
2006-12-20 12:41:01 +01:00
Rob Shearman
a089e57983
ole32: Pass in the IID and IUnknown* of the object being executed to the server notification and message filter functions.
2006-12-20 12:40:38 +01:00
Rob Shearman
9208eef55c
ole32: Call the message filter for incoming calls.
2006-12-20 12:40:30 +01:00
Rob Shearman
c0a25d3565
ole32: Call ServerNotify for channel hooks.
...
Store the SChannelHookCallInfo structure in the message state.
2006-12-20 12:40:03 +01:00
Rob Shearman
5788ee9f05
ole32: Implement CoRegisterChannelHook and call channel hook methods on the client side.
2006-12-20 12:39:50 +01:00
Rob Shearman
1dc5dec6e6
ole32: Marshal the ORPCTHIS structure prefixed to the client data when doing ORPC calls.
...
This is done by putting the ORPCTHIS data into the buffer when calling
IRpcChannelBuffer::GetBuffer on the client side and then storing the
amount we increased the buffer in a structure stored in the Handle
field. This is done to present the correct Buffer pointer to the proxy
so that it writes its data after the ORPCTHIS data.
Unmarshal the data on the server side (during RPC_ExecuteCall) and make
sure the data is consistent according to NDR rules. Also add several
checks on the unmarshaled data that are specified by the DCOM draft
specification.
2006-12-20 12:36:43 +01:00