佚名通过本文主要向大家介绍了
Invoke调用不成功,关注有分等相关知识,希望对您有所帮助,也希望大家支持linkedu.com www.linkedu.com
问题: Invoke 调用不成功,关注有分
描述:
描述:
调用的接口参数只有一个,返回值了只有一个,都为BSTR型
CComVariant* pVariant = new CComVariant();
pVariant->vt=VT_BSTR;
pVariant->bstrVal=CComBSTR("checkbox");
DISPPARAMS FAR params;
params.cNamedArgs = dispid;
params.rgdispidNamedArgs = NULL; //永远为空
params.cArgs=1;
params.rgvarg = pVariant;
CComVariant* pvResult = new CComVariant();// 存贮返回值
pvResult->vt = VT_BSTR;// 指明要存贮的返回值得类型为BSTR
pvResult->bstrVal = CComBSTR("");
//唤起方法
hr=pDisp->Invoke(dispid,IID_NULL,LOCALE_SYSTEM_DEFAULT,DISPATCH_PROPERTYGET,NULL,pvResult,NULL,NULL);
此时,hr=E_INVALIDARG,One or more arguments are invalid.
为什么参数不正确?
记得COM原理(潘爱民 译)那本书有成功的例子,谁能把那段代码贴上来?