读书人

关于C#与(C++)Com交互之数组传接

发布时间: 2013-03-22 09:49:50 作者: rapoo

关于C#与(C++)Com交互之数组传递

关于C#与(C++)Com交互之数组传递

通过C#分配内存空间给COM

void SetDataToCom()

{

var arrayy = new int[3]{1,2,3};

int size = Marshal.SizeOf(arrayy[0]) * arrayy.Length;
marshalDataList = Marshal.AllocHGlobal(size);
Marshal.Copy(arrayy, 0, marshalDataList, arrayy.Length);

Mycom.SetCom(marshalDataList, arrayy.Length, false);//Set Value To Com

}

void GetDataFormCom()

{

int[] dataList = new int[10];
int size = Marshal.SizeOf(dataList[0]) * dataList.Length;
marshalDataList = Marshal.AllocHGlobal(size);

Mycom.GetCom(marshalDataList, dataList.Length, true);//Get Value From Com
Marshal.Copy(marshalDataList, dataList, 0, dataList.Length);

}

读书人网 >C++

热点推荐