Alexandre Julliard
eadb037ba1
rpcrt4: Build with msvcrt.
...
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2019-06-19 11:22:47 +02:00
Zebediah Figura
9271efc0c7
rpcrt4: Use a FINALLY block to clean up in do_ndr_client_call().
...
Signed-off-by: Zebediah Figura <z.figura12@gmail.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2019-05-21 18:08:37 +02:00
Zebediah Figura
ae5f2a8f84
rpcrt4: Handle exceptions in a larger portion of NdrClientCall().
...
Most notably in NdrProxyInitialize().
This patch and the next bring the scope of exception handling roughly in line
with -Os stubs.
Wine-Bug: https://bugs.winehq.org/show_bug.cgi?id=36981
Signed-off-by: Zebediah Figura <z.figura12@gmail.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2019-05-21 18:08:37 +02:00
Zebediah Figura
40b6adf8f0
rpcrt4: Factor out get_handle_desc_size().
...
Signed-off-by: Zebediah Figura <z.figura12@gmail.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2019-05-21 18:08:37 +02:00
Alexandre Julliard
d5a372abbb
include: Move inline assembly definitions to a new wine/asm.h header.
...
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2019-05-14 13:45:07 +02:00
Louis Lenders
e54224e88c
rpcrt4: Add NdrServerCallAll stub.
...
Wine-Bug: https://bugs.winehq.org/show_bug.cgi?id=47131
Signed-off-by: Louis Lenders <xerox.xerox2000x@gmail.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2019-05-07 09:17:42 -05:00
Jacek Caban
b6c48de699
rpcrt4: Fix context handle return value marshaling.
...
Signed-off-by: Jacek Caban <jacek@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2019-01-25 23:09:07 +01:00
Zebediah Figura
be25106503
rpcrt4: Also clear base-type [out] pointers in client_do_args().
...
Signed-off-by: Zebediah Figura <z.figura12@gmail.com>
Signed-off-by: Huw Davies <huw@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2018-10-15 13:55:22 +02:00
Zebediah Figura
43275fb178
rpcrt4: Avoid clearing a NULL output parameter in client_do_args().
...
Avoids an unhandled exception. Passing NULL as a ref pointer (which a
top-level [out] parameter necessarily is) is illegal, but this will be caught
in the CALCSIZE pass. This matches midl/widl behaviour in the -Os case.
Signed-off-by: Zebediah Figura <z.figura12@gmail.com>
Signed-off-by: Huw Davies <huw@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2018-10-12 09:48:37 +02:00
Zebediah Figura
5be461cd71
rpcrt4: Correctly handle simple ref pointers in calc_arg_size().
...
Signed-off-by: Zebediah Figura <z.figura12@gmail.com>
Signed-off-by: Huw Davies <huw@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2018-10-12 09:48:35 +02:00
Zebediah Figura
be9f5f4aaf
rpcrt4: Handle non-ref pointers in calc_arg_size().
...
Signed-off-by: Zebediah Figura <z.figura12@gmail.com>
Signed-off-by: Huw Davies <huw@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2018-10-12 09:48:33 +02:00
Zebediah Figura
69cd52875a
rpcrt4: Use publicly defined NDR constants.
...
Signed-off-by: Zebediah Figura <z.figura12@gmail.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2018-06-13 09:53:07 +02:00
Huw Davies
b2667416c2
rpcrt4: Don't free the argument if the freer was called, unless it's a simple ref.
...
In the simple reference case the freer will not see the top-level
pointer, so we need to free that here.
This fixes a double-free caused by commit 614afcefa3
.
Signed-off-by: Huw Davies <huw@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2017-11-08 20:21:36 +01:00
Alexandre Julliard
aea6d2371d
rpcrt4: Mark function that are only called from assembly as hidden.
...
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2017-07-25 11:48:54 +02:00
Nikolay Sivov
858064abf6
rpcrt4: Added NdrAsyncServerCall stub.
...
Signed-off-by: Nikolay Sivov <nsivov@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2016-07-29 12:02:05 +09:00
Piotr Caban
614afcefa3
rpcrt4: Free server side arguments with MustFree flag first so other arguments may be used to determine its size.
...
This also fixes a leak when both MustFree and ServerAllocSize flags are
specified.
2015-09-08 14:49:21 +09:00
André Hentschel
ef783d62cc
rpcrt4: Add ARM support.
2015-08-17 16:59:23 +09:00
Huw Davies
173ae68f0b
rpcrt4: Procedures containing a range within a conformance have a larger correlation descriptor.
2015-07-13 22:11:42 +09:00
Huw Davies
a8f46c78ff
rpcrt4: Add missing calls to NdrCorrelationInitialize/Free.
2015-07-13 22:11:27 +09:00
Josh DuBois
1f34f193b6
rpcrt4: Avoid movs between rcx, rdx and xmm registers.
...
Apple's version of as chokes on movs between rcx and rdx and the xmm
registers.
2015-05-06 20:45:41 +09:00
Nikolay Sivov
ecda8fd501
rpcrt4: Added inline helper to test for Oicf stub descriptions.
2015-03-06 20:40:44 +09:00
Nikolay Sivov
2b40f9b01e
rpcrt4: Implement RPC_FC_CALLBACK_HANDLE handle type for NdrClientCall2().
2015-03-06 12:57:03 +09:00
Nikolay Sivov
0810db96fa
rpcrt4: Use RPC_* error code names.
2015-03-03 20:32:06 +09:00
André Hentschel
c60a0b857d
rpcrt4: Fix copy-paste error (coverity).
2012-10-24 19:39:01 +02:00
Thomas Faber
25b76525f3
rpcrt4: Match MSVC version of call_server_func with GCC.
2012-09-24 22:27:26 +02:00
André Hentschel
fc2c0160fb
rpcrt4: Avoid shadowing pProcHeader.
2012-04-30 20:03:28 +02:00
Francois Gouget
e9e0507d2b
rpcrt4: An interface pointer just has the size of a regular pointer.
2011-11-16 17:01:49 +01:00
Francois Gouget
97ba7aa521
rpcrt4: The offset to the complex pointer's description is signed.
2011-11-16 09:47:16 +01:00
Henri Verbeet
f687728c43
rpcrt4: Properly size complex reference pointers.
2011-09-23 12:35:17 +02:00
Francois Gouget
c992ca277d
Assorted spelling fixes.
2011-08-24 19:07:46 +02:00
Frédéric Delanoy
7e309601f3
dlls: Assorted spelling fixes.
2011-08-03 14:15:50 +02:00
Alexandre Julliard
976cd5c9fe
rpcrt4: Support sizing of a few more argument types.
2011-07-29 12:08:52 +02:00
Alexandre Julliard
2bdff69733
rpcrt4: Add a phase in proxies for zeroing output parameters on startup.
2011-07-28 23:10:20 +02:00
Alexandre Julliard
a37ec01bd1
rpcrt4: Add a phase in proxies for clearing output parameters on error.
2011-07-28 23:09:53 +02:00
Alexandre Julliard
78e8fccbd6
rpcrt4: Use the same phase values for clients and stubs.
2011-07-28 23:07:21 +02:00
Alexandre Julliard
f3734fd687
rpcrt4: Pass the full argument format to the size/marshall/unmarshall wrappers to greatly simplify the argument processing.
2011-07-28 22:13:49 +02:00
Alexandre Julliard
ad7cb0cf6c
rpcrt4: Convert old-style arguments for stub calls.
2011-07-28 17:48:19 +02:00
Alexandre Julliard
348f00e116
rpcrt4: Convert old-style arguments for NdrMesProcEncodeDecode.
2011-07-28 17:30:40 +02:00
Alexandre Julliard
e8e3a2da83
rpcrt4: Convert old-style argument formats to new style so that the client call implementation can be shared.
2011-07-28 16:54:01 +02:00
Alexandre Julliard
cf930f1fc9
rpcrt4: Simplify tracing of function parameters and flags.
2011-07-28 13:01:30 +02:00
Alexandre Julliard
064a81782c
rpcrt4: Fetch the arguments address from the StubMsg structure.
2011-07-28 12:48:39 +02:00
Alexandre Julliard
4447f221db
rpcrt4: Use a single structure for all parameter types in new format descriptors.
2011-07-28 12:43:27 +02:00
Alexandre Julliard
781ff545cf
rpcrt4: Make sure we don't try to free a pointer twice.
2011-06-20 19:32:04 +02:00
Alexandre Julliard
a75402af96
rpcrt4: Add a wrapper for NdrAsyncClientCall too.
2011-06-16 14:30:34 +02:00
Alexandre Julliard
ffb8f4bedf
rpcrt4: Add support for float parameters in client calls on x86_64.
2011-06-16 14:30:28 +02:00
Alexandre Julliard
0ce27385fd
rpcrt4: Implement calling server functions on x86_64.
2011-06-14 16:12:04 +02:00
Alexandre Julliard
b6599bd7df
rpcrt4: Add an assembly wrapper to implement the NdrClientCall2 calling convention on x86_64.
2011-06-14 16:12:04 +02:00
Alexandre Julliard
379479a973
rpcrt4: Add a wrapper for NdrClientCall2 to isolate calling convention differences.
2011-06-14 16:12:04 +02:00
Alexandre Julliard
e8567110b3
rpcrt4: Also check base types for null ref pointers.
2011-06-13 11:49:14 +02:00
Alexandre Julliard
b0f8586078
rpcrt4: Fix handling of complex types of return values on the client side.
2011-06-13 11:48:49 +02:00