Commit Graph

419 Commits

Author SHA1 Message Date
Robert Shearman
c9779ca16b rpcrt4: Implement varying array NDR functions. 2006-06-05 13:25:09 +02:00
Robert Shearman
cd19c99284 rpcrt4: Don't call NdrBaseTypeMemorySize from within NdrBaseTypeUnmarshall. 2006-06-05 13:24:54 +02:00
Robert Shearman
0fad0895d7 rpcrt4: Don't try to resolve the name when constructing a protocol tower.
Instead just fill it in with all zeros.
2006-06-03 11:42:54 +02:00
Robert Shearman
ebcd6b6a24 rpcrt4: Change ComputeConformance and ComputeVariance from macros to
inline functions. Clear pStubMsg->Offset in ComputeVariance since it
isn't set by ComputeConformanceOrVariance and so could be left filled
with garbage.
2006-06-03 11:42:36 +02:00
Robert Shearman
a48433453b rpcrt4: The lifetime of the binding handle stored in the context
handle is independent of the binding handle used in the call that
unmarshaled it, so we should use RpcBindingCopy to make a copy of it
and then call RpcBindingFree later to free it.
2006-06-03 11:42:25 +02:00
Robert Shearman
a4fff73ba3 rpcrt4: Fix an incorrect format string pointer being passed in to
ComputeVariance in NdrConformantVaryingStructBufferSize.
2006-06-03 11:42:13 +02:00
Robert Shearman
6a11aba526 rpcrt4: Skip over the right-hand-side data for the protocol floor so
that we can parse the towers received from native rpcrt4.
2006-06-03 11:42:03 +02:00
Robert Shearman
da44126395 rpcrt4: Align the buffer correctly when marshaling and unmarshaling context handles. 2006-06-03 11:41:51 +02:00
Robert Shearman
ec5b3c3ea6 rpcrt4: Freeing a NULL context handle is allowed. 2006-06-03 11:41:42 +02:00
Robert Shearman
1a346a4a13 rpcrt4: NdrClientContextMarshall/Unmarshall should both increment the buffer pointer. 2006-06-03 11:41:33 +02:00
Robert Shearman
dc6c640cd2 rpcrt4: Fix the unmarshaling of pointers in conformant varying arrays,
by passing the correct type format string to ReadConformance.
2006-06-03 11:41:22 +02:00
Robert Shearman
972ce2f635 rpcrt4: CContext can be NULL in NDRCContextMarshall, in which case we should marshall all-zeros. 2006-06-03 11:41:07 +02:00
Robert Shearman
678ad6286c rpcrt4: Fix the pointer count used when handling embedded pointers in varying arrays. 2006-06-03 11:40:45 +02:00
Robert Shearman
423e7e3089 rpcrt4: Print some more informative error messages when getaddrinfo fails. 2006-06-03 11:40:42 +02:00
Robert Shearman
efc974d1f5 rpcrt4: All of the parameters to TowerExplode are optional. 2006-06-02 11:24:29 +02:00
Robert Shearman
e15e60b9f9 rpcrt4: Implement TowerConstruct and TowerExplode.
Add some tests for these undocumented functions.
2006-06-02 11:24:20 +02:00
Robert Shearman
37364b836f rpcrt4: Add functions for generating and parsing the upper floors in endpoint-mapper towers for different transports. 2006-06-02 11:24:03 +02:00
Robert Shearman
84ab2e78a4 rpcrt4: Implement I_RpcAllocate and I_RpcFree. 2006-06-02 11:22:56 +02:00
Robert Shearman
cc9baf364e rpcrt4: Don't send the unused part of the allocated buffer. 2006-06-02 11:22:44 +02:00
Robert Shearman
11da87d098 rpcrt4: NdrClientInitializeNew shouldn't clear all of the stub message, only selected fields. 2006-06-02 11:22:38 +02:00
Mike McCormack
7f98594f75 rpcrt4: Implement NDRCContext(Un)marshall and NDRCContextBinding. 2006-06-01 11:48:33 +02:00
Huw Davies
bb835ae438 rpcrt4: Add ENUM32 support to ComplexStructMemorySize. 2006-05-31 15:48:11 +02:00
Robert Shearman
115525f3c4 rpcrt4: Make UserMarshalFlags static. 2006-05-30 12:25:22 +02:00
Robert Shearman
df57b025c6 rpcrt4: We should never pass an fMustAlloc value of TRUE into the
unmarshaler routines of embedded complexes in complex struct and array
unmarshaling.

Fixes a regression caused by commit
19fad8e710, reported by Ulrich
Dobramysl.
2006-05-30 12:25:17 +02:00
Robert Shearman
cafd2ab37e rpcrt4: Make sure to set a unique pointer with an id of 0 to NULL when unmarshaling. 2006-05-30 12:25:03 +02:00
Robert Shearman
11eb8ee042 rpcrt4: If the number of pointers is 0 for NdrFullPointerXlatInit then
set the number of pointers to a large default, so that NumberOfBuckets
doesn't end up less than zero.
2006-05-30 12:24:53 +02:00
Robert Shearman
ff9fd9c430 rpcrt4: Handle marshaling/unmarshaling full pointers. 2006-05-30 12:24:41 +02:00
Robert Shearman
bf985900e2 rpcrt4: For full pointers the state consists of flags, so or new flags into the field instead of assigning.
The return value of all full pointer functions that return an int 
depends on the passed in query type being a flag in the state.
2006-05-30 12:24:22 +02:00
Robert Shearman
63307241dd rpcrt4: Store the QueryType in the state table in NdrFullPointerQueryRefId.
Implement NdrFullPointerFree.
2006-05-27 10:54:39 +02:00
Robert Shearman
7af506b2b4 rpcrt4: Fix NdrFullPointerQueryRefId to make more tests pass. 2006-05-27 10:54:21 +02:00
Robert Shearman
767631d853 rpcrt4: Implement remaining part of NdrFullPointerQueryPointer and implement NdrFullPointerInsertRefId. 2006-05-27 10:53:48 +02:00
Robert Shearman
eb0fe9e6e3 rpcrt4: Implement some full pointer functions and add stubs for others.
Add some tests.
2006-05-27 10:53:29 +02:00
Mike McCormack
a534fdec32 rpcrt4: Implement NdrClientContext(Un)Marshall. 2006-05-26 20:21:00 +02:00
Robert Shearman
013d00f094 rpcrt4: Even though FC_DEREFERENCE conformance is handled elsewhere in
ComputeConformanceOrVariance it is still necessary to set the count
variable to the value retrieved.
2006-05-26 20:15:49 +02:00
Robert Shearman
8b56e88276 rpcrt4: Return the actual status code sent back by the server, rather than RPC_S_CALL_FAILED. 2006-05-26 20:15:44 +02:00
Mike McCormack
42bf8254c0 rpcrt4: Stub implementations for NDRS marshalling functions. 2006-05-25 10:45:01 +02:00
Robert Shearman
ec2a9cef3a rpcrt4: Set the Memory field of the stub message structure to the
start of the memory that an embedded pointer is embedded in so that
FC_POINTER conformance works correctly.
2006-05-25 10:40:35 +02:00
Robert Shearman
4e85273086 rpcrt4: Implement explicit generic binding handles. 2006-05-25 10:40:23 +02:00
Robert Shearman
0030b6dacd rpcrt4: Move the getting of the client binding handle to a separate function. 2006-05-25 10:40:09 +02:00
Robert Shearman
fdda17deea rpcrt4: Move the initialising of the stub message structure nearer to the top of NdrClientCall2.
Set stubMsg.StackTop after calling the initialise function.
2006-05-25 10:39:50 +02:00
Robert Shearman
9d87447455 rpcrt4: Store the arguments exclusively in stubMsg.StackTop. 2006-05-25 10:39:22 +02:00
Robert Shearman
b9f36c3fa2 rpcrt4: Implement RpcBindingCopy. 2006-05-25 10:39:02 +02:00
Alexandre Julliard
9ca8a86914 Link against libwine_unicode everywhere we use Unicode functions. 2006-05-24 18:05:40 +02:00
Alexandre Julliard
23f9e358ad Tests should not use wine/unicode.h. 2006-05-24 18:05:09 +02:00
Mike McCormack
4def9cc022 rpcrt4: Add stub implementations for NDRCContext(Un)Marshall. 2006-05-24 14:38:14 +02:00
Huw Davies
00598e49cf rpcrt4: Uncomment test now that it works correctly. 2006-05-23 17:51:50 +02:00
Huw Davies
69d18c48b1 rpcrt4: Add another static. 2006-05-23 17:51:44 +02:00
Huw Davies
9ba57efc18 rpcrt4: Fix some comments and move the NdrSimpleType* functions out from amongst the NdrSimpleStruct* ones. 2006-05-23 17:51:19 +02:00
Jonathan Ernst
360a3f9142 Update the address of the Free Software Foundation. 2006-05-23 14:11:13 +02:00
Robert Shearman
dd362a62a1 rpcrt4: Fix copying too much data from the buffer by not taking into account the fact that auth_pad_len has been included in the fragment length. 2006-05-23 11:36:37 +02:00