Alexandre Julliard : rpcrt4: Support sizing of a few more argument types.

Alexandre Julliard julliard at winehq.org
Fri Jul 29 12:37:00 CDT 2011


Module: wine
Branch: master
Commit: 976cd5c9fee029ab0eb8190f738a80ab6703fe4d
URL:    http://source.winehq.org/git/wine.git/?a=commit;h=976cd5c9fee029ab0eb8190f738a80ab6703fe4d

Author: Alexandre Julliard <julliard at winehq.org>
Date:   Fri Jul 29 12:08:47 2011 +0200

rpcrt4: Support sizing of a few more argument types.

---

 dlls/rpcrt4/ndr_stubless.c |   10 ++++++++++
 1 files changed, 10 insertions(+), 0 deletions(-)

diff --git a/dlls/rpcrt4/ndr_stubless.c b/dlls/rpcrt4/ndr_stubless.c
index 243a0af..4e00269 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)




More information about the wine-cvs mailing list