指针和固定大小缓冲区只能在不安全的上下文中使用
[DllImport("Mwic_32.dll", EntryPoint = "swr_4442", SetLastError = true, CharSet = CharSet.Ansi, ExactSpelling = true, CallingConvention = CallingConvention.StdCall)]
public static extern int swr_4442(int icdev, int offset, int len, char* w_string);
中出现了 如题中的问题,应该如何解决!~
------解决方案--------------------属性中勾选允许不安全代码,然后这些放在unsafe段
------解决方案--------------------char*换成string,不过w_string应该是宽字符吧
这样
[DllImport("Mwic_32.dll")]
public static extern int swr_4442(int icdev, int offset, int len, [MarshalAs(UnmanagedType.BStr)]string w_string);
如果w_string不是宽字符,把[MarshalAs(UnmanagedType.BStr)]去掉