int MakeWorkCard(char *SystemCode);长度4个字节        [DllImport("card.dll", EntryPoint = "MakeWorkCard", CharSet = CharSet.Ansi, SetLastError = true)]
       
用      public static extern int MakeWorkCard(ref byte SystemCode);
     还是用
 public static extern int MakeWorkCard(byte [] SystemCode);
还有在调用时          byte[] _myString = new byte[8]; 然后又怎么写下去呢?本人想学多一点,在线等

解决方案 »

  1.   

    [DllImport("card.dll", EntryPoint = "MakeWorkCard", CharSet = CharSet.Ansi, SetLastError = true)]
    public static extern int MakeWorkCard(string SystemCode);
    string _myString = ""; 
    MakeWorkCard(_myString);
    这样您觉得?
      

  2.   

    当然不行  一个是指针类型,一个是STRING  
      

  3.   

    如果写成 public static extern int MakeWorkCard(char* SystemCode); int i = Card.MakeWorkCard((char*)Marshal.StringToHGlobalAnsi("BD49CA0C").ToPointer());这样是不是会出现乱码?
      

  4.   

    public static extern int MakeWorkCard(byte [] SystemCode);
      

  5.   

    用unsafe代码
    public static extern int MakeWorkCard( byte* SystemCode);