C++动态库导出函数中有指针,如何用C#写导入函数?指针指向图像数据内存~
银霜覆秋枫 2014-10-28 09:12:27 C++原型为:bool CALLBACK Callbackdata(int index, int mode, BYTE* data, int len, int w, int h)
其中data指向图像数据单元;我自己写的C#导入函数声明为委托:
public delegate bool DataCallBack(int index, int type, byte[] pdata, int len, int width, int height);
调用委托:
MfcDllEncapsulater.DataCallBack dataCallback = new MfcDllEncapsulater.DataCallBack(callbackData);
nRet = MfcDllEncapsulater.WP_IPC_SetDataCallBack(dataCallback);
data数组如果正确的话应该是保存有长度为width*height*4的图像数据,然后在刚定义的回调函数中对数据做处理~,但是实际情况是pdata这个数组的大小始终为1;我个人的猜想是当C#以数组形式传入参数时,C++动态库中并没有为data作初始化大小的操作~求大神解答~