这是人家给我的VC++声明原型
extern "C" __declspec(dllimport) int RecToFile(char *filename,CString result[13][2]); 
int _num;
__declspec(dllexport)  int RecToFile(char *filename,CString result[13][2])
{
return _num;
}

解决方案 »

  1.   

    1:[DllImport("C++动态库.dll")]
    引进来。public static extern int RecToFile(IntPtr filename,IntPtr results)2:难点CString二维数据。
    通过 Marshal对 results进行分析。获得字符串数据。
      

  2.   

    这里有个一维数据的例子,看看对你有没帮助。API
    [DllImport("coredll")]
    internal extern static void RasEnumEntries(string sReserved, string sPhoneBook,  byte[] pEntries, ref int lpcb, out int lpcEntries);
    C#实现。private static string[] EnumEntryNames()
        {
          ArrayList al = new ArrayList();      int cb = 0, cEntries;
          Native.RasEnumEntries(null, null, null, ref cb, out cEntries);
          byte[] entries = new byte[cb];
          Native.RasEnumEntries(null, null, entries, ref cb, out cEntries);
          for (int i = 0; i < cEntries; i++)
          {
            RasEntryName en = RasEntryName.FromData(entries, RasEntryName.GetSize() * i);
            al.Add(en.ToString());
          }
          return (string[])al.ToArray(typeof(string));
        }
    =========
    public static RasEntryName FromData(byte[] Data, int offset)
            {
                RasEntryName en = new RasEntryName();
                Buffer.BlockCopy(Data, offset, en.data, 0, en.data.Length);  //把有用数据拷到一个空间中
                return en;
            }