日期:2014-05-18  浏览次数:22738 次

指针和固定大小缓冲区只能在不安全的上下文中使用
[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)]去掉