阅读:1428回复:2
问一个smartcard驱动的基础问题,多谢
从DDK文档中知道smartcard driver是通过IOCTL与user mode的smartcard管理器进行通信的,那么如果我的smartcard是usb的,那么我只需要在driver中将从user mode发来的IOCTL命令进行适当的处理,或者从smartcard中读些数据,或者往smartcard中写些数据即可,这些读写数据的工作都可以由usb的相关函数来完成。
可是DDK中又给出了很多以Smartcard开头的函数,请问这些函数的作用是什么呢,如果smartcard的驱动和smartcard的硬件都是自己做,那么完全不需要这些函数就可以使驱动程序与smartcard的硬件进行通讯了。 对方要求这个smartcard的驱动符合pcsc规范,请问要符合pcsc规范就要调用DDK中以Smartcard开头的函数吗?为什么? 多谢回答! |
|
沙发#
发布于:2004-07-17 22:33
从DDK文档中知道smartcard driver是通过IOCTL与user mode的smartcard管理器进行通信的,那么如果我的smartcard是usb的,那么我只需要在driver中将从user mode发来的IOCTL命令进行适当的处理,或者从smartcard中读些数据,或者往smartcard中写些数据即可,这些读写数据的工作都可以由usb的相关函数来完成。 如果不使用ScartCardXXX函数,你又如何解释SmartCard Manger发来的命令,因为要遵循标准,应用程序是不会直接发命令给你的Driver的,它总是先调用SCardConnect,然后再调用SCardTransmit函数来于你的驱动通讯,所以在你的驱动中必然要使用SmartcardXXX函数来让Smartcard Manager知道你的这个读卡器存在,并且你的Driver可以解释Manager发来的命令。 其实Smartcard Driver很简单的,DDK中有一个USB Smartcard的例子,你可以仿照它来做。最主要的是要理解它的那三个数据结构的作用分别是用来描述驱动、读卡器和IC卡,然后就简单了很多。 |
|
板凳#
发布于:2004-07-18 22:24
多谢你的解释
|
|