原函数
typdedef struct tagParam
{
char Port[3];
char CtrlID[3];
char Params[1024];
char IPPort[5];
char IPAddr[15];
}
unsigned short OpenComm(Params & lParam, int sType)
如下为我转换后的
[StructLayoutAttribute(LayoutKind.Sequential, CharSet = CharSet.Ansi, Pack = 1)]
        private struct Param
        {
            [MarshalAs(UnmanagedType.ByValTStr, SizeConst = 3)]
            public string Port;
            [MarshalAs(UnmanagedType.ByValTStr, SizeConst = 3)]
            public string CtrlID;
            [MarshalAs(UnmanagedType.ByValTStr, SizeConst = 1024)]
            public string Params;
            [MarshalAs(UnmanagedType.ByValTStr, SizeConst = 4)]
            public string IPPort;
            [MarshalAs(UnmanagedType.ByValTStr, SizeConst = 15)]
            public string IPAddr;
        } private short sType=401;        [DllImport("CM60.dll")]
        private static extern short OpenComm(ref Param par, short stype);      public short Open()
        {
            Param par = new Param();
            par.Port = "003";
            return OpenComm(ref par, sType);
        }
在调用Open()方法时一直不成功,请各位帮一下忙呀。不好意思没分了给我的点少哈