我现在要调用一个C 语句的动态库,但是转换的时候遇到点麻烦,
原型是int Syn_StartFindIDCard(int iPortID,unsigned char *pucManaInfo,int iIfOpen);
 [DllImport("Syn_IDCardRead.dll")]
public static extern int  Syn_StartFindIDCard(int iPortID, StringBuilder pucManaInfo, int iIfOpen);
虽然编译也能编译,但是运行的时候取不到pucManaInfo的值,所以想请教大家改如何定义

解决方案 »

  1.   


    5. 结构体声明
    typedef struct tagIDCardData{
    char Name[32]; //姓名
    char Sex[ 4]; //性别
    char Nation[6]; //名族
    char Born[18]; //出生日期
    char Address[72]; //住址
    char IDCard No[38]; //身份证号
    char GrantDept[32]; //发证机关
    char UserLifeBeg in[18]; //有效开始日期
    char UserLifeEnd[18]; //有效截止日期
    char reserved[38]; //保留
    char PhotoFileName[ 255]; //照片路径
    }IDCardData;int Syn_ReadMsg(int iPortID,int iIfOpen,IDCardData *pIDCardData);
    说明: 读取证/卡信息
    参数:iPort [in] 整数,表示端口号。参见7.1。
    iIfOpen [in] 整数,参见7.2。
    pIDCardData [out] IDCardData类型读出的数据这个该如何处理呢?