From 976cd5c9fee029ab0eb8190f738a80ab6703fe4d Mon Sep 17 00:00:00 2001 From: Alexandre Julliard Date: Fri, 29 Jul 2011 12:08:47 +0200 Subject: [PATCH] rpcrt4: Support sizing of a few more argument types. --- dlls/rpcrt4/ndr_stubless.c | 10 ++++++++++ 1 file changed, 10 insertions(+) diff --git a/dlls/rpcrt4/ndr_stubless.c b/dlls/rpcrt4/ndr_stubless.c index 243a0af1704..4e00269794f 100644 --- a/dlls/rpcrt4/ndr_stubless.c +++ b/dlls/rpcrt4/ndr_stubless.c @@ -150,6 +150,7 @@ static DWORD calc_arg_size(MIDL_STUB_MESSAGE *pStubMsg, PFORMAT_STRING pFormat) switch(*pFormat) { case RPC_FC_STRUCT: + case RPC_FC_PSTRUCT: size = *(const WORD*)(pFormat + 2); break; case RPC_FC_BOGUS_STRUCT: @@ -178,6 +179,15 @@ static DWORD calc_arg_size(MIDL_STUB_MESSAGE *pStubMsg, PFORMAT_STRING pFormat) size = ComplexStructSize(pStubMsg, pFormat); size *= pStubMsg->MaxCount; break; + case RPC_FC_USER_MARSHAL: + size = *(const WORD*)(pFormat + 4); + break; + case RPC_FC_CSTRING: + size = *(const WORD*)(pFormat + 2); + break; + case RPC_FC_WSTRING: + size = *(const WORD*)(pFormat + 2) * sizeof(WCHAR); + break; case RPC_FC_C_CSTRING: case RPC_FC_C_WSTRING: if (*pFormat == RPC_FC_C_CSTRING)