none
char* 指针在c#中的问题。 RRS feed

  • 问题

  • dll中有个函数,说明如下
    1)、int USB_RequestEx(char * Result) 
    2)、用途及说明:将寻卡、防冲撞、选定卡封装在一起。用于返回选定卡的序列号
    3)、参数:Result: 返回一个8位的卡id
         返回值:-1通讯错误,0无卡或数据错误,1成功2防冲撞失败,3选定卡失败,
    在c#中 [DllImport("fk_dll.dll", EntryPoint = "USB_RequestEx")]
            static extern int USB_RequestEx(out StringBuilder result);
     private void button2_Click(object sender, EventArgs e)
            {
           
                if (USB_RequestEx(out result) == 1)
                {
                    MessageBox.Show(result.ToString());
                }
                else
                {
                    MessageBox.Show("失败");
                }
            }
    运行到 if (USB_RequestEx(out result) == 1)时报错“尝试读取或写入受保护的内存。这通常指示其他内存已损坏。”
    请问有知道这是怎么回事吗?或者有知道怎么获得result的数据。谢谢了
    2011年8月2日 6:59

答案

全部回复