__int16 dc_pro_commandlink(HANDLE ICDev,unsigned char slen,unsigned char * sbuff,unsigned char *rlen,unsigned char * rbuff,unsigned char tt,unsigned char FG)说明:应用协议数据单元信息交换函数。该函数已封装T=CL操作调用:int ICDev ----dc_init 函数返回的端口标识符      unsigned char slen ---- 发送的信息长度      unsigned char * sbuff ---- 存放要发送的信息      unsigned char *rlen ---- 返回信息的长度      unsigned char * rbuff ---- 存放返回的信息      unsigned char tt---- 延迟时间,单位为:10ms      unsigned char FG---- 分割长度。建议此值小于64返回: <0 错误。其绝对值为错误号      =0 成功。举例:int st;      unsigned char slen,rlen,sneddata[100], recdata[100];       slen=5;      senddata[0]=0x00;senddata[1]=0x84;senddata[2]=0x00;      senddata[3]=0x00;senddata[4]=0x04;      st= dc_pro_commandlink ( icdev,slen,senddata,&rlen,recdata,7,56)  // 对卡发取随机数命令 将这个命令转换成C#,应该怎么写

解决方案 »

  1.   

    不太明白你的意思, 是将C/C++的函数签名写成C#的格式吗?UInt16 dc_pro_commandlink(int ICDev, byte slen, byte[] sbuff, byte[] rlen, byte[] rbuff, byte tt, byte FG)
      

  2.   

    在C#这样定义:[DllImport("xxx.dll",EntryPoint = "dc_pro_commandlink",CallingConvention= CallingConvention.Cdecl)]
    public static extern short (IntPtr ICDev,byte slen,byte[] sbuff,ref byte rlen,[In,Out]byte[]rbuff,byte tt,byte FG)
      

  3.   

    喔,漏了函数名称:[DllImport("xxx.dll",EntryPoint = "dc_pro_commandlink",CallingConvention= CallingConvention.Cdecl)]
    public static extern short dc_pro_commandlink(IntPtr ICDev,byte slen,byte[] sbuff,ref byte rlen,[In,Out]byte[]rbuff,byte tt,byte FG)