关于c#:无法将参数1从//’char [25]//’转换为//’SAFEARRAY *//’

cannot convert parameter 1 from ‘char [25]’ to ‘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 呢?

我试过了

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

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

但是为 SafeArrayPutElement

得到 cannot convert parameter 2 from ‘int *’ to ‘LONG *’


SAFEARRAY API 文档

SafeArrayCreateVector

开始


原创文章,作者:ItWorker,如若转载,请注明出处:https://blog.ytso.com/268870.html

(0)
上一篇 2022年6月20日
下一篇 2022年6月20日

相关推荐

发表回复

登录后才能评论