Invoke如何调用多个输出的

cospos 2012-03-15 03:42:36
比如我的接口

STDMETHODIMP CAddd::Function2(LONG *lCnt1,LONG *lCnt2,LONG *lCnt3)
{
}

我原来是这么调用的

hr = pIMyMath.CoCreateInstance(L"AA.Addd.1");
if (FAILED(hr))
{
printf("CoCreateInstance failed");
goto end;
}
printf("succeed\n");
VARIANT vOut;
VariantInit(&vOut);
DISPPARAMS dispParam = {NULL, NULL, 0, 0 };

hr = pIMyMath->Invoke(1, IID_NULL, LOCALE_USER_DEFAULT, DISPATCH_METHOD | DISPATCH_PROPERTYGET, &dispParam, &vOut, NULL, NULL);
if(FAILED(hr))
{
printf("FAILED");
}
VariantClear(&vOut);

pIMyMath = NULL;

单个输出的话可以通过 vOut查看,这种多个需要输出的怎么查看呢?另外如果这种需要多个输出的是不是改为结构体比较好啊?但是如果是结构体的话该怎么调用呢?
...全文
69 6 打赏 收藏 转发到动态 举报
写回复
用AI写文章
6 条回复
切换为时间正序
请发表友善的回复…
发表回复
cospos 2012-03-19
  • 打赏
  • 举报
回复
我找了一个类似的例子,发现里面是解析xml获取
许文君 2012-03-19
  • 打赏
  • 举报
回复
要我传出多个参数就直接传出个bstr,然后自己解析里面的内容去
Daisy__Ben 2012-03-19
  • 打赏
  • 举报
回复
vOut dispParam 两个参数设置错误 结构体不可以做为参数调用 答对请给分
许文君 2012-03-17
  • 打赏
  • 举报
回复
你为什么要这么来调?这个我也没试过,你先看下1L是否可行,
fishion 2012-03-15
  • 打赏
  • 举报
回复
你就看看dispParam 那里添加的变量能不能作为这个Function2函数的部分返回来使用了

3,245

社区成员

发帖
与我相关
我的任务
社区描述
ATL,Active Template Library活动(动态)模板库,是一种微软程序库,支持利用C++语言编写ASP代码以及其它ActiveX程序。
社区管理员
  • ATL/ActiveX/COM社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧