+ -
当前位置:首页 → 问答吧 → 在COM中使用数组参数

在COM中使用数组参数

时间:2011-12-02

来源:互联网

vc编写进程外COM组件;应用程序也用VC编写。传递数组参数,想用数组指针传递。
(资料:COM的接口中使用数组作为参数的三种方法。它们分别是:数组指针、SafeArray和ICollection。)
网上有链接:http://blog.csdn.net/wcyoot/article/details/6562620

根据上面资料,在IDL声明中,应该正确的设置数组长度和复制长度。
HRESULT Sum ([in, size_is(Count)] long * pNums,
  long Count,
  [out, retval] long * pResult);

然后该怎么做?也就是“数组指针作为跨套间的调用参数时,需要进行marshal。所以,应该编译和注册proxy/stub。”该怎么做?
能否指点一下。

作者: brookindut   发布时间: 2011-12-02

看了下,是在[]里添加first_is,length_is的东西进行列集的,“编译和注册proxy/stub”这个应该是编译IDL文件就行了

可能最好还是就用SafeArray吧。可以到网上找找使用方法

作者: fishion   发布时间: 2011-12-02