无法将参数1从'char [25]'转换为'SAFEARRAY *'

时间:2012-03-13 14:57:42

标签: c# c++ com-interop safearray

我的c ++代码中有一个char sendBuf[sizeof(double)*3 + 1];

我的c#com代码方法Multicast( byte[] message)将字节数组作为参数。

那么为什么调用Multicast(sendBuf)不会抛出此错误cannot convert parameter 1 from 'char [25]' to 'SAFEARRAY *'

不是char数组,是c / c ++中的字节数组

如何将此char *转换为safearray呢?

我试过

SAFEARRAYBOUND bound[1] = {25, 0};
SAFEARRAY * psa = SafeArrayCreate(VT_UI1, 1, bound);

for(int i = 0; i <25; i++){
SafeArrayPutElement(psa, &i, sendBuf[i]);   

cannot convert parameter 2 from 'int *' to 'LONG *'

获得SafeArrayPutElement

1 个答案:

答案 0 :(得分:0)