如下是这个接口文档提供的部分函数:函数声明原型
16. 打开串口
int mif_selecom(int com,int baud);
17. 读卡
int tem_readmsdata(LPSTR BH, LPSTR buff);
返回4字符的门锁编号(不可见字符); int tem_readmsdata1(LPSTR BH, LPSTR buff)
返回8个字节字符的门锁编号(可见字符);18. 写卡
int tem_writemsdata(LPSTR BH, LPSTR fksj,int xh,int sjdw,int sjlength,bool gs)
写4字符的门锁编号(不可见字符);int tem_writemsdata1(LPSTR BH, LPSTR fksj,int xh,int sjdw,int sjlength,bool gs)
写8字节字符的门锁编号(可见字符):19. 关闭串口
int mif_closecom(void);我应该如何在我的asp.net中调用这些函数呢??
16. 打开串口
int mif_selecom(int com,int baud);
17. 读卡
int tem_readmsdata(LPSTR BH, LPSTR buff);
返回4字符的门锁编号(不可见字符); int tem_readmsdata1(LPSTR BH, LPSTR buff)
返回8个字节字符的门锁编号(可见字符);18. 写卡
int tem_writemsdata(LPSTR BH, LPSTR fksj,int xh,int sjdw,int sjlength,bool gs)
写4字符的门锁编号(不可见字符);int tem_writemsdata1(LPSTR BH, LPSTR fksj,int xh,int sjdw,int sjlength,bool gs)
写8字节字符的门锁编号(可见字符):19. 关闭串口
int mif_closecom(void);我应该如何在我的asp.net中调用这些函数呢??
然后:
你这个DLL是C++写的,C++中类型LPSTR其实就是char*类型。
而你这个调用的关键就是LPSTR类型不知道在C#用什么类型代替
可以用System.Text.StringBuilder str=new System.Text.StringBuilder(50);代替,这个我没有试过行不行,如果这个不行,可以试一下string 类型。如果还是不行,可以试一下这样在C#中定义指针:
unsafe
{
char b;
char *a=&b;
//可以在这里调用
}
这样就可以调用了,除了这个LPSTR的类型有点不一样之外,你就把这个DLL看做C#写的就可以了。
{
char b;
char *a=&b;
//可以在这里调用 //我应该在此直接调用函数名吗??如下:
b=mif_selecom(3,5);
//是这样吗??还是都要用C++得方式还是C#得方式(char *a 为什么a前面要加格*呢??)
}
可以这样试一下,char *a表示定义一个指针.
建议你用StringBuilder 或者 string 试一下,用这两个应该能满足你的要求了。