草庐IT

SAFEARRAY

全部标签

C# 函数不更新 SAFEARRAY

我有一个具有以下签名的C#函数:intGet1251Bytes(stringsource,byte[]result,Int32lengthOfResult)我从C++调用它。编译器通知我第二个参数必须具有SAFEARRAY*类型。所以我这样调用它:SAFEARRAY*safeArray=SafeArrayCreateVector(VT_UI1,0,arrayLength);charstr[]={'s','t','a','c','k','\0'};converter->Get1251Bytes(str,safeArray,arrayLength);但是safeArray没有更新,它仍然包

c++ - 如何遍历 SAFEARRAY **

如何通过C++safearray指针迭代指针并访问其元素。我尝试复制LimBioLiong发布的解决方案http://social.msdn.microsoft.com/Forums/en-US/vcgeneral/thread/022dba14-9abf-4872-9f43-f4fc05bd2602但最奇怪的是IDL方法签名出来是HRESULT__stdcallGetTestStructArray([out]SAFEARRAY**test_struct_array);代替HRESULT__stdcallGetTestStructArray([out]SAFEARRAY(TestStr

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

cannotconvertparameter1from'char[25]'to'SAFEARRAY*'我的c代码中有一个charsendBuf[sizeof(double)*3+1];。我的c#com代码方法Multicast(byte[]message)将字节数组作为参数。那么为什么调用Multicast(sendBuf)不抛出这个错误cannotconvertparameter1from'char[25]'to'SAFEARRAY*'不是char数组c/c中的字节数组那么我该如何将此char*转换为safearray呢?我试过了12345SAFEARRAYBOUNDbound[1]={25

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

cannotconvertparameter1from'char[25]'to'SAFEARRAY*'我的c代码中有一个charsendBuf[sizeof(double)*3+1];。我的c#com代码方法Multicast(byte[]message)将字节数组作为参数。那么为什么调用Multicast(sendBuf)不抛出这个错误cannotconvertparameter1from'char[25]'to'SAFEARRAY*'不是char数组c/c中的字节数组那么我该如何将此char*转换为safearray呢?我试过了12345SAFEARRAYBOUNDbound[1]={25
12