rpcrt4: Support sizing of a few more argument types.
This commit is contained in:
parent
2bdff69733
commit
976cd5c9fe
|
@ -150,6 +150,7 @@ static DWORD calc_arg_size(MIDL_STUB_MESSAGE *pStubMsg, PFORMAT_STRING pFormat)
|
||||||
switch(*pFormat)
|
switch(*pFormat)
|
||||||
{
|
{
|
||||||
case RPC_FC_STRUCT:
|
case RPC_FC_STRUCT:
|
||||||
|
case RPC_FC_PSTRUCT:
|
||||||
size = *(const WORD*)(pFormat + 2);
|
size = *(const WORD*)(pFormat + 2);
|
||||||
break;
|
break;
|
||||||
case RPC_FC_BOGUS_STRUCT:
|
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 = ComplexStructSize(pStubMsg, pFormat);
|
||||||
size *= pStubMsg->MaxCount;
|
size *= pStubMsg->MaxCount;
|
||||||
break;
|
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_CSTRING:
|
||||||
case RPC_FC_C_WSTRING:
|
case RPC_FC_C_WSTRING:
|
||||||
if (*pFormat == RPC_FC_C_CSTRING)
|
if (*pFormat == RPC_FC_C_CSTRING)
|
||||||
|
|
Loading…
Reference in New Issue