非常看不懂的一个问题,关于PKCS11在USB KEY中的应用,希望高手指点一下

shawscz 2009-05-06 05:24:11
本人现在需要实现一个功能,就是每次插入USB KEY后,读取硬件中唯一的序列号,所以用到了PKCS11.

我是使用OnDeviceChange消息来判断USB KEY的插入和拔出, 然后我用:

C_GetSlotList(TRUE, NULL_PTR, &ulCount);
去获得插槽个数, 然后再用函数
C_GetSlotList(TRUE, pSlotList, &ulCount);
去获得USB KEY中的信息.

现在的问题就是,程序在开始运行后. 第一次插入USB KEY, 函数C_GetSlotList检测到插槽个数为1, 相应的ulCount=1 ,然后我拔出再插入USB KEY , 函数C_GetSlotList居然检测不出, 所得到的ulCount = 0;

我郁闷啊,我的初始化C_Initialize(NULL_PTR)和销毁C_Finalize(NULL_PTR)都放在合理的地方,这个肯定没什么问题,难道在第二次调用 C_GetSlotList(TRUE, NULL_PTR, &ulCount); 之前 还要做点什么事吗?

请高手指点一下....
...全文
260 11 打赏 收藏 转发到动态 举报
写回复
用AI写文章
11 条回复
切换为时间正序
请发表友善的回复…
发表回复
shawscz 2009-05-12
  • 打赏
  • 举报
回复
问题已解决,错误不是以上的问题,而是另外的问题,揭贴!
shawscz 2009-05-12
  • 打赏
  • 举报
回复
是不是可以这样理解:
OnDeviceChange这个消息函数如果响应后,是不是会将插槽数清0.

那样的话,C_GetSlotList(TRUE, NULL_PTR, &ulCount); 就得不到有效的插槽数了?
CaiBirdy 2009-05-07
  • 打赏
  • 举报
回复
晕死了,原来我一个同事有了,真是舍近求远了
CaiBirdy 2009-05-07
  • 打赏
  • 举报
回复
能否吧PKCS11的文件发给我,谢谢啊
http://topic.csdn.net/u/20090507/10/f18d8cac-0b9a-4c30-9580-a8ac1c5c97c4.html
shawscz 2009-05-07
  • 打赏
  • 举报
回复
哎,高手快出现吧...急啊
TianChong 2009-05-07
  • 打赏
  • 举报
回复
这个还是使用DDK函数比较方便,当然本来和PKCS11是无关的,只是你要用也可以,我也有做USB插入并读取信息的软件,用于识别是否为合法的USB设备。但只用到DDK,这样明显稳定好维护,只是用到DDK的函数,但不用去写驱动的,所以很方便,用第三方的东西还是不建议。不过楼主同事都这么用的话,方便交流也是好事,这样倒是不反对。呵呵。
用户 昵称 2009-05-07
  • 打赏
  • 举报
回复
问一下,这好像只跟key插入有关吧,跟是否是pkcs11无关吧。
shawscz 2009-05-07
  • 打赏
  • 举报
回复
我再顶一下
shawscz 2009-05-06
  • 打赏
  • 举报
回复
再顶一下,以防沉没
shawscz 2009-05-06
  • 打赏
  • 举报
回复
自己顶一下!

2,640

社区成员

发帖
与我相关
我的任务
社区描述
VC/MFC 硬件/系统
社区管理员
  • 硬件/系统社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

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