解决方案 »

  1.   

     public static extern uint dmail_parseehfile(ref string  pathname, ehInformation  ehinfo, string  errdesc, string  attachpath = "", UInt16  testattchfileexist = 0);
    这个方法第一个参数的ref去掉
      

  2.   

    1.如果string类型的数据要以引用方式返回,推荐使用stringbuilder.
       基本类型要返回,加ref
    2.如果结构体要返回,需要加[Out]比如:[DllImport("mydll", EntryPoint = "Mydll_FormatPointData", CharSet = CharSet.Ansi, CallingConvention = CallingConvention.StdCall)]
            public static extern int FormatPointDataArray(int nHandle,
                                  ref   int nTagCount,   //返回个数
                                  [Out] int[] pErrorCodeArray, //返回数组
                                   [Out] PointData[] hPointDataArray); //返回结构体数组 PontData是自定义结构体
    同意4楼的建议,Dll给出的函数最好以c的方式给出,否则C#没好处理
      

  3.   

    资源里面有本相关的书,可以参考下
    http://download.csdn.net/detail/xian_wwq/7852751