rpcrt4: Add support for the argument size of varying arrays.

This commit is contained in:
Alexandre Julliard 2011-06-07 20:45:33 +02:00
parent 87cf6ec75d
commit c8d787dba8
1 changed files with 3 additions and 0 deletions

View File

@ -1001,14 +1001,17 @@ static DWORD calc_arg_size(MIDL_STUB_MESSAGE *pStubMsg, PFORMAT_STRING pFormat)
FIXME("Unhandled conformant description\n"); FIXME("Unhandled conformant description\n");
break; break;
case RPC_FC_CARRAY: case RPC_FC_CARRAY:
case RPC_FC_CVARRAY:
size = *(const WORD*)(pFormat + 2); size = *(const WORD*)(pFormat + 2);
ComputeConformance(pStubMsg, NULL, pFormat + 4, 0); ComputeConformance(pStubMsg, NULL, pFormat + 4, 0);
size *= pStubMsg->MaxCount; size *= pStubMsg->MaxCount;
break; break;
case RPC_FC_SMFARRAY: case RPC_FC_SMFARRAY:
case RPC_FC_SMVARRAY:
size = *(const WORD*)(pFormat + 2); size = *(const WORD*)(pFormat + 2);
break; break;
case RPC_FC_LGFARRAY: case RPC_FC_LGFARRAY:
case RPC_FC_LGVARRAY:
size = *(const DWORD*)(pFormat + 2); size = *(const DWORD*)(pFormat + 2);
break; break;
case RPC_FC_BOGUS_ARRAY: case RPC_FC_BOGUS_ARRAY: