Sync to Wine-0_9_3:
authorGé van Geldorp <ge@gse.nl>
Wed, 14 Dec 2005 19:02:42 +0000 (19:02 +0000)
committerGé van Geldorp <ge@gse.nl>
Wed, 14 Dec 2005 19:02:42 +0000 (19:02 +0000)
commit353588bbcbae00fe991880b3e4fbe81debbd6020
tree6bee7341ce0ffc5df05949e3ca108bd9da3a0f96
parentb60b4c794aab7aea2cb0503fb4cdd043519916d0
Sync to Wine-0_9_3:
Robert Shearman <rob@codeweavers.com>
- Return the correct error code from NdrProxyErrorHandler.
- Add a function to retrieve the MIDL_SERVER_INFO struct from an object.
- Make sure to fill out the MIDL_STUB_MESSAGE structure in
  NdrSendReceive like we do in NdrProxySendReceive.
- Fix the overflow check to not depend on pStubMsg->BufferStart and
  pStubMsg->BufferEnd being valid, because they aren't filled in when
  using MIDL-generated server stubs.
- Don't set the pointer to NULL on unmarshaling because we may want to
  unmarshal the value to an existing pointer instead of allocating a new
  one.
- Raise exceptions on failures.
  Replace references of pStubMsg->BufferEnd with RpcMsg->Buffer +
  pStubMsg->BufferLength.
- Fix buffer calculation when no interface data is marshaled to the
  stream.
- Implement conformant varying array functions.
- Implement conformant struct functions.
- Implement FC_STRUCTPAD2 for complex types.
- Add functions for marshaling base types (ints, floats, etc.).
- Extend conformance computation function to also compute variances.
  MSDN suggests that conformance and variance are pretty much the same,
  but there may be some subtleties to it.
- Fix NdrConformantArrayBufferSize to include the size of the
  conformance value.
  Make NdrConformantArrayMemorySize do something more useful, like
  actually return the required memory.
  Conformance offset can be negative and should only be two bytes.
- We should always allocate in NdrConformantStringUnmarshal if the
  memory pointer is NULL.
- The CLSID can be substituted by an IID present in one of the proxy
  file infos in NdrDllGetClassObject.
Ge van Geldorp <gvg@reactos.org>
- Match PSDK STATUS_* definitions.

svn path=/trunk/; revision=20167
reactos/lib/rpcrt4/cpsf.c
reactos/lib/rpcrt4/cpsf.h
reactos/lib/rpcrt4/cstub.c
reactos/lib/rpcrt4/ndr_marshall.c
reactos/lib/rpcrt4/ndr_midl.c
reactos/lib/rpcrt4/ndr_misc.h
reactos/lib/rpcrt4/ndr_ole.c