[DllImport("Azoteq_HID_DLL.dll", CallingConvention = CallingConvention.StdCall, CharSet =CharSet.Ansi)]
public static extern int SetCurrentSerial(int Size, void* Msg);
这是我的尝试,得到语法错误“无法将byte []转换为字节”
byte Size = new byte[1024];
void* Msg;
SetCurrentSerial(Size, &Msg);
答案 0 :(得分:1)
我们不知道该方法在做什么;但如果Msg
是缓冲区的地址,则可能是:
byte[] buffer = new byte[1024];
fixed(byte* ptr = buffer)
{
SetCurrentSerial(buffer.Length, ptr);
}
如果数据仅是调用方法的本地数据,您还可以使用stackalloc
来保存分配和固定数组。