VB 调用动态库
如题,需要用VB做一个应用程序的接口
对方提供了一文档如下。
动态库名称:ICCInter.dll
Int IC_Readinfo(unsigned char *OutData)
函数说明:读卡信息
输入值:无
输出值:OutData,返回卡信息,每个字段之间用~分隔
返回值:=0 表示成功
<0 表示失败
OutData(输入值):
序号 数据项 备注
1 卡号 20位(每卡唯一)
2 姓名
3 证件号码
4 类型
5 性别
6 接触式卡号
返回码
状态 定义
0 正常
-200 打开错误
-201 关闭错误
以上是提供的接口文档,我是初学者,希望大家能用VB写点代码给予提示
谢谢了
VB?接口
[解决办法]
声明的方式有两种:
1
Public Declare Function IC_Readinfo Lib "ICCInter.dll" (OutData as Byte) As Long
Dim od(255) As Byte, Ret As Long, CardInfo As String
Ret = IC_Readinfo(od(0))
If Ret = 0 Then CardInfo = StrConv(od, vbUnicode)
2 如果确信返回值都是可打印字符
Public Declare Function IC_Readinfo Lib "ICCInter.dll" (OutData as String) As Long
Dim CardInfo As String, Ret As Long
CardInfo = String(256, Chr(0))
Ret = IC_Readinfo(CardInfo)
现在缺几个 API 信息:
* OutData 的最大长度(假定不超过 256 字节)
* OutData 各个域的长度
另外,“位”的说法很外行,应该不是指比特,如果输出是字符串,应该是字符数,或字节数。
[解决办法]
我喜欢off123的第一种方法。