麻烦各位帮个忙啊,关于C#调用C动态库的问题,急啊!!!!!
调用总是报错。快急死了啊~~~~。附件里有我写的调用程序,里面有那个DLL文件
这是那个函数的说明:
---------------------------------------------------------------------------------------------------------------------------------
long LEDAPI LED_Open(const PDeviceParam param, long Notify, long Window, long Message);
该函数打开一个指定的通讯设备
参数:
param:
一个设备参数指针,该结构如下定义:
typedef struct DEVICEPARAM{
long devType; //device type
long speed; //speed only use for rs232
long locPort; //rs232: COM port UDP: local port
long rmtPort; //remote port only use for UDP
long reserved[8];
}TDeviceParam;
typedef TDeviceParam * PDeviceParam;
devType:
0: 通讯设备为RS-232
1: 通讯设备为UDP
Speed:
仅对RS-232有效,一般情况下主板的速度为 SBR_57600
locPort:
对RS-232设备,该参数为串口号
对UDP设备,该参数为本地端口号,一般该值为大于1024的数字
Remote:
仅对UDP方式有效,主板的固定端口为: 6666
reserved:
系统保留
Notify:
是否产生通知消息
1=产生通知消息
0=不产生通知消息
window:
接收通知消息的窗口句柄
Message:
消息标识
------------------------------------------------------------------------------------------------------------------------------
我是这样调用的
-------------------------------------------------------------------------------------------------------------------------------
public struct LEDDevice //数据结构
{
public long devType; //设备类型:0(通讯设备为RS-232);1(通讯设备为UDP)
public long speed; //波特率:仅对RS-232有效,一般情况下主板的速度为 57600
public long locPort; //端口号:对RS-232设备,该参数为串口号;对UDP设备,该参数为本地端口号,一般该值为大于1024的数字
public long rmtPort; //仅对UDP方式有效,主板的固定端口为: 6666
[MarshalAs(System.Runtime.InteropServices.UnmanagedType.ByValArray, SizeConst = 5)]
public long[] reserved; //系统保留
}
/////////////////////////////函数声明
[DllImport("LEDSender.dll", EntryPoint = "LED_Open", CharSet = CharSet.Unicode)]
public static extern int LED_Open(LEDDevice param, long Notify, long Window, long Message);
private void Form1_Load(object sender, EventArgs e)
{
LEDDevice param;
//初始化设备类型参数
param.devType = 1;//COM方式
param.speed = 57600;//波特率
param.locPort = 5;//串口号
param.rmtPort = 6666;
param.reserved = new long[] { };
int result = LED_Open(param, 1, 1, 1);/////调用
}
-------------------------------------------------------------------------------------------------------------------------------
请问函数中的各个变量该如何来赋值呢?
万分感谢啊!!!