接口实现(急!!!)
我有厂家提供的一个DLL,有接口如下: 
    int      Real_Query(HANDLE   icdev,REALTIMEDATA   &Query_Data) 
 typedef   struct   _RealTimeData 
 { 
 	UCHAR   SysStatus;   //系统硬件状态 
 	UCHAR   OutPutStatus;//继电器输出状态 
 	UCHAR   InputStatus;	//输入口状态 
 	short   Rec_Number;//记录总数 
 	long      user_snr;//卡流水号 
 	char      datetime[13];//打卡日期 
 	UCHAR   node;//打卡结点或读头号 
 }REALTIMEDATA;   
 功能:实时查询下位结点的打卡情况。 
 参数:   icdev:(in)串口设备句柄 
 			Query_Data:(out)REALTIMEDATA结构类型,返回实时数据 
 返回:   成功返回0     
 我如何才能在C#中实现啦?关键是结构体类型。
------解决方案--------------------typedef struct _RealTimeData 
 { 
 	UCHAR SysStatus; //系统硬件状态 
 	UCHAR OutPutStatus;//继电器输出状态 
 	UCHAR InputStatus;	//输入口状态 
 	short Rec_Number;//记录总数 
 	long  user_snr;//卡流水号 
 	char  datetime[13];//打卡日期 
 	UCHAR node;//打卡结点或读头号 
 }REALTIMEDATA;   
 对应   
 public struct RealTimeDate 
 { 
     public byte SysStatus; //系统硬件状态 
     public byte OutPutStatus;//继电器输出状态 
     public byte InputStatus;	//输入口状态 
     public Int16Rec_Number;//记录总数 
     public longuser_snr;//卡流水号 
     public string  datetime;//打卡日期 
     public byte node;//打卡结点或读头号   
 }
------解决方案--------------------我搜了一下看到下面这段文字,希望对你有用: 
 为了便于理解,我举个实例来展开论述。我们首先定义一个描述具体事物的结构体—— "611311班 "。  
 struct stuclass{  
 public string classname;  
 public object classmumber;  
 public int classnumber;  
 }  
 到目前为止,这个声明很像一个类。但是,下面你将看到在使用结构方面的许多限制。  
 客户不必对结构进行实例化(通过new关键字)。这是因为,作为一种值类型,结构一旦被声明,就被分配。  
 但是正是有了这种用法,所以我们如果不亲自对结构的成员进行显式的初始化(使用new关键字),那么字段就不会被初始化。如下面这段代码,编译将会出错:  
 stuclass s611311;  
 console.writeline(s611311.classname);  
 以下的代码将会纠正这个错误。注意,因为s611311.classname 是一个值类型,所以初始化模认为 0 ;  
 stuclass s611311 = new stuclass();  
 console.writeline(s611311.classname);