有一个vc函数,定义如下
typedef struct _GroupCard
 {
         DWORD cardNo;       
     WORD  reserved;   
WORD  wCardCount; 
_GroupCard  * pNext;       //pointer to the next group card.
  } TGroupCard, *PGroupCard;int GetCardReg(BYTE ComPort, BYTE CtrlID, WORD Offset, WORD GroupCount, WORD *GroupCountGet, TGroupCard *lpGroupCard);我想在c#中调用,应该怎么写接口函数?

解决方案 »

  1.   

    [设置下内存布局]
    struct GroupCard 

          public  int cardNo;      
          public  short  reserved;  
          public  short  wCardCount; 
          public  GroupCard pNext;      

    [DllImport("你的库")]
    public static extern int GetCardReg(byte ComPort, byte CtrlID, short Offset, short GroupCount, ref short GroupCountGet, TGroupCard lpGroupCard); 
      

  2.   

    wodegege10的答案行不通吧,c#在结构中如此定义会出现循环引用的编译错误,就是这个问题搞蒙了我
      

  3.   

    COMIMPORT
    interop交互调用,详细见WEBCAST课程讲解。