Commit Graph

162 Commits

Author SHA1 Message Date
Huw Davies 1ed2a613a7 ole32: Mask out the flag bit.
Signed-off-by: Huw Davies <huw@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2016-09-02 23:34:26 +09:00
Huw Davies 327100fef9 ole32: Don't block inside CoDisconnectObject.
This may be called inside a COM call to the object.

Signed-off-by: Huw Davies <huw@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2015-10-14 12:43:17 +09:00
Huw Davies 35571a7254 ole32: Hold a reference to the stub manager throughout an incoming call.
This will enable us to defer deleting the manager until the call has finished.

Signed-off-by: Huw Davies <huw@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2015-10-14 12:43:13 +09:00
Francois Gouget 7fe0600237 ole32: Remove unneeded NONAMELESSXXX directives. 2015-03-17 14:18:54 +09:00
Sebastian Lackner 83aca6e7aa ole32: Fix a possible handle leak (Coverity). 2015-03-11 12:46:54 +09:00
Nikolay Sivov ba999f05e1 ole32: Test HRESULT values using proper success code. 2013-08-20 12:01:38 +02:00
Jacek Caban 889112a29a ole32: Use a separated object to expose local servers instead of marshaling them in CoRegisterClassObject. 2013-05-23 20:03:17 +02:00
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