非常看不懂的一个问题,关于PKCS11在USB KEY中的应用,希望高手指点一下
本人现在需要实现一个功能,就是每次插入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); 之前 还要做点什么事吗?
请高手指点一下....