C#调用ActiveX控件的参数传递问题byte[]与ref byte
我有一个C++写的ActiveX控件,其中一个导出方法是这样声明的。
VARIANT_BOOL MyFunc(BYTE* data, LONG size, LONG param1, SHORT param2);
bool MyFunc(ref byte data, int size, int param1, short param2)
//byte[] data,int size, uint param1, ushort param2已经正常初始化,数据都不会出现溢出。axCtrl1.MyFunc(ref data[0], size, (int)param1, (short) param2);
//byte[] data,int size, uint param1, ushort param2已经正常初始化,数据都不会出现溢出。axCtrl1.MyFunc(ref data[0], size, (int)param1, (short) param2);
[解决办法]
extern static void XXX([MarshalAs(UnmanagedType.LPTStr)]byte[] bb,......
[解决办法]
我用到过楼主的方法,数据类型匹配方式没有问题,会不会是byte数组不够大,导致越界呢?多分配点空间试试吧?
[解决办法]