The DISPPARAMS parameter array is a reverse-order array.
This commit is contained in:
parent
ff58be5c7f
commit
f26d2522af
|
@ -3932,10 +3932,10 @@ static HRESULT WINAPI ITypeInfo_fnInvoke(
|
||||||
for (i=0;i<pFDesc->funcdesc.cParams;i++) {
|
for (i=0;i<pFDesc->funcdesc.cParams;i++) {
|
||||||
if (i<pDispParams->cArgs) {
|
if (i<pDispParams->cArgs) {
|
||||||
TRACE("set %d to disparg type %d vs %d\n",i,
|
TRACE("set %d to disparg type %d vs %d\n",i,
|
||||||
V_VT(pDispParams->rgvarg+i),
|
V_VT(&pDispParams->rgvarg[pDispParams->cArgs-i-1]),
|
||||||
pFDesc->funcdesc.lprgelemdescParam[i].tdesc.vt
|
pFDesc->funcdesc.lprgelemdescParam[i].tdesc.vt
|
||||||
);
|
);
|
||||||
args[i+1] = V_UNION(pDispParams->rgvarg+i,lVal);
|
args[i+1] = V_UNION(&pDispParams->rgvarg[pDispParams->cArgs-i-1],lVal);
|
||||||
} else {
|
} else {
|
||||||
TYPEDESC *tdesc = &(pFDesc->funcdesc.lprgelemdescParam[i].tdesc);
|
TYPEDESC *tdesc = &(pFDesc->funcdesc.lprgelemdescParam[i].tdesc);
|
||||||
TRACE("set %d to pointer for get (type is %d)\n",i,tdesc->vt);
|
TRACE("set %d to pointer for get (type is %d)\n",i,tdesc->vt);
|
||||||
|
|
Loading…
Reference in New Issue