typedef struct {
int hr_min_sec; //1st byte:second, 2nd byte:minute, 3rd byte:hour
int micro_sec;
} S_Time;typedef struct {
int frame_id;
char DLC, RTR, FF;
unsigned char frame_data[8];
S_Time frame_time;
} S_CANframe;
这是我定义的结构体,在VC中的,同时还有这个函数:int CAN_frm_recv(S_CANframe **frame_buf),这个函数已经编写在VC中的MW70X.dll中了
请问一下,这个函数我在C#中怎么调用这个函数?
哪位大侠帮帮忙啊
int hr_min_sec; //1st byte:second, 2nd byte:minute, 3rd byte:hour
int micro_sec;
} S_Time;typedef struct {
int frame_id;
char DLC, RTR, FF;
unsigned char frame_data[8];
S_Time frame_time;
} S_CANframe;
这是我定义的结构体,在VC中的,同时还有这个函数:int CAN_frm_recv(S_CANframe **frame_buf),这个函数已经编写在VC中的MW70X.dll中了
请问一下,这个函数我在C#中怎么调用这个函数?
哪位大侠帮帮忙啊
[StructLayout(LayoutKind.Sequential)]
public struct S_Time
{
public int hr_min_sec;
public int micro_sec;
} [StructLayout(LayoutKind.Sequential)]
public struct S_CANframe
{
public int frame_id;
public char DLC, RTR, FF;
public uchar frame_data[8];
public S_Time frame_time
}
[StructLayout(LayoutKind.Sequential)]
public struct S_Time
{
public int hr_min_sec;
public int micro_sec;
} [StructLayout(LayoutKind.Sequential)]
public struct S_CANframe
{
public int frame_id;
public sbyte DLC, RTR, FF;
public byte frame_data[8];
public S_Time frame_time
}[DllImport("DataInterface.dll", EntryPoint = "CAN_frm_recv")]
public static extern int CAN_frm_recv([In,Out]S_CANframe frame_buf);
试一下吧!
public static extern int CAN_frm_recv(ref S_CANframe frame_buf);