C++写的一个API:
short ISO6B_ReadLabelID(int *handle, void ** Buffer, int *nCounter);我用C#怎么定义这个void **:
我这么定义:
public static extern short ISO6B_ReadLabelID(IntPtr handle, ref IntPtr Buffer, ref int nCounter);对不,兄弟们!!
short ISO6B_ReadLabelID(int *handle, void ** Buffer, int *nCounter);我用C#怎么定义这个void **:
我这么定义:
public static extern short ISO6B_ReadLabelID(IntPtr handle, ref IntPtr Buffer, ref int nCounter);对不,兄弟们!!
Marshal.Copy(p, buffer, 0, buffer.Length);
_res = RfidReaderApi.ISO6B_ReadLabelID(handle, ref p, ref nCounter); //报错:尝试读取或写入受保护的内存。这通常指示其他内存已损坏。Marshal.Copy(p, buffer, 0, buffer.Length);这个错误怎么解决?
请不使用不安全代码usafe...
void ** Buffer==> out Ptr
只是C#转换我不知道void ** 怎么处理!