VC++结构体定义
typedef struct _RESPONDDATA
{
WORD rdAddress; //设备地址
WORD rdPacketNum;         //数据包号
WORD rdLength; //返回的数据长度
BYTE rdRespond; //应答内容,DEV_ACK或DEV_NACK
BYTE rdCmdCode; //命令代码
BYTE rdData[RECV_BUFFER_SIZE];               //返回的数据内容
} RESPONDDATA, *PRESPONDDATA;接口声明:FUNEXPORT RESPONDDATA WINAPI LS_GetRespondData()现在我要用C#调用这个方法,可是一运行就报“方法的类型签名与 PInvoke 不兼容。”这个错误我在C#中是这样定义的
结构体:
    [StructLayout(LayoutKind.Sequential, CharSet = CharSet.Ansi)] 
    public struct RespondData
    {
         public Int16 rdAddress;
        public Int16 rdPacketNum;
        public Int16 rdLength;
        public Byte rdRespond;
        public Byte rdCmdCode;        [MarshalAs(UnmanagedType.ByValArray,SizeConst=4096)]
        public Byte[] rdData;
    }当时在调用这个方法的时候就报错了,请高手指点一下。