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
Alexandre Julliard
1c632ffe8e
rpcrt4: Fix handling of complex types of return values on the server side.
2011-06-13 11:48:24 +02:00
Alexandre Julliard
cdf457774d
rpcrt4: Don't try to bind to a null handle.
2011-06-10 11:42:19 +02:00
Alexandre Julliard
c8d787dba8
rpcrt4: Add support for the argument size of varying arrays.
2011-06-10 11:41:58 +02:00
Alexandre Julliard
87cf6ec75d
rpcrt4: Fix parameter stack size computation in the old-style stubless marshaller.
2011-06-10 11:41:38 +02:00
Alexandre Julliard
5d7e4da81a
rpcrt4: Fix handling of arguments passed by value in the old-style stubless marshaller.
2011-06-10 11:35:53 +02:00
Alexandre Julliard
0941644db7
rpcrt4: Don't marshall out-only parameters in the old-style stubless marshaller.
2011-06-10 11:35:24 +02:00
Alexandre Julliard
69bc4da51a
rpcrt4: Add entry points for the old-style stubless Ndr calls.
2011-06-02 17:26:59 +02:00
Alexandre Julliard
f061917296
include: Make CLIENT_CALL_RETURN definition platform-specific to handle the return type incompatibility in NdrClientCall.
2011-06-02 16:22:43 +02:00
Huw Davies
e0a60312d1
rpcrt4: Handle non-conformant bogus structures.
2011-04-27 11:55:01 +02:00
Alexandre Julliard
9de9cbb324
rpcrt4: Retrieve the stack argument pointer in a more portable way in NdrClientCall.
2010-08-26 17:21:09 +02:00
Huw Davies
300536d88e
rpcrt4: Add a missing STUBLESS_INITOUT case.
2010-08-02 17:40:34 +02:00
Michael Stefaniuc
943eefc8fc
rpcrt4: Avoid using long.
2010-05-17 15:41:33 +02:00
Rob Shearman
d412bcc3ae
rpcrt4: Handle [out]-only non-conformant strings in stubless servers.
2009-12-14 12:04:05 +01:00
Rob Shearman
b24aa1c153
rpcrt4: Add support for context handles in stubless servers.
2009-12-14 12:04:05 +01:00
Rob Shearman
438f2a52a6
rpcrt4: Implement comm_status and fault_status handling for stubless procedures.
2009-11-16 17:16:33 +01:00
Huw Davies
da86e727bd
rpcrt4: Move the full pointer table init to after a potential call to NdrServerInitializeNew().
2009-10-26 13:38:10 +01:00
Alexandre Julliard
b6efd13ef5
rpcrt4: Add call frame annotations in x86 assembly code.
2009-06-25 12:05:09 +02:00
Rob Shearman
834c5b4275
rpcrt4: Implement stubless asynchronous NDR interpreter.
...
CodeWeavers did this work for supporting Outlook 2007.
2009-03-25 15:20:44 +01:00
Michael Stefaniuc
e3bb1c8243
rpcrt4: Remove superfluous pointer casts.
2009-02-16 16:01:37 +01:00
Rob Shearman
bcca81f4f4
rpcrt4: Remove the NDR version check from NdrClientCall2 and NdrStubCall2.
...
It does more harm than good, since we can't get any information about
what new features are being used by the caller, if any, by bailing at
this early point.
2009-01-23 16:14:00 +01:00
Francois Gouget
bbc4413548
rpcrt4: Remove WINAPI on static functions where not needed.
2008-11-26 12:10:54 +01:00
Alexandre Julliard
83b6c8a5fa
rpcrt4: Convert source files to utf-8.
2008-10-18 19:20:44 +02:00
Rob Shearman
09f343b135
rpcrt4: Ignore the return value of functions when unmarshalling a pickled procedure.
2008-07-14 11:48:25 +02:00
Rob Shearman
734094ed2c
rpcrt4: Implement NdrMesProcEncodeDecode.
2008-07-14 11:48:08 +02:00
Austin English
313a85f163
Spelling fixes.
2008-04-17 12:25:57 +02:00
Rob Shearman
0e7b25349d
rpcrt4: Fix the pointer level being passed into call_unmarshaller in client_do_args_old_format for base return parameters.
...
NdrBaseTypeUnmarshall expects a pointer to a pointer to a base type.
pRetVal contains a pointer to a base type, so we need to pass the
address of pRetVal into call_unmarshaller here.
2008-03-10 19:25:55 +01:00
Rob Shearman
259ccc573c
rpcrt4: Fix -Oi interpreter for base types.
...
Don't call memory sizing rountines to compute the size of a type, since
memory sizing routines have side effects like checking there is enough
space in the buffer for the type and incrementing the buffer pointer.
Instead, create a function which returns the necessary size of the
limited set of types we can encounter and remove call_memory_sizer which
is no longer needed.
2008-03-10 19:12:54 +01:00
Rob Shearman
8608e895eb
Add a new convenience macro for an exception handler that handles all exceptions.
...
When using native compiler exceptions, the previous method of doing
this, __EXCEPT(NULL), would expand to __except(
(NULL)(GetExceptionInformation())) which doesn't compile as NULL isn't a
function.
So add a new macro, __EXCEPT_ALL, which works correctly both when using
native compiler exceptions and without and which makes the meaning of
code in which it is used clearer.
2008-02-16 14:58:24 +01:00
Rob Shearman
426418f725
rpcrt4: Don't set BufferStart and BufferEnd in NdrStubCall2.
...
The operations peformed by the stubless code should roughly match what
operations MIDL outputs in code, and it doesn't do this.
2008-01-22 11:18:56 +01:00
Rob Shearman
6ec9e0c77a
rpcrt4: Add an exception handler for stubless object proxies.
2008-01-17 15:30:18 +01:00
Andrew Talbot
3c14ae6699
rpcrt4: Remove unneeded casts.
2008-01-17 13:42:14 +01:00
Rob Shearman
ffffcfa239
rpcrt4: Move the setting of retval_ptr outside of any particular stub phase in stub_do_args and stub_do_old_args.
...
After the change in order of phases it was no longer being set in the
last phase and so caused all stubless functions to appear to have no
return value.
2008-01-16 12:15:51 +01:00
Rob Shearman
ed5b296289
rpcrt4: The initialisation of [out] variables in the stubless code must be after the unmarshaling of [in] and [in, out] variables has been completed.
...
This is because the size of an [out] variable could depend on a
conformance value stored in an unmarshalled [in] or [in,out] variable.
2008-01-14 15:31:37 +01:00
Rob Shearman
4f6142b8d9
rpcrt4: Handle complex arrays in calc_arg_size.
2008-01-14 15:31:37 +01:00
Rob Shearman
807a203f77
rpcrt4: Call NdrCorrelationInitialize and NdrCorrelationFree from NdrClientCall2 if new correlation descriptors have been specified.
2008-01-07 22:55:37 +01:00
Rob Shearman
f9a54a58d5
rpcrt4: ndr_stubless.h should include ndrtypes.h as it depends on types it defines.
2008-01-07 22:55:32 +01:00
Francois Gouget
b6ad7b5ef7
rpcrt4: Add an API documentation stub to make winapi_check happy.
2007-11-13 13:37:24 +01:00
Rob Shearman
c4a1a081a9
rpcrt4: Factorise out the argument processing from NdrStubCall2 into two functions.
2007-11-05 13:24:36 +01:00
Rob Shearman
83bc80ada0
rpcrt4: Move some type definitions from ndr_stubless.c to ndr_stubless.h.
2007-11-05 13:24:36 +01:00
Rob Shearman
3eac5b4e59
rpcrt4: Add a small bit of documentation as to what NdrStubCall2 does.
2007-11-05 13:24:36 +01:00
Rob Shearman
903fb72b21
rpcrt4: Add a STUBLESS_FREE phase for freeing the allocated memory in the server function.
2007-06-25 23:21:52 +02:00
Rob Shearman
a1dca20dd7
rpcrt4: Add support for ServerAllocSize parameters.
2007-06-25 23:21:52 +02:00