求助,PB9.0二代公民身份证阅读器SDK调用

KevinRio 2012-03-15 04:59:08
函数定义
FUNCTION Int SDT_OpenPort(int intPort) LIBRARY 'sdtapi.dll'
FUNCTION Int SDT_ClosePort(int intPort) LIBRARY 'sdtapi.dll'
FUNCTION Int SDT_StartFindIDCard(int intPort , Ref String pucManaInfo , int intIfOpen ) LIBRARY 'sdtapi.dll'
FUNCTION Int SDT_SelectIDCard(int intPort , Ref String pucManaMsg , int intIfOpen ) LIBRARY 'sdtapi.dll'

FUNCTION Int SDT_ReadBaseMsg(int intPort , Ref String pucCHMsg , Ref uint puiCHMsgLen , Ref String pucPHMsg , Ref uint puiPHMsgLen , int intIfOpen) LIBRARY 'sdtapi.dll'


代码:
int li_ReturnCode , li_Port , li_IfOpen
string ls_pucManaInfo , ls_pucManaMsg,ls_pucCHMsg, ls_pucPHMsg
uint ll_puiCHMsgLen , ll_puiPHMsgLen

ls_pucManaInfo = space(4)
ls_pucManaMsg = space(8)
ls_pucCHMsg = space(512)
ls_pucPHMsg = space(1024)

li_Port = 1001
li_IfOpen = 0

// SDT_OpenPort , SDT_StartFindIDCard SDT_SelectIDCard 返回值均为成功

//读信息
li_ReturnCode = SDT_ReadBaseMsg( li_Port , ls_pucCHMsg , ll_puiCHMsgLen , ls_pucPHMsg , ll_puiPHMsgLen , li_IfOpen)

ls_pucCHMsg 返回“OFjE9"

请问如何处理返回值,读出信息?谢谢
...全文
420 15 打赏 收藏 转发到动态 举报
写回复
用AI写文章
15 条回复
切换为时间正序
请发表友善的回复…
发表回复
KevinRio 2012-03-20
  • 打赏
  • 举报
回复
等高手
KevinRio 2012-03-20
  • 打赏
  • 举报
回复
至今无解,再顶
KevinRio 2012-03-17
  • 打赏
  • 举报
回复
[Quote=引用 12 楼 wujiangfu 的回复:]
直接用公安部的DLL就行了。
[/Quote]

函数定义的 LIBRARY 'sdtapi.dll' 就是厂家提供的
阿富888 2012-03-17
  • 打赏
  • 举报
回复
直接用公安部的DLL就行了。
fjfzyufan 2012-03-17
  • 打赏
  • 举报
回复
调用DLL函数的String型参数出问题时, 我一般定义会Blob型,然后再想办法处理
sjlion 2012-03-16
  • 打赏
  • 举报
回复
照片用blob转换格式,另外需要注意传回数据的编码方式,unicode,ansi,多试下吧。没用过你说的这个,只是一般性建议
KevinRio 2012-03-16
  • 打赏
  • 举报
回复
将参数定义改为使用ref char pucCHMsg[512],ref char pucPHMsg[1024]

FUNCTION Int SDT_ReadBaseMsg(int intPort , Ref Char pucCHMsg[512] , Ref uint puiCHMsgLen , Ref Char pucPHMsg[1024] , Ref uint puiPHMsgLen , int intIfOpen) LIBRARY 'sdtapi.dll'

再对应修改调用代码后,可以读入字符串。现无法解析为汉字,试过ANSI和UNICODE都无用
KevinRio 2012-03-16
  • 打赏
  • 举报
回复
[Quote=引用 8 楼 lamar511 的回复:]
可以去问下 厂商那边有没有SDK,
找一下程序目录里面有没有新生成的文件,有些读卡器是生成数据文件,然后再解析的。
[/Quote]

有厂家的SDK和C的例程,这个读卡器是直接返回无符合字符指针数组。
DYFDWX 2012-03-16
  • 打赏
  • 举报
回复
楼上是华旭FDX3,有dll文件与开发文档吗?
我想要一份,dyfdwx@163.com,谢谢!!!
LamarChen 2012-03-16
  • 打赏
  • 举报
回复
可以去问下 厂商那边有没有SDK,
找一下程序目录里面有没有新生成的文件,有些读卡器是生成数据文件,然后再解析的。
KevinRio 2012-03-16
  • 打赏
  • 举报
回复
自己顶下
KevinRio 2012-03-15
  • 打赏
  • 举报
回复
[Quote=引用 2 楼 fuxiaoyang13 的回复:]
啥型号的机器?
[/Quote]

华旭FDX3
KevinRio 2012-03-15
  • 打赏
  • 举报
回复
[Quote=引用 1 楼 lamar511 的回复:]
"ls_pucPHMsg" 这个值什么结果?

好久之前做过,记得好像有一个转码的过程。。。。
[/Quote]

ls_pucPHMsg是返回照片,字符串显示"Wlf";

应该是需要一个转码过程,DLL返回的字符串流,不知道怎么处理
fuxiaoyang13 2012-03-15
  • 打赏
  • 举报
回复
啥型号的机器?
LamarChen 2012-03-15
  • 打赏
  • 举报
回复
"ls_pucPHMsg" 这个值什么结果?

好久之前做过,记得好像有一个转码的过程。。。。

1,079

社区成员

发帖
与我相关
我的任务
社区描述
PowerBuilder 相关问题讨论
社区管理员
  • 基础类社区
  • WorldMobile
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧